This commit is contained in:
mmrbnjd
2024-05-05 18:15:37 +03:30
parent 67adbee29a
commit df6c31eac2
13 changed files with 451 additions and 163 deletions

View File

@@ -0,0 +1,37 @@
using Back.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shared.DTOs;
namespace Back.Controllers
{
[Route("api/[controller]")]
[Authorize]
[ApiController]
public class CustomerController : ControllerBase
{
private readonly CheckPermission _checkPermission;
private readonly servUser _servUser;
private readonly servCustomer _servCus;
public CustomerController(CheckPermission checkPermission, servUser servUser, servCustomer servCus)
{
_checkPermission = checkPermission;
_servUser = servUser;
_servCus = servCus;
}
[HttpPost("GetAll")]
public async Task<ActionResult<PagingDto<RCustomer>>> GetAll(ItemSerchGetCustomer itemSerch)
{
var claim = HttpContext.User.Claims.First(c => c.Type == "UserID");
var UserID = claim.Value;
var user = await _servUser.GetUserByUserID(Convert.ToInt32(UserID));
if (!await _checkPermission.AllowSYSGetCustomer(Convert.ToInt32(UserID), user.RolUsers.First().CompanyID)) return Forbid( "شما دسترسی به خواندن اطلاعات مشتری را نداربد");
return Ok(await _servCus.GetCustomers(user.RolUsers.First().CompanyID, itemSerch));
}
}
}

View File

