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;
+
+
+
+@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