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? Cus = null; private List>? Patterns = null; private List>? Units = null; private List>? Cods = null; private CompanyDTO? InfoCompany = null; public InvoiceDTO? invoice { get; set; } = null; public DashBoardDTO? dashBoard { get; set; } = null; private List Promotions { get; set; } = null; public Fixedvalues(HttpClientController hc) { _hc = hc; } public async Task?> GetCustomers() { if (Cus == null) { var request = await _hc.Get($"Customer/GetAllForidName"); if (request.IsSuccessStatusCode) { Cus = await request.Content.ReadFromJsonAsync>(); } } return Cus; } public async Task>?> GetCODs() { if (Cods == null) { var request = await _hc.Get($"COD/GetAllForidName"); if (request.IsSuccessStatusCode) { Cods = await request.Content.ReadFromJsonAsync>>(); } } return Cods; } public async Task>?> GetPatterns() { if (Patterns == null) { var request = await _hc.Get($"Invoice/GetPatterns"); if (request.IsSuccessStatusCode) { Patterns = await request.Content.ReadFromJsonAsync>>(); } } return Patterns; } public async Task GetInfoCompany() { if (InfoCompany == null) { var rspCompany = await _hc.Get($"Company/GetCompany"); if (rspCompany.IsSuccessStatusCode) InfoCompany = await rspCompany.Content.ReadFromJsonAsync(); } return InfoCompany; } public async Task LoadDashBoard(bool run = false) { if (dashBoard == null || run) { var rsp = await _hc.Get("User/GetDashBoard"); if (rsp.IsSuccessStatusCode) { dashBoard = await rsp.Content.ReadFromJsonAsync(); } } } public async Task>> GetUnits() { if (Units == null) { var rsp = await _hc.Get("COD/GetUnits"); if (rsp.IsSuccessStatusCode) { Units = await rsp.Content.ReadFromJsonAsync>>(); } } return Units; } public async Task SetUlr(string Type) { await _hc.Post("Base/Ulr", new UlrDto { Type = Type }); } public async Task> LoadPromotion() { if (Promotions == null) { List Pricing = new List(); var rsp = await _hc.Get($"Orders/GetAllPromotion"); if (rsp.IsSuccessStatusCode) { Promotions = await rsp.Content.ReadFromJsonAsync>() ?? new List(); rsp = await _hc.Get($"Orders/GetAllPricing"); if (rsp.IsSuccessStatusCode) Pricing = await rsp.Content.ReadFromJsonAsync>() ?? new List(); 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(); } } }