This commit is contained in:
mmrbnjd
2024-11-15 18:38:55 +03:30
parent e5e36e34c0
commit 6fe0cee3ef
17 changed files with 304 additions and 78 deletions

View File

@@ -93,7 +93,8 @@ builder.Services.AddCors(options =>
{
policy.WithOrigins("https://localhost:7224", "http://localhost:5107"
, "http://195.88.208.142", "http://moadiran.ir"
, "https://195.88.208.142", "https://moadiran.ir")
, "https://195.88.208.142", "https://moadiran.ir"
, "https://195.88.208.142:440", "https://moadiran.ir:440")
.AllowAnyHeader()
.WithHeaders(HeaderNames.ContentType)
.AllowAnyMethod();

File diff suppressed because one or more lines are too long

View File

@@ -34,10 +34,6 @@
@code{
public string description { get; set; } = "سامانه ای برای مدیریت صورتحساب های فروش با الگوی سازمان امورمالیاتی کشور و ارسال صورت حساب به سامانه مودیان";
protected override async Task OnInitializedAsync()
{
await fv.SetUlr("Main");
await base.OnInitializedAsync();
}
}

View File

@@ -198,18 +198,25 @@
@code {
public int countnot = 0;
private Modal modal = default!;
// public DashBoardDTO? dashBoard { get; set; }
// public DashBoardDTO? dashBoard { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if(firstRender)
await fv.SetUlr("Panel");
await base.OnAfterRenderAsync(firstRender);
}
protected override async Task OnInitializedAsync()
{
await fv.SetUlr("Panel");
if (!await localserv.OnlineUser())
nav.NavigateTo("/");
if (await localserv.OnlineUser())
{
await fv.LoadDashBoard();
if (fv.dashBoard != null)
countnot = fv.dashBoard.Notifications.Count();
await base.OnInitializedAsync();
}
await fv.LoadDashBoard();
if (fv.dashBoard != null)
countnot = fv.dashBoard.Notifications.Count();
await base.OnInitializedAsync();
}
}
@functions {
@@ -238,6 +245,6 @@
_hc.DefaultRequestHeaders.Clear();
await Storage.RemoveItem("token");
userinfo.Token = "";
nav.NavigateTo("/");
nav.NavigateTo("/Sign-in");
}
}

View File

@@ -1,6 +1,6 @@
@inject Services.localService servlocal;
@page "/"
<Modal Size="ModalSize.Regular" @ref="modal" />
@inject NavigationManager nav
@page "/Home"
<PageTitle>مُؤدیٰران (مدیریت صورتحساب ها)</PageTitle>
@using Front.CUSComponent
@@ -439,13 +439,3 @@
@code {
private Modal modal = default!;
public async Task load(int ID)
{
// var parameters = new Dictionary<string, object>();
// await modal.ShowAsync<ByHome>(title: "صحبت مدیر", parameters: parameters);
}
}

View File

@@ -4,7 +4,7 @@
@inject HttpClient _hc
@inject NavigationManager nav
@inject localService localserv;
<PageTitle>ثبت نام</PageTitle>
<PageTitle>مودیران / ثبت نام</PageTitle>
<main>
<!-- tp-banner-area-start -->

View File

@@ -7,7 +7,7 @@
@inject localService localserv;
@inject HttpClient _hc
@inject NavigationManager nav
<PageTitle>ورود</PageTitle>
<PageTitle>مودیران / ورود</PageTitle>
<main>

View File

@@ -1,4 +1,5 @@
@page "/Panel"
@page "/"
@using Front.Services
@using Shared
@using Shared.DTOs
@@ -8,7 +9,7 @@
@inject HttpClientController hc;
@inject Fixedvalues fv;
<PageTitle>کاربری</PageTitle>
<PageTitle>مودیران / کاربری</PageTitle>
<Toasts class="p-3" Messages="messages" AutoHide="true" Delay="delaymessage" Placement="ToastsPlacement.BottomLeft" />
<div class="row">
@@ -406,19 +407,21 @@
protected override async Task OnInitializedAsync()
{
if (!await localserv.OnlineUser())
nav.NavigateTo("/");
await fv.LoadDashBoard();
if (fv.dashBoard != null)
foreach (var war in fv.dashBoard.Warning)
ShowMessage((ToastType)Enum.Parse(typeof(ToastType), war.Status.ToString()), war.Message);
if (await localserv.OnlineUser())
{
await fv.LoadDashBoard();
if (fv.dashBoard != null)
foreach (var war in fv.dashBoard.Warning)
ShowMessage((ToastType)Enum.Parse(typeof(ToastType), war.Status.ToString()), war.Message);
delaymessage = messages.Count * 5000;
//var rsp = await hc.Get("User/GetDashBoard");
// if (rsp.IsSuccessStatusCode)
// {
// dashBoard = await rsp.Content.ReadFromJsonAsync<DashBoardDTO>();
// }
delaymessage = messages.Count * 5000;
}
else
{
nav.NavigateTo("/Sign-in");
}
await base.OnInitializedAsync();
}
}

