Files
moadiran/TaxPayerFull/FixedValues.cs
mmrbnjd fe95e2b526 ...
2024-07-28 22:58:39 +03:30

158 lines
4.9 KiB
C#

using BlazorBootstrap;
using Front.Services;
using Shared.DTOs;
using System.Net.Http.Json;
using System.Security.Cryptography;
namespace Front
{
public class Fixedvalues
{
public string Domin { get; set; } = "http://195.88.208.142";
public readonly HttpClientController _hc;
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 DashBoardDTO? dashBoard { get; set; } = null;
private List<PromotionDto> Promotions { get; set; } = null;
public Fixedvalues(HttpClientController hc)
{
_hc = hc;
}
public async Task<List<ForCustomerSearch>?> GetCustomers()
{
if (Cus == null)
{
var request = await _hc.Get($"Customer/GetAllForidName");
if (request.IsSuccessStatusCode)
{
Cus = await request.Content.ReadFromJsonAsync<List<ForCustomerSearch>>();
}
}
return Cus;
}
public async Task<List<CODIdName<int>>?> GetCODs()
{
if (Cods == null)
{
var request = await _hc.Get($"COD/GetAllForidName");
if (request.IsSuccessStatusCode)
{
Cods = await request.Content.ReadFromJsonAsync<List<CODIdName<int>>>();
}
}
return Cods;
}
public async Task<List<IdName<int>>?> GetPatterns()
{
if (Patterns == null)
{
var request = await _hc.Get($"Invoice/GetPatterns");
if (request.IsSuccessStatusCode)
{
Patterns = await request.Content.ReadFromJsonAsync<List<IdName<int>>>();
}
}
return Patterns;
}
public async Task<CompanyDTO?> GetInfoCompany()
{
if (InfoCompany == null)
{
var rspCompany = await _hc.Get($"Company/GetCompany");
if (rspCompany.IsSuccessStatusCode)
InfoCompany = await rspCompany.Content.ReadFromJsonAsync<CompanyDTO>();
}
return InfoCompany;
}
public async Task<DashBoardDTO?> GetDashBoard(bool run = false)
{
if (dashBoard == null || run)
{
var rsp = await _hc.Get("User/GetDashBoard");
if (rsp.IsSuccessStatusCode)
{
dashBoard = await rsp.Content.ReadFromJsonAsync<DashBoardDTO>();
}
}
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;
}
public async Task SetUlr(string Type)
{
await _hc.Post<UlrDto>("Base/Ulr", new UlrDto { Type = Type });
}
public async Task<List<PromotionDto>> LoadPromotion()
{
if (Promotions == null)
{
List<PricingDto> Pricing = new List<PricingDto>();
var rsp = await _hc.Get($"Orders/GetAllPromotion");
if (rsp.IsSuccessStatusCode)
{
Promotions = await rsp.Content.ReadFromJsonAsync<List<PromotionDto>>() ?? new List<PromotionDto>();
rsp = await _hc.Get($"Orders/GetAllPricing");
if (rsp.IsSuccessStatusCode)
Pricing = await rsp.Content.ReadFromJsonAsync<List<PricingDto>>() ?? new List<PricingDto>();
if (Pricing.Count>0)
{
Promotions.Add(new PromotionDto()
{
ID = -1,
Name = "شخصی سازی",
promotionDetails = Pricing.Select(s => new PromotionDetailDto
{
ID = 0,
APrice = s.Price,
CreditAmount = 0,
PermissionID = s.PermissionID,
PermissionTitle = s.PermissionTitle
}).ToList()
});
}
}
}
return Promotions ?? new List<PromotionDto>();
}
}
}