@@ -29,7 +29,7 @@ namespace Back.Features
{
servUser _servUser = (servUser)httpContext.RequestServices.GetService(typeof(servUser));
var user = _servUser.GetUserByUserID(UserID).Result;
if (user != null && user.Token==accessToken)
if ((user != null && user.Token==accessToken) || httpContext.GetEndpoint().DisplayName.Contains("BaseController"))
await _next(httpContext);
else
httpContext.Response.StatusCode = StatusCodes.Status401Unauthorized;

View File

@@ -37,6 +37,7 @@ builder.Services.AddScoped<servPermission>();
builder.Services.AddScoped<servSendMsg>();
builder.Services.AddScoped<servUser>();
builder.Services.AddScoped<servTaxPayer>();
builder.Services.AddScoped<servCustomer>();
builder.Services.AddScoped<CompanyRegistrationValidation>();
builder.Services.AddScoped(c => new mpNuget.RestClient("09119660045", "C54S2"));

View File

@@ -0,0 +1,180 @@
using Back.Common;
using Back.Data.Contracts;
using Back.Data.Models;
using Microsoft.EntityFrameworkCore;
using Shared.DTOs;
namespace Back.Services
{
public class servCustomer
{
private readonly IAsyncRepository<Customer> _repoCus;
private readonly CheckPermission _checkPermission;
public servCustomer(IAsyncRepository<Customer> repoCus, CheckPermission checkPermission)
{
_repoCus = repoCus;
_checkPermission = checkPermission;
}
public async Task<PagingDto<RCustomer>?> GetCustomers(int CompanyID, ItemSerchGetCustomer itemSerch)
{
#region AdvancedSearch
var invok = _repoCus
.Get(w => w.CompanyID == CompanyID && !w.IsDeleted);
//foreach (InputObj item in inputObjs)
// invok = invok.Where(ExMethod.GetFunc<Customer>(item.Param, item.Value));
if (!string.IsNullOrEmpty(itemSerch.ZipCode))
invok = invok.Where(w=>w.ZipCode.Contains(itemSerch.ZipCode));
if (!string.IsNullOrEmpty(itemSerch.Phone))
invok = invok.Where(w => w.Phone.Contains(itemSerch.Phone));
if (!string.IsNullOrEmpty(itemSerch.MeliCode))
invok = invok.Where(w => w.MeliCode.Contains(itemSerch.MeliCode));
if (itemSerch.CustomerType.HasValue)
invok = invok.Where(w => w.CustomerType==itemSerch.CustomerType);
if (itemSerch.ID.HasValue)
invok = invok.Where(w => w.ID == itemSerch.ID);
if (!string.IsNullOrEmpty(itemSerch.EconomicCode))
invok = invok.Where(w => w.EconomicCode.Contains(itemSerch.EconomicCode));
#endregion
//-----------------------
return await invok.Select(s=>new RCustomer()
{
// Address = s.Address,
CustomerType = s.CustomerType.GetEnumDisplayName(),
EconomicCode = s.EconomicCode,
// Email =s.Email,
FullName = s.FullName,
ID = s.ID,
// Info = s.Info,
Phone=s.Phone,
// BranchID = s.BranchID,
// MeliCode = s.MeliCode,
// ZipCode = s.ZipCode ,
// PassportNumber=s.PassportNumber,
// CompanyID=s.CompanyID
})
.Paging(itemSerch.PageIndex, itemSerch.PageSize);
}
//public async Task<Customer> GetCustomerByCustomerID(int CustomerID, int CompanyID)
//{
// return await _repositores.GET<Customer>()
// .Where(w => w.ID == CustomerID && w.CompanyID==CompanyID && !w.IsDeleted).FirstOrDefaultAsync();
//}
//public async Task<Customer> GetCustomerByCustomerID(int CustomerID)
//{
// return await _repositores.GET<Customer>()
// .Where(w => w.ID == CustomerID && !w.IsDeleted).FirstOrDefaultAsync();
//}
//public async Task<bool> ExistCustomerByCustomerID(int CustomerID, int CompanyID)
//{
// return await _repositores.GET<Customer>()
// .AnyAsync(w => w.ID == CustomerID && w.CompanyID == CompanyID && !w.IsDeleted);
//}
//public async Task<CUCustomer> GetCustomerByCustomerIDByDTO(int CustomerID)
//{
// return await _repositores.GET<Customer>()
// .Where(w => w.ID == CustomerID && !w.IsDeleted)
// .Select(s => new CUCustomer()
// {
// Address = s.Address,
// CustomerType = s.CustomerType,
// EconomicCode = s.EconomicCode,
// Email = s.Email,
// FullName = s.FullName,
// ID = s.ID,
// Info = s.Info,
// Phone = s.Phone,
// BranchID = s.BranchID,
// MeliCode = s.MeliCode,
// ZipCode = s.ZipCode,
// PassportNumber = s.PassportNumber,
// //CompanyID = s.CompanyID
// })
// .FirstOrDefaultAsync();
//}
//public async Task<Customer?> AddORUpdateCustomer(Customer item)
//{
// try
// {
// SysLog log = new SysLog()
// {
// TraceIdentifierID = _httpContextAccessor.HttpContext.TraceIdentifier,
// Datetime = DateTime.Now.ConvertMiladiToShamsi(),
// Method = $"{_httpContextAccessor.HttpContext.Request.Method}/{this.GetType().FullName}/AddORUpdateCustomer",
// Value ="*"+ JsonConvert.SerializeObject(item),
// Route = _httpContextAccessor.HttpContext.Request.Path,
// Type = "User"
// };
// _contextMongodb.InsertItem(log);
// if (item.ID == null || item.ID == 0)
// {
// var ret = await _repositores.ADD(item);
// _checkPermission.ExtensionofAccess(item.CompanyID, 5, "-1");
// return item;
// }
// else
// {
// return await _repositores.UPDATE(item);
// }
// }
// catch (Exception ex)
// {
// SysLog log = new SysLog()
// {
// TraceIdentifierID = _httpContextAccessor.HttpContext.TraceIdentifier,
// Datetime = DateTime.Now.ConvertMiladiToShamsi(),
// Method = $"{_httpContextAccessor.HttpContext.Request.Method}/{this.GetType().FullName}/AddORUpdateCustomer",
// Value = ex.Message,
// Route = _httpContextAccessor.HttpContext.Request.Path,
// Type = "catch"
// };
// _contextMongodb.InsertItem(log);
// return null;
// }
//}
//public async Task<bool> DeleteCustomer(Customer item)
//{
// try
// {
// item.IsDeleted = true;
// _repositores.UPDATE(item);
// SysLog log = new SysLog()
// {
// TraceIdentifierID = _httpContextAccessor.HttpContext.TraceIdentifier,
// Datetime = DateTime.Now.ConvertMiladiToShamsi(),
// Method = $"{_httpContextAccessor.HttpContext.Request.Method}/{this.GetType().FullName}/DeleteCustomer",
// Value = JsonConvert.SerializeObject(item.ID),
// Route = _httpContextAccessor.HttpContext.Request.Path,
// Type = "User"
// };
// _contextMongodb.InsertItem(log);
// return true;
// }
// catch (Exception ex)
// {
// SysLog log = new SysLog()
// {
// TraceIdentifierID = _httpContextAccessor.HttpContext.TraceIdentifier,
// Datetime = DateTime.Now.ConvertMiladiToShamsi(),
// Method = $"{_httpContextAccessor.HttpContext.Request.Method}/{this.GetType().FullName}/DeleteCustomer",
// Value = ex.Message,
// Route = _httpContextAccessor.HttpContext.Request.Path,
// Type = "catch"
// };
// _contextMongodb.InsertItem(log);
// return false;
// }
//}
}
}

View File

@@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
namespace Shared.DTOs
{

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -8,7 +9,9 @@ namespace Shared.DTOs
{
public class Employee1
{
[Display(Name ="شناسه")]
public int Id { get; set; }
[Display(Name = "نام")]
public string Name { get; set; }
public string Designation { get; set; }
public DateOnly DOJ { get; set; }

View File

@@ -0,0 +1,9 @@
namespace Shared.DTOs
{
[AttributeUsage(AttributeTargets.Property)]
public class ShowNameAttribute : Attribute
{
public string Name = "";
}
}

View File

@@ -0,0 +1,21 @@
using Shared.DTOs.Serch;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shared.DTOs
{
public class ItemSerchGetCustomer : IFildGlobalItemSerch
{
public int? ID { get; set; }
public CustomerType? CustomerType { get; set; }
public string? EconomicCode { get; set; }
public string? Phone { get; set; }
public string? MeliCode { get; set; }
public string? ZipCode { get; set; }
public int PageIndex { get; set; } = 1;
public int PageSize { get; set; } = 5;
}
}

24
Shared/DTOs/RCustomer.cs Normal file
View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shared.DTOs
{
public class RCustomer
{
[Display(Name ="شناسه")]
public int ID { get; set; }
[Display(Name = "نام کامل")]
public string FullName { get; set; }
[Display(Name = "نوع مشتری")]
public string CustomerType { get; set; }
[Display(Name = "تلفن")]
public string Phone { get; set; }
[Display(Name = "کد اقتصادی")]
public string? EconomicCode { get; set; }
}
}

19
Shared/DTOs/TestModel.cs Normal file
View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Shared.DTOs
{
public class TestModel
{
[Display(Name = "شناسه")]
public int ID { get; set; }
[Display(Name = "نام")]
public string Name { get; set; }
[Display(Name = "آدرس")]
public string Address { get; set; }
}
}

View File

@@ -0,0 +1,66 @@
@using System.Reflection
@using System.ComponentModel.DataAnnotations
@using Shared.DTOs
@typeparam T
<div class="row">
<div class="col-md-12">
<div class="mb-4">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="table-responsive text-nowrap">
<table class="table">
<thead class="table-light">
<tr>
@{
PropertyInfo[] properties = typeof(T).GetProperties();
foreach (var item in properties)
{
if (item.GetCustomAttributes(typeof(DisplayAttribute), false).Length > 0)
{
<th>
@item.CustomAttributes.Where(w => w.AttributeType.Name == "DisplayAttribute").Select(s => s.NamedArguments.Where(w => w.MemberName == "Name").Select(ss => ss.TypedValue.Value).First()).First().ToString()
</th>
}
}
}
</tr>
</thead>
<tbody class="table-border-bottom-0">
@{
foreach (var item in ModelinComponent)
{
<tr>
@{
properties = item.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
if (property.CustomAttributes.Any(w => w.AttributeType.Name == "DisplayAttribute"))
{
<td>@property.GetValue(item, null)</td>
}
}
}
</tr>
}
}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@code {
[Parameter]
public List<T> ModelinComponent { get; set; } = new List<T>();
}

View File

@@ -230,6 +230,7 @@
private async Task OnLoginClick()
{
_hc.DefaultRequestHeaders.Clear();
var request = await _hc.PostAsJsonAsync("User/authenticate", Model);
if (request.IsSuccessStatusCode)
{

View File

@@ -1,5 +1,9 @@
@page "/Customer"
@using Front.Services
@using Shared.DTOs
@using Front.CUSComponent
@using Shared.DTOs.Serch
@inject HttpClientController hc;
<PageTitle>مشتری</PageTitle>
@* search *@
<div class="row">
@@ -58,170 +62,98 @@
</div>
</div>
@* data *@
@* alert *@
<div class="row">
<div class="col-md-12">
<div class="mb-4">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="table-responsive text-nowrap">
<table class="table">
<thead class="table-light">
<tr>
<th>پروژه</th>
<th>مشتری</th>
<th>کاربران</th>
<th>وضعیت</th>
<th>عملکردها</th>
</tr>
</thead>
<tbody class="table-border-bottom-0">
<tr>
<td><i class="fab fa-angular fa-lg text-danger me-3"></i> <strong>پروژه انگولار</strong></td>
<td>آلبرت کوک</td>
<td>
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
</li>
</ul>
</td>
<td><span class="badge bg-label-primary me-1">فعال</span></td>
<td>
<div class="dropdown">
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
<div class="dropdown-menu new-style-11">
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
</div>
</div>
</td>
</tr>
<tr>
<td><i class="fab fa-react fa-lg text-info me-3"></i> <strong>پروژه ری اکت</strong></td>
<td>بری هانتر</td>
<td>
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
</li>
</ul>
</td>
<td><span class="badge bg-label-success me-1">تکمیل شد</span></td>
<td>
<div class="dropdown">
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
<div class="dropdown-menu new-style-11">
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
</div>
</div>
</td>
</tr>
<tr>
<td><i class="fab fa-vuejs fa-lg text-success me-3"></i> <strong>پروژه وی جی اس</strong></td>
<td>ترور بیکر</td>
<td>
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
</li>
</ul>
</td>
<td><span class="badge bg-label-info me-1">برنامه ریزی شده</span></td>
<td>
<div class="dropdown">
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
<div class="dropdown-menu new-style-12">
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
</div>
</div>
</td>
</tr>
<tr>
<td><i class="fab fa-bootstrap fa-lg text-primary me-3"></i> <strong>پروژه بوت استرپ</strong></td>
<td>جری میلتون</td>
<td>
<ul class="list-unstyled users-list m-0 avatar-group d-flex align-items-center">
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="لیلان فولر">
<img src="assets/img/avatars/5.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="سوفیا ویلکرسون">
<img src="assets/img/avatars/6.png" alt="Avatar" class="rounded-circle">
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" class="avatar avatar-xs pull-up" title="" data-bs-original-title="کریستین پارکر">
<img src="assets/img/avatars/7.png" alt="Avatar" class="rounded-circle">
</li>
</ul>
</td>
<td><span class="badge bg-label-warning me-1">درانتظار</span></td>
<td>
<div class="dropdown">
<button type="button" class="btn p-0 dropdown-toggle hide-arrow" data-bs-toggle="dropdown"><i class="bx bx-dots-vertical-rounded"></i></button>
<div class="dropdown-menu new-style-12">
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-edit-alt me-1"></i>ویرایش</a>
<a class="dropdown-item" href="javascript:void(0);"><i class="bx bx-trash me-1"></i> حذف</a>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<Alert hidden="@Hidealert" Color="@alertColor" Dismissable="false">
<Icon Name="@alertIconName" class="me-2"></Icon>
@alertMessage
</Alert>
</div>
</div>
</div>
</div>
</div>
@* data *@
@if (request != null)
{
<LTable ModelinComponent="request?.list" />
@* pagination *@
<nav aria-label="Page navigation">
<br />
<ul class="pagination justify-content-center">
@for (int page = 1; page <= request?.PageCount; page++)
{
if (page == PageIndex)
{
<li class="page-item disabled">
<a class="page-link" href="@hc._nav.GetUriWithQueryParameter("PageIndex",page)">@(page)</a>
</li>
}
else
{
<li class="page-item">
<a class="page-link" href="@hc._nav.GetUriWithQueryParameter("PageIndex",page)">@(page)</a>
</li>
}
}
</ul>
</nav>
}
@layout PanelLayout
@code {
private IEnumerable<Employee1>? employees;
// alert
AlertColor alertColor = AlertColor.Primary;
IconName alertIconName = IconName.CheckCircleFill;
bool Hidealert = true;
string alertMessage = "";
private async Task<GridDataProviderResult<Employee1>> EmployeesDataProvider(GridDataProviderRequest<Employee1> request)
protected override async Task OnParametersSetAsync()
{
if (employees is null) // pull employees only one time for client-side filtering, sorting, and paging
employees = GetEmployees(); // call a service or an API to pull the employees
if (PageIndex == null) PageIndex = 1;
await LoadCus(PageIndex.Value);
await base.OnParametersSetAsync();
}
[Parameter, SupplyParameterFromQuery]
public int? PageIndex { get; set; }
return await Task.FromResult(request.ApplyTo(employees));
public Shared.DTOs.PagingDto<RCustomer>? request { get; set; }
}
@functions {
private void ShowSuccessAlert(string msg)
{
Hidealert = false;
alertColor = AlertColor.Success;
alertIconName = IconName.CheckCircleFill;
alertMessage = msg;
}
private IEnumerable<Employee1> GetEmployees()
private void ShowDangerAlert(string msg)
{
return new List<Employee1>
Hidealert = false;
alertColor = AlertColor.Danger;
alertIconName = IconName.ExclamationTriangleFill;
alertMessage = msg;
}
public async Task LoadCus(int pi)
{
new Employee1 { Id = 107, Name = "Alice", Designation = "AI Engineer", DOJ = new DateOnly(1998, 11, 17), IsActive = true },
new Employee1 { Id = 103, Name = "Bob", Designation = "Senior DevOps Engineer", DOJ = new DateOnly(1985, 1, 5), IsActive = true },
new Employee1 { Id = 106, Name = "John", Designation = "Data Engineer", DOJ = new DateOnly(1995, 4, 17), IsActive = true },
new Employee1 { Id = 104, Name = "Pop", Designation = "Associate Architect", DOJ = new DateOnly(1985, 6, 8), IsActive = false },
new Employee1 { Id = 105, Name = "Ronald", Designation = "Senior Data Engineer", DOJ = new DateOnly(1991, 8, 23), IsActive = true },
new Employee1 { Id = 102, Name = "Line", Designation = "Architect", DOJ = new DateOnly(1977, 1, 12), IsActive = true },
new Employee1 { Id = 101, Name = "Daniel", Designation = "Architect", DOJ = new DateOnly(1977, 1, 12), IsActive = true },
new Employee1 { Id = 108, Name = "Zayne", Designation = "Data Analyst", DOJ = new DateOnly(1991, 1, 1), IsActive = true },
new Employee1 { Id = 109, Name = "Isha", Designation = "App Maker", DOJ = new DateOnly(1996, 7, 1), IsActive = true },
};
var rsp = await hc.Post<ItemSerchGetCustomer>("Customer/GetAll", new ItemSerchGetCustomer()
{
PageIndex=pi
});
if (rsp.IsSuccessStatusCode)
{
request = await rsp.Content.ReadFromJsonAsync<PagingDto<RCustomer>>();
}
else if(rsp.StatusCode==System.Net.HttpStatusCode.Forbidden)
{
ShowDangerAlert("شما دسترسی به خواندن اطلاعات مشتری را نداربد");
}
else
{
ShowDangerAlert("خطایی در اجرای عملیات رخ داده");
}
}
}