View File

@@ -3,7 +3,7 @@
@inject HttpClient _hc
@inject NavigationManager nav
@inject UserAuthenticationDTO userinfo
<PageTitle>احراز هویت</PageTitle>
<PageTitle>مودیران / احراز هویت</PageTitle>
<Toasts class="p-3" Messages="messages" AutoHide="true" Delay="5000" Placement="ToastsPlacement.BottomLeft" />
<main>

View File

@@ -26,10 +26,9 @@
</svg>
<div class="loading-progress-text"></div>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
خطایی در بارگذاری رخ داده
<a href="" class="reload">بارگذاری مجدد</a>
<a class="dismiss">🗙</a>
</div>
<script src="_framework/blazor.webassembly.js"></script>

View File

@@ -6,7 +6,30 @@
<NotFound>
<PageTitle>Not found</PageTitle>
<LayoutView Layout="@typeof(MainLayout)">
<p role="alert">Sorry, there's nothing at this address.</p>
<main>
<div class="tp-error-area tp-error-ptb p-relative">
<div class="tp-error-left-shape">
<img src="img/login/error-shape.png" alt="">
</div>
<div class="container">
<div class="row">
<div class="col-xl-12">
<div class="tp-error-content-box text-center mb-40">
<img src="img/login/text-404.png" alt="">
</div>
<div class="tp-error-text-box text-center">
<h4 class="error-title-sm">صفحه پیدا نشد</h4>
<p>صفحه ای که به دنبال آن هستید، یافت نشد</p>
<a class="tp-btn-inner tp-btn-hover alt-color-black" href="#">
<span> برگشت به صفحه اصلی</span>
<b style="top: -8.02078px; left: 116.625px;"></b>
</a>
</div>
</div>
</div>
</div>
</div>
</main>
</LayoutView>
</NotFound>
</Router>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@

@inject Fixedvalues fv;
@page "/"
@using moadiran.Layout
<PageTitle>مُؤدیٰران (مدیریت صورتحساب ها)</PageTitle>
@@ -46,8 +46,8 @@
<p class="wow tpfadeUp" data-wow-duration=".9s" data-wow-delay=".7s">
مدیریت صورتحساب ها و ارسال به سامانه مودیان
</p>
<NavLink class="tp-btn" href="Sign-in">
<NavLink class="tp-btn" href="https://moadiran.ir:440/Sign-in">
<span>شروع کنید</span>
<b></b>
</NavLink>
@@ -211,8 +211,8 @@
</ul>
</div>
<div class="tp-about__btn">
<NavLink class="tp-btn" href="Sign-in">
<NavLink class="tp-btn" href="https://moadiran.ir:440/Sign-in">
<span>شروع کنید</span>
<b></b>
</NavLink>
@@ -369,8 +369,8 @@
<div class="tp-service__dashboard" data-background="image.jpg" style="background-image: url('img/service/sv-bg.jpg');">
<div class="tp-service__top-content">
<p>راه حلی برای مدیریت بهتر صورتحساب ها</p>
<NavLink class="tp-btn-orange" href="Sign-in">
<NavLink class="tp-btn-orange" href="https://moadiran.ir:440/Sign-in">
<span>شروع کنید</span>
<b></b>
</NavLink>
@@ -386,30 +386,15 @@
</div>
</div>
</div>
<!-- tp-services-area-end -->
<!-- -->
<div style="-webkit-filter: blur(3px); opacity: .8;">
<!-- tp-price-area-start -->
<Price />
<!-- tp-price-area-end -->
<!-- tp-rank-area-start -->
<div style="-webkit-filter: blur(3px); opacity: .8;">
<Price />
</div>
<Rank />
<!-- tp-rank-area-end -->
<!-- tp-TaxTools-start-->
<TaxTools />
<!--tp-TaxTools-end-->
<!-- tp-question-start-->
<LQuestion PageIndex="1" />
<!--tp-question-end-->
<!-- tp-project-area-start -->
<Blog />
<!-- tp-project-area-end -->
<!-- tp-contact-area-Start -->
<Contact />
<!-- tp-contact-area-end -->
</main>

