last
This commit is contained in:
@@ -33,6 +33,25 @@ namespace Back.Controllers
|
|||||||
// if (!await _checkPermission.AllowSYSGetCOD(Convert.ToInt32(UserID), user.RolUsers.First().CompanyID)) return Forbid("شما دسترسی به خواندن اطلاعات کالا را نداربد");
|
// if (!await _checkPermission.AllowSYSGetCOD(Convert.ToInt32(UserID), user.RolUsers.First().CompanyID)) return Forbid("شما دسترسی به خواندن اطلاعات کالا را نداربد");
|
||||||
return Ok(await _servCOD.GetCODs(user.RolUsers.First().CompanyID, itemSerch));
|
return Ok(await _servCOD.GetCODs(user.RolUsers.First().CompanyID, itemSerch));
|
||||||
}
|
}
|
||||||
|
[HttpGet("GetCod/{ID}")]
|
||||||
|
public async Task<ActionResult<RCOD>> GetCod(int ID)
|
||||||
|
{
|
||||||
|
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
|
||||||
|
var UserID = claim.Value;
|
||||||
|
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
|
||||||
|
var cod = await _servCOD.GetCodByCodID(ID, user.RolUsers.First().CompanyID);
|
||||||
|
return Ok(new RCOD
|
||||||
|
{
|
||||||
|
ID = cod.ID,
|
||||||
|
TaxID = cod.ItemTaxID,
|
||||||
|
Title = cod.Title,
|
||||||
|
Unit = cod.CODUnit.Title,
|
||||||
|
UnitID = cod.UnitID,
|
||||||
|
TaxRate = cod.TaxRate
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
[HttpGet("GetAllForidName")]
|
[HttpGet("GetAllForidName")]
|
||||||
public async Task<ActionResult<List<CODIdName<int>>>> GetAllForidName()
|
public async Task<ActionResult<List<CODIdName<int>>>> GetAllForidName()
|
||||||
{
|
{
|
||||||
|
@@ -78,7 +78,8 @@ namespace Back.Services
|
|||||||
public async Task<CODItem?> GetCodByCodID(int CodID, int CompanyID)
|
public async Task<CODItem?> GetCodByCodID(int CodID, int CompanyID)
|
||||||
{
|
{
|
||||||
return await _CODRepo
|
return await _CODRepo
|
||||||
.Get(w => w.ID == CodID && w.CompanyID == CompanyID && !w.IsDeleted).FirstOrDefaultAsync();
|
.Get(w => w.ID == CodID && w.CompanyID == CompanyID && !w.IsDeleted)
|
||||||
|
.Include(inc=>inc.CODUnit).FirstOrDefaultAsync();
|
||||||
}
|
}
|
||||||
public async Task<bool> ExistCodByCompanyID(int CodID, int CompanyID)
|
public async Task<bool> ExistCodByCompanyID(int CodID, int CompanyID)
|
||||||
{
|
{
|
||||||
|
@@ -5,6 +5,7 @@ using Back.Data.Models;
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.IdentityModel.Tokens;
|
using Microsoft.IdentityModel.Tokens;
|
||||||
using Shared.DTOs;
|
using Shared.DTOs;
|
||||||
|
using System.Data.SqlTypes;
|
||||||
using System.IdentityModel.Tokens.Jwt;
|
using System.IdentityModel.Tokens.Jwt;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
@@ -20,12 +21,20 @@ namespace Back.Services
|
|||||||
private readonly IAsyncRepository<User> _RepoUser;
|
private readonly IAsyncRepository<User> _RepoUser;
|
||||||
private readonly RepositoryBase<Company> _RepoCompany;
|
private readonly RepositoryBase<Company> _RepoCompany;
|
||||||
private readonly IAsyncRepository<PermissionPeriod> _RepoPermissionPeriod;
|
private readonly IAsyncRepository<PermissionPeriod> _RepoPermissionPeriod;
|
||||||
|
|
||||||
|
private readonly IAsyncRepository<Customer> _RepoCus;
|
||||||
|
private readonly IAsyncRepository<Invoice> _RepoInvoice;
|
||||||
|
private readonly IAsyncRepository<CODItem> _RepoCODItem;
|
||||||
public servUser(IConfiguration configuration
|
public servUser(IConfiguration configuration
|
||||||
, servNotification servNotification
|
, servNotification servNotification
|
||||||
, IAsyncRepository<User> RepoUser
|
, IAsyncRepository<User> RepoUser
|
||||||
, IAsyncRepository<PermissionPeriod> RepoPermissionPeriod
|
, IAsyncRepository<PermissionPeriod> RepoPermissionPeriod
|
||||||
, RepositoryBase<Company> repoCompany)
|
, RepositoryBase<Company> repoCompany, IAsyncRepository<Customer> RepoCus
|
||||||
|
, IAsyncRepository<Invoice> RepoInvoice, IAsyncRepository<CODItem> RepoCODItem)
|
||||||
{
|
{
|
||||||
|
_RepoCus = RepoCus;
|
||||||
|
_RepoInvoice = RepoInvoice;
|
||||||
|
_RepoCODItem = RepoCODItem;
|
||||||
_configuration = configuration;
|
_configuration = configuration;
|
||||||
_servNotification = servNotification;
|
_servNotification = servNotification;
|
||||||
_RepoUser = RepoUser;
|
_RepoUser = RepoUser;
|
||||||
@@ -212,7 +221,7 @@ namespace Back.Services
|
|||||||
}
|
}
|
||||||
request.LastLoginDate = _RepoUser.Get(w => w.ID == UserID).Select(s => s.DateLastLogin).FirstOrDefault();
|
request.LastLoginDate = _RepoUser.Get(w => w.ID == UserID).Select(s => s.DateLastLogin).FirstOrDefault();
|
||||||
if (!string.IsNullOrEmpty(request.LastLoginDate))
|
if (!string.IsNullOrEmpty(request.LastLoginDate))
|
||||||
request.LastLoginDate.ShamciToFormatShamci();
|
request.LastLoginDate = $"{request.LastLoginDate.Substring(8, 2)}:{request.LastLoginDate.Substring(10, 2)} {request.LastLoginDate.Substring(0, 4)}/{request.LastLoginDate.Substring(4, 2)}/{request.LastLoginDate.Substring(6, 2)}";
|
||||||
|
|
||||||
|
|
||||||
//if (user.Mobile == user.Username)
|
//if (user.Mobile == user.Username)
|
||||||
@@ -238,6 +247,50 @@ namespace Back.Services
|
|||||||
Path = s.Path,
|
Path = s.Path,
|
||||||
ViewSize = s.ViewSize
|
ViewSize = s.ViewSize
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
|
LastActivitySevice lastInvoice = new LastActivitySevice();
|
||||||
|
#region LastActivitySevice
|
||||||
|
//invoice
|
||||||
|
var lastinv = await _RepoInvoice.Get(w => w.CompanyID == user.RolUsers.First().CompanyID && !w.IsDeleted)
|
||||||
|
.Include(inc=>inc.Customer)
|
||||||
|
.Select(s=>new LastActivitySevice
|
||||||
|
{
|
||||||
|
ID = s.ID,
|
||||||
|
Date=s.InvoiceDate.ShamciToFormatShamci(),
|
||||||
|
Name=s.Customer.FullName,
|
||||||
|
PermissionID=3,
|
||||||
|
TypeTitle=s.invoiceType.GetEnumDisplayName()
|
||||||
|
})
|
||||||
|
.OrderByDescending(o => o.ID).FirstOrDefaultAsync();
|
||||||
|
if (lastinv!=null)
|
||||||
|
request.lastActivitiesSevices.Add(lastinv);
|
||||||
|
//cod
|
||||||
|
var lastcod = await _RepoCODItem.Get(w => w.CompanyID == user.RolUsers.First().CompanyID && !w.IsDeleted)
|
||||||
|
.Select(s => new LastActivitySevice
|
||||||
|
{
|
||||||
|
ID = s.ID,
|
||||||
|
Date = "",
|
||||||
|
Name = s.Title,
|
||||||
|
PermissionID = 4,
|
||||||
|
TypeTitle = ""
|
||||||
|
})
|
||||||
|
.OrderByDescending(o => o.ID).FirstOrDefaultAsync();
|
||||||
|
if (lastcod != null)
|
||||||
|
request.lastActivitiesSevices.Add(lastcod);
|
||||||
|
//cus
|
||||||
|
var lastcus = await _RepoCus.Get(w => w.CompanyID == user.RolUsers.First().CompanyID && !w.IsDeleted)
|
||||||
|
.Select(s => new LastActivitySevice
|
||||||
|
{
|
||||||
|
ID = s.ID,
|
||||||
|
Date = "",
|
||||||
|
Name = s.FullName,
|
||||||
|
PermissionID = 8,
|
||||||
|
TypeTitle = ""
|
||||||
|
})
|
||||||
|
.OrderByDescending(o => o.ID).FirstOrDefaultAsync();
|
||||||
|
if (lastcus != null)
|
||||||
|
request.lastActivitiesSevices.Add(lastcus);
|
||||||
|
#endregion
|
||||||
return request;
|
return request;
|
||||||
}
|
}
|
||||||
public async Task<User> UpdateUser(User user)
|
public async Task<User> UpdateUser(User user)
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace Shared.DTOs
|
namespace Shared.DTOs
|
||||||
{
|
{
|
||||||
public class AlertDTO
|
public class AlertDTO
|
||||||
{
|
{
|
||||||
public int Status { get; set; }
|
public int Status { get; set; }
|
||||||
public string Message { get; set; }
|
public string Message { get; set; }
|
||||||
@@ -13,9 +13,10 @@ namespace Shared.DTOs
|
|||||||
{
|
{
|
||||||
public string Datenow { get { return DateTime.Now.ConvertMiladiToShamsiinFront(); } }
|
public string Datenow { get { return DateTime.Now.ConvertMiladiToShamsiinFront(); } }
|
||||||
public string? LastLoginDate { get; set; }
|
public string? LastLoginDate { get; set; }
|
||||||
public List<ServiceInDashBoardDTO> AlistofServices { get; set; }=new List<ServiceInDashBoardDTO>();
|
public List<ServiceInDashBoardDTO> AlistofServices { get; set; } = new List<ServiceInDashBoardDTO>();
|
||||||
public List<AlertDTO> Warning { get; set; } = new List<AlertDTO>();
|
public List<AlertDTO> Warning { get; set; } = new List<AlertDTO>();
|
||||||
public List<AlertDTO> Notifications { get; set; } = new List<AlertDTO>();
|
public List<AlertDTO> Notifications { get; set; } = new List<AlertDTO>();
|
||||||
|
public List<LastActivitySevice> lastActivitiesSevices { get; set; }=new List<LastActivitySevice>();
|
||||||
}
|
}
|
||||||
public class ServiceInDashBoardDTO
|
public class ServiceInDashBoardDTO
|
||||||
{
|
{
|
||||||
@@ -26,4 +27,13 @@ namespace Shared.DTOs
|
|||||||
public string Total { get; set; }
|
public string Total { get; set; }
|
||||||
public int Remaining { get; set; }
|
public int Remaining { get; set; }
|
||||||
}
|
}
|
||||||
|
public class LastActivitySevice
|
||||||
|
{
|
||||||
|
public int ID { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Date { get; set; }
|
||||||
|
public int PermissionID { get; set; }
|
||||||
|
public string? TypeTitle { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,34 +1,36 @@
|
|||||||
using Front.Services;
|
using Front.Services;
|
||||||
using Shared.DTOs;
|
using Shared.DTOs;
|
||||||
using System.Net.Http.Json;
|
using System.Net.Http.Json;
|
||||||
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
namespace Front
|
namespace Front
|
||||||
{
|
{
|
||||||
public class Fixedvalues
|
public class Fixedvalues
|
||||||
{
|
{
|
||||||
public readonly HttpClientController _hc;
|
public readonly HttpClientController _hc;
|
||||||
private List<ForCustomerSearch>? Cus=null;
|
private List<ForCustomerSearch>? Cus = null;
|
||||||
private List<IdName<int>>? Patterns = null;
|
private List<IdName<int>>? Patterns = null;
|
||||||
|
private List<IdName<int>>? Units = null;
|
||||||
private List<CODIdName<int>>? Cods = null;
|
private List<CODIdName<int>>? Cods = null;
|
||||||
private CompanyDTO? InfoCompany = null;
|
private CompanyDTO? InfoCompany = null;
|
||||||
public InvoiceDTO? invoice { get; set; }=null;
|
public InvoiceDTO? invoice { get; set; } = null;
|
||||||
private DashBoardDTO? dashBoard { get; set; } = null;
|
private DashBoardDTO? dashBoard { get; set; } = null;
|
||||||
public Fixedvalues(HttpClientController hc)
|
public Fixedvalues(HttpClientController hc)
|
||||||
{
|
{
|
||||||
_hc = hc;
|
_hc = hc;
|
||||||
}
|
}
|
||||||
public async Task<List<ForCustomerSearch>?> GetCustomers()
|
public async Task<List<ForCustomerSearch>?> GetCustomers()
|
||||||
{
|
{
|
||||||
if (Cus == null)
|
if (Cus == null)
|
||||||
{
|
{
|
||||||
var request = await _hc.Get($"Customer/GetAllForidName");
|
var request = await _hc.Get($"Customer/GetAllForidName");
|
||||||
if (request.IsSuccessStatusCode)
|
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()
|
public async Task<List<IdName<int>>?> GetPatterns()
|
||||||
{
|
{
|
||||||
if (Patterns==null)
|
if (Patterns == null)
|
||||||
{
|
{
|
||||||
var request = await _hc.Get($"Invoice/GetPatterns");
|
var request = await _hc.Get($"Invoice/GetPatterns");
|
||||||
if (request.IsSuccessStatusCode)
|
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;
|
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();
|
vraArray = fv.invoice.items.Select(s => s.vra?.ToString("N0")).ToArray();
|
||||||
|
|
||||||
|
|
||||||
//How to activate
|
// //How to activate
|
||||||
Stimulsoft.Base.StiLicense.Key =
|
// Stimulsoft.Base.StiLicense.Key =
|
||||||
"6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k" +
|
// "6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k" +
|
||||||
"4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Ux" +
|
// "4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Ux" +
|
||||||
"a30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1" +
|
// "a30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1" +
|
||||||
"xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/C" +
|
// "xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/C" +
|
||||||
"jX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLr" +
|
// "jX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLr" +
|
||||||
"pU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0" +
|
// "pU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0" +
|
||||||
"Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dw" +
|
// "Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dw" +
|
||||||
"Ms2fQ0yOUG/xornE";
|
// "Ms2fQ0yOUG/xornE";
|
||||||
//var licenseStream = await Http.GetStreamAsync("Secret/license.key");
|
//var licenseStream = await Http.GetStreamAsync("Secret/license.key");
|
||||||
//Stimulsoft.Base.StiLicense.LoadFromStream(licenseStream);
|
//Stimulsoft.Base.StiLicense.LoadFromStream(licenseStream);
|
||||||
|
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
@using Front.CUSComponent
|
@using Front.CUSComponent
|
||||||
@using Shared.DTOs.Serch
|
@using Shared.DTOs.Serch
|
||||||
@inject HttpClientController hc;
|
@inject HttpClientController hc;
|
||||||
|
@inject Fixedvalues fv;
|
||||||
<PageTitle>کالا</PageTitle>
|
<PageTitle>کالا</PageTitle>
|
||||||
<Modal @ref="modal" />
|
<Modal @ref="modal" />
|
||||||
|
|
||||||
@@ -125,11 +126,9 @@
|
|||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
var rsp = await hc.Get("COD/GetUnits");
|
|
||||||
if (rsp.IsSuccessStatusCode)
|
Unitrequest =await fv.GetUnits();
|
||||||
{
|
|
||||||
Unitrequest = await rsp.Content.ReadFromJsonAsync<List<IdName<int>>>();
|
|
||||||
}
|
|
||||||
await base.OnInitializedAsync();
|
await base.OnInitializedAsync();
|
||||||
}
|
}
|
||||||
protected override async Task OnParametersSetAsync()
|
protected override async Task OnParametersSetAsync()
|
||||||
|
@@ -331,9 +331,9 @@
|
|||||||
<Button class="mt-3" Color="ButtonColor.Danger" @onclick="ShowConfirmationDeleteAsync" Type="ButtonType.Button">
|
<Button class="mt-3" Color="ButtonColor.Danger" @onclick="ShowConfirmationDeleteAsync" Type="ButtonType.Button">
|
||||||
حذف
|
حذف
|
||||||
</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-body">
|
||||||
<div class="card-title d-flex align-items-start justify-content-between">
|
<div class="card-title d-flex align-items-start justify-content-between">
|
||||||
<div class="avatar flex-shrink-0">
|
<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>
|
||||||
<div class="dropdown">
|
<div class="dropdown">
|
||||||
<button class="btn p-0" type="button" id="cardOpt3" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
<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>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Order Statistics -->
|
<!-- Order Statistics -->
|
||||||
<div class="col-md-6 col-lg-4 col-xl-4 order-0 mb-4">
|
<LastActivityServices dashBoard="dashBoard" />
|
||||||
<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>
|
|
||||||
<!--/ Order Statistics -->
|
<!--/ Order Statistics -->
|
||||||
<!-- Expense Overview -->
|
<!-- Expense Overview -->
|
||||||
<div class="col-md-6 col-lg-4 order-1 mb-4">
|
<div class="col-md-6 col-lg-4 order-1 mb-4">
|
||||||
|
Reference in New Issue
Block a user