From 354316abbacff199bb0845ccd57325f31ccdc53c Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Tue, 14 May 2024 15:57:34 +0330 Subject: [PATCH] ... --- TaxPayerFull/CUSComponent/InvoiceItem.razor | 197 ++++++++++++++++++++ TaxPayerFull/Pages/UserPanel/Invoice.razor | 11 +- 2 files changed, 200 insertions(+), 8 deletions(-) create mode 100644 TaxPayerFull/CUSComponent/InvoiceItem.razor diff --git a/TaxPayerFull/CUSComponent/InvoiceItem.razor b/TaxPayerFull/CUSComponent/InvoiceItem.razor new file mode 100644 index 0000000..5c681fa --- /dev/null +++ b/TaxPayerFull/CUSComponent/InvoiceItem.razor @@ -0,0 +1,197 @@ +@using Front.Services +@using Shared.DTOs +@inject HttpClientController hc; +
+ @* alert *@ +
+ + +
+ +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+ + +@if (Cod.ID == 0) +{ + +} +else +{ + + +} + + +@code { + // alert + AlertColor alertColor = AlertColor.Primary; + IconName alertIconName = IconName.CheckCircleFill; + bool Hidealert = true; + string alertMessage = ""; + [Parameter] public InvoiceDTO invoice { get; set; } + [Parameter] public EventCallback OnMultipleOfThree { get; set; } + // [Parameter] public List>? Unitrequest { get; set; } + public ActionInResultComponent result { get; set; } + + + protected override Task OnParametersSetAsync() + { + + result = new ActionInResultComponent() + { + Status = ComponentStatus.fild + }; + Hidealert = true; + alertMessage = ""; + return base.OnParametersSetAsync(); + } +} +@functions { + private void ShowSuccessAlert(string msg) + { + Hidealert = false; + alertColor = AlertColor.Success; + alertIconName = IconName.CheckCircleFill; + alertMessage = msg; + } + private void ShowDangerAlert(string msg) + { + Hidealert = false; + alertColor = AlertColor.Danger; + alertIconName = IconName.ExclamationTriangleFill; + alertMessage = msg; + } + public async Task OnClickDelete() + { + + var rsp = await hc.Delete($"Cod/Delete/{Cod.ID}"); + if (rsp.IsSuccessStatusCode) + { + var request = await rsp.Content.ReadFromJsonAsync(); + if (request) + { + result.Status = ComponentStatus.success; + result.Action = ComponentAction.delete; + await OnMultipleOfThree.InvokeAsync(result); + } + else ShowDangerAlert("خطایی در اجرای عملیات رخ داده"); + } + + else if (rsp.StatusCode == System.Net.HttpStatusCode.NotFound) + { + ShowDangerAlert("کالا با این شناسه یافت نشد"); + } + else ShowDangerAlert("خطایی در اجرای عملیات رخ داده"); + + + + + } + public async Task OnClickUpdate() + { + if (Cod.UnitID > 0 && Cod.TaxRate > 0 && !string.IsNullOrEmpty(Cod.Title)) + { + + var rsp = await hc.Put("Cod/Update", Cod); + if (rsp.IsSuccessStatusCode) + { + var request = await rsp.Content.ReadFromJsonAsync(); + if (request) + { + result.Status = ComponentStatus.success; + result.Action = ComponentAction.update; + await OnMultipleOfThree.InvokeAsync(result); + } + else ShowDangerAlert("خطایی در اجرای عملیات رخ داده"); + } + else + { + var request = await rsp.Content.ReadFromJsonAsync>(); + ShowDangerAlert(request[0]); + } + } + else ShowDangerAlert("فیلدهای قرمز باید مقدار دهی شوند"); + } + public async Task OnClickAdd() + { + if (Cod.UnitID > 0 && Cod.TaxRate > 0 && !string.IsNullOrEmpty(Cod.Title)) + { + + var rsp = await hc.Post("Cod/Add", Cod); + if (rsp.IsSuccessStatusCode) + { + var request = await rsp.Content.ReadFromJsonAsync(); + + if (request) + { + result.Status = ComponentStatus.success; + result.Action = ComponentAction.add; + await OnMultipleOfThree.InvokeAsync(result); + } + else ShowDangerAlert("خطایی در اجرای عملیات رخ داده"); + } + else + { + + var request = await rsp.Content.ReadFromJsonAsync>(); + ShowDangerAlert(request[0]); + } + } + else ShowDangerAlert("فیلدهای قرمز باید مقدار دهی شوند"); + } +} \ No newline at end of file diff --git a/TaxPayerFull/Pages/UserPanel/Invoice.razor b/TaxPayerFull/Pages/UserPanel/Invoice.razor index b4e900c..f7c02bb 100644 --- a/TaxPayerFull/Pages/UserPanel/Invoice.razor +++ b/TaxPayerFull/Pages/UserPanel/Invoice.razor @@ -6,7 +6,7 @@ @using Shared.DTOs.Serch @inject HttpClientController hc; صورتحساب - + @* search *@ @@ -210,14 +210,13 @@ } public async Task InvoiceItem(int ID) { - var parameters = new Dictionary(); if (ID == 0) parameters.Add("Invoice", new InvoiceDTO() { ID = 0 }); - else parameters.Add("Invoice", request.list.Where(w => w.ID == ID).First().Clone()); + else parameters.Add("invoice", request.list.Where(w => w.ID == ID).First().Clone()); parameters.Add("OnMultipleOfThree", EventCallback.Factory.Create(this, CallBackCustomerItem)); - await modal.ShowAsync(title: ID == 0 ? "صورتحساب جدید" : "ویرایش اطلاعات", parameters: parameters); + await modal.ShowAsync(title: ID == 0 ? "صورتحساب جدید" : "ویرایش اطلاعات", parameters: parameters); } @@ -235,9 +234,5 @@ private void OnAutoCompleteChanged(ForCustomerSearch customer) { itemsearch.CustomerID = customer?.ID; - // // TODO: handle your own logic - - // // NOTE: do null check - // Console.WriteLine($"'{customer?.Name}' selected."); } } \ No newline at end of file