View File

@@ -0,0 +1,211 @@
@using global::Shared.DTOs
@page "/Verification/{ID:int}"
@inject HttpClient _hc
@inject NavigationManager nav
<PageTitle>مودیران / احراز هویت</PageTitle>
<Toasts class="p-3" Messages="messages" AutoHide="true" Delay="5000" Placement="ToastsPlacement.BottomLeft" />
<main>
<!-- tp-banner-area-start -->
<div class="signin-banner-area signin-banner-main-wrap d-flex align-items-center">
<div class="signin-banner-left-box signin-banner-bg p-relative">
<div class="signin-banner-bottom-shape">
<img src="img/login/login-shape-1.png" alt="">
</div>
<div class="signin-banner-left-wrap">
<div class="signin-banner-title-box mb-100">
<br />
<h4 class="signin-banner-title" style="color:black">
لطفا کد ارسالی را وارد نمایید
</h4>
</div>
<div class="signin-banner-img-box position-relative">
<div class="signin-banner-img signin-img-1 d-none d-md-block z-index-3">
<img src="img/login/login-2.png" alt="">
</div>
<div class="signin-banner-img signin-img-2 d-none d-md-block">
<img src="img/login/login-1.png" alt="">
</div>
<div class="signin-banner-img signin-img-3 d-none d-md-block z-index-5">
<img src="img/login/login-3.png" alt="">
</div>
<div class="signin-banner-img signin-img-4 d-none d-sm-block">
<img src="img/login/login-4.png" alt="">
</div>
</div>
</div>
</div>
<div class="signin-banner-from d-flex justify-content-center align-items-center">
<div class="signin-banner-from-wrap">
<div class="signin-banner-title-box">
<h4 class="signin-banner-from-title">احراز هویت</h4>
</div>
<div class="signin-banner-from-box">
<EditForm Model="VerificationCodeModel" OnSubmit="SubmitVerificationCode" FormName="VerificationCodeDto">
<div class="row">
<div class="col-10">
<div class="postbox__comment-input mb-30">
<InputText @bind-Value="valueCode" style="text-align: center" id="Code" type="number" class="inputText" required="" />
<span class="floating-label">کد تائید</span>
</div>
</div>
<div class="col-md-2" style="align-content:center">
<Spinner Visible="SpinnerVisible" Color="SpinnerColor.Primary" />
</div>
<div class="signin-banner-from-btn mb-20">
<button hidden="@hidden" type="submit" class="signin-btn">احراز</button>
</div>
</div>
</EditForm>
<div class="row">
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
<Icon Name="@alertIconName" class="me-2"></Icon>
@alertMessage
<Button Color="ButtonColor.Primary" @onclick="EndForm">اتمام عملیات</Button>
</Alert>
</div>
<div class="signin-banner-from-register">
<NavLink hidden="@hidden" style="cursor:pointer" @onclick="ReSend">کد ارسال نشد؟ <span>ارسال مجدد</span></NavLink>
</div>
</div>
</div>
</div>
</div>
<!-- tp-banner-area-end -->
</main>
@code {
List<ToastMessage> messages = new List<ToastMessage>();
public string hidden { get; set; }
public bool SpinnerVisible { get; set; } = false;
public string valueCode { get; set; }
bool successfull = false;
// alert
AlertColor alertColor = AlertColor.Primary;
IconName alertIconName = IconName.CheckCircleFill;
bool Hidealert = true;
string alertMessage = "";
private void ShowMessage(ToastType toastType, string Message) => messages.Add(CreateToastMessage(toastType, Message));
[Parameter]
public int ID { get; set; }
[SupplyParameterFromForm]
public VerificationCodeDto? VerificationCodeModel { get; set; } = new VerificationCodeDto();
protected override async Task OnParametersSetAsync()
{
var request = await _hc.GetAsync($"Verification/GetVerification/{ID}");
if (request.IsSuccessStatusCode)
{
VerificationCodeModel = await request.Content.ReadFromJsonAsync<VerificationCodeDto>();
}
else
{
nav.NavigateTo($"/");
}
hidden = null;
SpinnerVisible = false;
await base.OnParametersSetAsync();
}
}
@functions {
private async Task ReSend()
{
hidden = "hidden";
SpinnerVisible = !SpinnerVisible;
var request = await _hc.GetAsync($"Verification/ReSend/{VerificationCodeModel?.ID}");
if (request.IsSuccessStatusCode)
{
ShowSuccessAlert("کد مجدد ارسال شد");
}
else
{
var listerror = await request.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(listerror[0]);
}
SpinnerVisible = !SpinnerVisible;
hidden = null;
}
private async Task SubmitVerificationCode()
{
hidden = "hidden";
SpinnerVisible = !SpinnerVisible;
if (!int.TryParse(valueCode, out int code))
return;
VerificationCodeModel.Code = code;
if (VerificationCodeModel.Code < 1000 || VerificationCodeModel.Code > 9000)
{
ShowDangerAlert("کد احراز صحیح نمی باشد");
}
else
{
var request = await _hc.PostAsJsonAsync($"Verification/Submit", VerificationCodeModel);
if (request.IsSuccessStatusCode)
{
var status = await request.Content.ReadFromJsonAsync<bool>();
if (status)
{
nav.NavigateTo("/");
}
else
{
ShowDangerAlert("خطای سیستمی رخ داده");
}
}
else
{
var listerror = await request.Content.ReadFromJsonAsync<List<string>>();
ShowDangerAlert(listerror[0]);
}
}
SpinnerVisible = !SpinnerVisible;
hidden = null;
}
private void ShowSuccessAlert(string msg)
{
Hidealert = false;
alertColor = AlertColor.Success;
alertIconName = IconName.CheckCircleFill;
alertMessage = msg;
}
private void ShowDangerAlert(string msg)
{
Hidealert = false;
alertColor = AlertColor.Danger;
alertIconName = IconName.ExclamationTriangleFill;
alertMessage = msg;
}
private async Task EndForm()
{
if (!successfull)
await _hc.DeleteAsync($"Verification/Remove/{VerificationCodeModel?.ID}");
if (VerificationCodeModel.Type == "ChangeUserName")
nav.NavigateTo("/Profile");
nav.NavigateTo("/");
}
private ToastMessage CreateToastMessage(ToastType toastType, string Message)
=> new ToastMessage
{
Type = toastType,
Message = Message,
};
}

