last
This commit is contained in:
@@ -1,34 +1,36 @@
|
||||
using Front.Services;
|
||||
using Shared.DTOs;
|
||||
using System.Net.Http.Json;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace Front
|
||||
{
|
||||
public class Fixedvalues
|
||||
{
|
||||
public readonly HttpClientController _hc;
|
||||
private List<ForCustomerSearch>? Cus=null;
|
||||
private List<ForCustomerSearch>? Cus = null;
|
||||
private List<IdName<int>>? Patterns = null;
|
||||
private List<IdName<int>>? Units = null;
|
||||
private List<CODIdName<int>>? Cods = null;
|
||||
private CompanyDTO? InfoCompany = null;
|
||||
public InvoiceDTO? invoice { get; set; }=null;
|
||||
public InvoiceDTO? invoice { get; set; } = null;
|
||||
private DashBoardDTO? dashBoard { get; set; } = null;
|
||||
public Fixedvalues(HttpClientController hc)
|
||||
{
|
||||
_hc = hc;
|
||||
}
|
||||
public async Task<List<ForCustomerSearch>?> GetCustomers()
|
||||
{
|
||||
if (Cus == null)
|
||||
{
|
||||
if (Cus == null)
|
||||
{
|
||||
var request = await _hc.Get($"Customer/GetAllForidName");
|
||||
if (request.IsSuccessStatusCode)
|
||||
{
|
||||
Cus= await request.Content.ReadFromJsonAsync<List<ForCustomerSearch>>();
|
||||
Cus = await request.Content.ReadFromJsonAsync<List<ForCustomerSearch>>();
|
||||
}
|
||||
}
|
||||
|
||||
return Cus;
|
||||
|
||||
return Cus;
|
||||
|
||||
|
||||
}
|
||||
@@ -49,12 +51,12 @@ namespace Front
|
||||
}
|
||||
public async Task<List<IdName<int>>?> GetPatterns()
|
||||
{
|
||||
if (Patterns==null)
|
||||
if (Patterns == null)
|
||||
{
|
||||
var request = await _hc.Get($"Invoice/GetPatterns");
|
||||
if (request.IsSuccessStatusCode)
|
||||
{
|
||||
Patterns =await request.Content.ReadFromJsonAsync<List<IdName<int>>>();
|
||||
Patterns = await request.Content.ReadFromJsonAsync<List<IdName<int>>>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,5 +91,19 @@ namespace Front
|
||||
|
||||
return dashBoard;
|
||||
}
|
||||
public async Task<List<IdName<int>>> GetUnits()
|
||||
{
|
||||
if (Units == null)
|
||||
{
|
||||
var rsp = await _hc.Get("COD/GetUnits");
|
||||
if (rsp.IsSuccessStatusCode)
|
||||
{
|
||||
Units = await rsp.Content.ReadFromJsonAsync<List<IdName<int>>>();
|
||||
}
|
||||
}
|
||||
return Units;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
109
TaxPayerFull/Layout/LastActivityServices.razor
Normal file
109
TaxPayerFull/Layout/LastActivityServices.razor
Normal file
@@ -0,0 +1,109 @@
|
||||
@using Front.Services
|
||||
@using Shared.DTOs
|
||||
@inject HttpClientController hc;
|
||||
@inject Fixedvalues fv;
|
||||
<Modal @ref="cusmodal" />
|
||||
<Modal @ref="codmodal" />
|
||||
<div class="col-md-6 col-lg-4 col-xl-4 order-0 mb-4">
|
||||
<div class="card h-51">
|
||||
<div class="card-header d-flex align-items-center justify-content-between pb-0">
|
||||
<div class="card-title mb-0">
|
||||
<h5 class="m-0 me-2">آخرین</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<div class="d-flex flex-column align-items-center gap-1">
|
||||
</div>
|
||||
<div id="orderStatisticsChart"></div>
|
||||
</div>
|
||||
<ul class="p-0 m-0">
|
||||
@if (dashBoard!=null && dashBoard.lastActivitiesSevices.Any(w => w.PermissionID == 3))
|
||||
{
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0"><img src="assets/img/icons/unicons/cc-success.png" alt="User" class="rounded"></div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
@{int invoid = Convert.ToInt32(dashBoard?.lastActivitiesSevices.Where(w => w.PermissionID == 3).Select(s => s.ID).First());}
|
||||
|
||||
<button @onclick="()=>InvoiceItem(invoid)" type="button" class="btn btn-link">صورتحساب</button>
|
||||
<small>مربوط به مشتری @dashBoard?.lastActivitiesSevices.Where(w => w.PermissionID == 3).Select(s => s.Name).First() در وضعیت @dashBoard.lastActivitiesSevices.Where(w => w.PermissionID == 3).Select(s => s.TypeTitle).First()</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
}
|
||||
@if (dashBoard != null && dashBoard.lastActivitiesSevices.Any(w => w.PermissionID == 4))
|
||||
{
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0"><img src="assets/img/icons/unicons/wallet-info.png" alt="chart success" class="rounded"></div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
@{
|
||||
int codid = Convert.ToInt32(dashBoard?.lastActivitiesSevices.Where(w => w.PermissionID == 4).Select(s => s.ID).First());
|
||||
}
|
||||
<button @onclick="()=>CODItem(codid)" type="button" class="btn btn-link">کالا</button>
|
||||
|
||||
<small>با عنوان @dashBoard?.lastActivitiesSevices.Where(w => w.PermissionID == 4).Select(s => s.Name).First()</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
}
|
||||
@if (dashBoard != null && dashBoard.lastActivitiesSevices.Any(w => w.PermissionID == 8))
|
||||
{
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0"><img src="assets/img/icons/unicons/cc-primary.png" alt="chart success" class="rounded"></div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
@{ int cusid = Convert.ToInt32(dashBoard?.lastActivitiesSevices.Where(w => w.PermissionID == 8).Select(s => s.ID).First());}
|
||||
<button @onclick="()=>CustomerItem(cusid)" type="button" class="btn btn-link">مشتری</button>
|
||||
<small>با نام @dashBoard?.lastActivitiesSevices.Where(w => w.PermissionID == 8).Select(s => s.Name).First()</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter] public DashBoardDTO? dashBoard { get; set; }
|
||||
private Modal cusmodal = default!;
|
||||
private Modal codmodal = default!;
|
||||
}
|
||||
@functions{
|
||||
public async Task CallBackCustomerItem(ActionInResultComponent result)
|
||||
{
|
||||
|
||||
}
|
||||
public async Task InvoiceItem(int ID) => hc._nav.NavigateTo($"InvoiceDetails/{ID}");
|
||||
public async Task CustomerItem(int ID)
|
||||
{
|
||||
var rsp = await hc.Get($"Customer/GetCustomer/{ID}");
|
||||
if (rsp.IsSuccessStatusCode)
|
||||
{
|
||||
var cus = await rsp.Content.ReadFromJsonAsync<RCustomer>();
|
||||
var parameters = new Dictionary<string, object>();
|
||||
parameters.Add("Cus", cus);
|
||||
parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create<ActionInResultComponent>(this, CallBackCustomerItem));
|
||||
await cusmodal.ShowAsync<CUSComponent.CustomerItem>(title: "ویرایش اطلاعات", parameters: parameters);
|
||||
}
|
||||
}
|
||||
public async Task CallBackCodItem(ActionInResultComponent result){}
|
||||
public async Task CODItem(int ID){
|
||||
var rsp = await hc.Get($"Cod/GetCod/{ID}");
|
||||
if (rsp.IsSuccessStatusCode)
|
||||
{
|
||||
var cod = await rsp.Content.ReadFromJsonAsync<RCOD>();
|
||||
var parameters = new Dictionary<string, object>();
|
||||
var Unitrequest = await fv.GetUnits();
|
||||
parameters.Add("Cod", cod);
|
||||
parameters.Add("Unitrequest", Unitrequest);
|
||||
parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create<ActionInResultComponent>(this, CallBackCodItem));
|
||||
await codmodal.ShowAsync<CUSComponent.CodItem>(title: "ویرایش اطلاعات", parameters: parameters);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@@ -72,16 +72,16 @@
|
||||
vraArray = fv.invoice.items.Select(s => s.vra?.ToString("N0")).ToArray();
|
||||
|
||||
|
||||
//How to activate
|
||||
Stimulsoft.Base.StiLicense.Key =
|
||||
"6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k" +
|
||||
"4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Ux" +
|
||||
"a30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1" +
|
||||
"xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/C" +
|
||||
"jX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLr" +
|
||||
"pU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0" +
|
||||
"Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dw" +
|
||||
"Ms2fQ0yOUG/xornE";
|
||||
// //How to activate
|
||||
// Stimulsoft.Base.StiLicense.Key =
|
||||
// "6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k" +
|
||||
// "4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Ux" +
|
||||
// "a30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1" +
|
||||
// "xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/C" +
|
||||
// "jX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLr" +
|
||||
// "pU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0" +
|
||||
// "Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dw" +
|
||||
// "Ms2fQ0yOUG/xornE";
|
||||
//var licenseStream = await Http.GetStreamAsync("Secret/license.key");
|
||||
//Stimulsoft.Base.StiLicense.LoadFromStream(licenseStream);
|
||||
|
||||
|
@@ -4,6 +4,7 @@
|
||||
@using Front.CUSComponent
|
||||
@using Shared.DTOs.Serch
|
||||
@inject HttpClientController hc;
|
||||
@inject Fixedvalues fv;
|
||||
<PageTitle>کالا</PageTitle>
|
||||
<Modal @ref="modal" />
|
||||
|
||||
@@ -125,11 +126,9 @@
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
var rsp = await hc.Get("COD/GetUnits");
|
||||
if (rsp.IsSuccessStatusCode)
|
||||
{
|
||||
Unitrequest = await rsp.Content.ReadFromJsonAsync<List<IdName<int>>>();
|
||||
}
|
||||
|
||||
Unitrequest =await fv.GetUnits();
|
||||
|
||||
await base.OnInitializedAsync();
|
||||
}
|
||||
protected override async Task OnParametersSetAsync()
|
||||
|
@@ -331,9 +331,9 @@
|
||||
<Button class="mt-3" Color="ButtonColor.Danger" @onclick="ShowConfirmationDeleteAsync" Type="ButtonType.Button">
|
||||
حذف
|
||||
</Button>
|
||||
<Button class="mt-3" Color="ButtonColor.Primary" @onclick="ShowReport" Type="ButtonType.Button">
|
||||
@* <Button class="mt-3" Color="ButtonColor.Primary" @onclick="ShowReport" Type="ButtonType.Button">
|
||||
چاپ
|
||||
</Button>
|
||||
</Button> *@
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -38,7 +38,7 @@
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img src="assets/img/icons/unicons/chart-success.png" alt="chart success" class="rounded">
|
||||
<img src="assets/img/icons/unicons/cc-success.png" alt="User" class="rounded">
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<button class="btn p-0" type="button" id="cardOpt3" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
@@ -387,93 +387,7 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Order Statistics -->
|
||||
<div class="col-md-6 col-lg-4 col-xl-4 order-0 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-header d-flex align-items-center justify-content-between pb-0">
|
||||
<div class="card-title mb-0">
|
||||
<h5 class="m-0 me-2">آمار سفارش</h5>
|
||||
<small class="text-muted">42.82هزار کل فروش</small>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<button class="btn p-0" type="button" id="orederStatistics" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="bx bx-dots-vertical-rounded"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu dropdown-menu-start new-style-17" aria-labelledby="orederStatistics">
|
||||
<a class="dropdown-item" href="javascript:void(0);">انتخاب همه</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);">تازه کردن</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);">اشتراک</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<div class="d-flex flex-column align-items-center gap-1">
|
||||
<h2 class="mb-2">8,258</h2>
|
||||
<span>کل سفارشات</span>
|
||||
</div>
|
||||
<div id="orderStatisticsChart"></div>
|
||||
</div>
|
||||
<ul class="p-0 m-0">
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-primary"><i class='bx bx-mobile-alt'></i></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">الکترونیک</h6>
|
||||
<small class="text-muted">موبایل، هدفون، تلویزیون</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-semibold">82.5هزار</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-success"><i class='bx bx-closet'></i></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">فشن</h6>
|
||||
<small class="text-muted">تی شرت، شلوار جین، کفش</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-semibold">23.8هزار</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-info"><i class='bx bx-home-alt'></i></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">دکور</h6>
|
||||
<small class="text-muted">هنرهای زیبا، غذاخوری</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-semibold">849هزار</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-secondary"><i class='bx bx-football'></i></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">ورزشی</h6>
|
||||
<small class="text-muted">فوتبال، کیت کریکت</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-semibold">99</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<LastActivityServices dashBoard="dashBoard" />
|
||||
<!--/ Order Statistics -->
|
||||
<!-- Expense Overview -->
|
||||
<div class="col-md-6 col-lg-4 order-1 mb-4">
|
||||
|
Reference in New Issue
Block a user