View File

@@ -1,7 +1,7 @@
@using Microsoft.AspNetCore.Components.Web
@namespace moadiran.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@inject Fixedvalues fv;
<!DOCTYPE html>
<html class="no-js" lang="zxx" dir="rtl">
@@ -31,12 +31,12 @@
<div id="blazor-error-ui">
<environment include="Staging,Production">
An error has occurred. This application may no longer respond until reloaded.
خطایی در بارگذاری رخ داده
</environment>
<environment include="Development">
An unhandled exception has occurred. See browser dev tools for details.
</environment>
<a href="" class="reload">Reload</a>
<a href="" class="reload">بارگذاری مجدد</a>
<a class="dismiss">🗙</a>
</div>

View File

@@ -34,10 +34,13 @@
</div>
@code {
public string description { get; set; } = "سامانه ای برای مدیریت صورتحساب های فروش با الگوی سازمان امورمالیاتی کشور و ارسال صورت حساب به سامانه مودیان";
protected override async Task OnInitializedAsync()
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if(firstRender)
await fv.SetUlr("Main");
await base.OnInitializedAsync();
await base.OnAfterRenderAsync(firstRender);
}
}

View File

@@ -12,5 +12,10 @@
<ItemGroup>
<ProjectReference Include="..\Shared\Shared.csproj" />
</ItemGroup>
<ItemGroup>
<Content Update="Pages\Verification.razor">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</Content>
</ItemGroup>
</Project>