From a1a60760353296741cdffdaacbf8eb2cf0f72905 Mon Sep 17 00:00:00 2001 From: mmrbnjd Date: Mon, 29 Jul 2024 23:32:54 +0330 Subject: [PATCH] ... --- Back/Back.csproj | 2 +- Back/Controllers/OrdersController.cs | 11 +++++-- Back/Services/ServOrders.cs | 31 +++++++++++++++++-- Back/Services/servUser.cs | 1 + Shared/DTOs/CompanyAuthenticationDTO.cs | 3 +- TaxPayerFull/CUSComponent/OrderItemRead.razor | 8 ++--- TaxPayerFull/Layout/PanelLayout.razor | 17 +++++++--- TaxPayerFull/Program.cs | 4 +-- 8 files changed, 61 insertions(+), 16 deletions(-) diff --git a/Back/Back.csproj b/Back/Back.csproj index 899d7e4..fd97cd7 100644 --- a/Back/Back.csproj +++ b/Back/Back.csproj @@ -36,7 +36,7 @@ - ..\..\..\LocalGit\TaxPayerTools\Service\bin\Debug\Service.dll + ..\..\Dlls\Service.dll diff --git a/Back/Controllers/OrdersController.cs b/Back/Controllers/OrdersController.cs index cfb75ff..6ae4f94 100644 --- a/Back/Controllers/OrdersController.cs +++ b/Back/Controllers/OrdersController.cs @@ -165,7 +165,7 @@ namespace Back.Controllers { Company.Credit -= order.TPrice; var comUpdate=await _servCompany.AddORUpdateCompany(Company); - if (comUpdate!=null) + if (comUpdate != null) { if (await _servWalt.AddDocument(new CreditDocuments { @@ -175,7 +175,14 @@ namespace Back.Controllers type = CreditDocumentType.Decrease, Value = order.TPrice })) - return Ok(); + { + if (await _servOrders.SubmitOrder(order,CompanyID)) + return Ok(); + + else + return BadRequest(new List { "خطا در بروزرسانی سرویس ها" }); + } + else return BadRequest(new List { "خطا در بروزرسانی سند سفارش" }); } diff --git a/Back/Services/ServOrders.cs b/Back/Services/ServOrders.cs index 8fcf576..75e84b9 100644 --- a/Back/Services/ServOrders.cs +++ b/Back/Services/ServOrders.cs @@ -9,15 +9,17 @@ namespace Back.Services { public class ServOrders { + private readonly IAsyncRepository _repoPermissionPeriod; private readonly IAsyncRepository _repoOrder; private readonly IAsyncRepository _repoOrderItem; - public ServOrders(IAsyncRepository repoOrder, IAsyncRepository repoOrderItem) + public ServOrders(IAsyncRepository repoOrder, IAsyncRepository repoOrderItem + , IAsyncRepository repoPermissionPeriod) { _repoOrder = repoOrder; _repoOrderItem = repoOrderItem; - + _repoPermissionPeriod = repoPermissionPeriod; } public async Task> GetOrdersByCompanyID(int CompanyID, ItemSerachOrder itemSerach) { @@ -84,5 +86,30 @@ namespace Back.Services } } + public async Task SubmitOrder(Order ordermodel,int CompanyID) + { + try + { + foreach (OrderItem order in ordermodel.OrderItems.ToList()) + { + var pp = await _repoPermissionPeriod.Get(w => w.PermissionID == order.PermissionID && w.CompanyID == CompanyID && w.CalculationTypeID == 1).FirstOrDefaultAsync(); + if (pp != null) + { + pp.RemainingAmount += order.CreditAmount; + pp.TotalAmount += order.CreditAmount; + await _repoPermissionPeriod.UpdateAsync(pp); + } + } + ordermodel.Status = StatusOrder.Paid; + return await _repoOrder.UpdateAsync(ordermodel); + } + catch (Exception) + { + return false; + throw; + } + + + } } } diff --git a/Back/Services/servUser.cs b/Back/Services/servUser.cs index 66e449d..1afb24f 100644 --- a/Back/Services/servUser.cs +++ b/Back/Services/servUser.cs @@ -144,6 +144,7 @@ namespace Back.Services { ID = user.RolUsers.First().CompanyID, Name = user.RolUsers.First().Company.Name, + Credit = user.RolUsers.First().Company.Credit, IsAdmin = user.RolUsers.First().IsAdmin, Logo = user.RolUsers.First().Company.Logo == null ? null : Convert.ToBase64String(user.RolUsers.First().Company.Logo) diff --git a/Shared/DTOs/CompanyAuthenticationDTO.cs b/Shared/DTOs/CompanyAuthenticationDTO.cs index 426ef64..5f61235 100644 --- a/Shared/DTOs/CompanyAuthenticationDTO.cs +++ b/Shared/DTOs/CompanyAuthenticationDTO.cs @@ -6,7 +6,8 @@ public string Name { get; set; } public string? Logo { get; set; } public bool IsAdmin { get; set; } - // public ICollection permissions { get; set; } = new List(); + public decimal Credit { get; set; } = 0; + // public ICollection permissions { get; set; } = new List(); } } diff --git a/TaxPayerFull/CUSComponent/OrderItemRead.razor b/TaxPayerFull/CUSComponent/OrderItemRead.razor index e88bde8..2330644 100644 --- a/TaxPayerFull/CUSComponent/OrderItemRead.razor +++ b/TaxPayerFull/CUSComponent/OrderItemRead.razor @@ -1,6 +1,7 @@ @using Front.Services @using Shared.DTOs @inject HttpClientController hc; +@inject UserAuthenticationDTO userinfo @@ -126,6 +127,7 @@ string titledateapp = "تاریخ"; protected override async Task OnParametersSetAsync() { + Hidealert = true; if (order.Status == StatusOrder.Cancel) { titledateapp += " ابطال"; @@ -161,9 +163,7 @@ private async Task> LoadOrderItem() { - PreloadService.Show(SpinnerColor.Dark); var rsp = await hc.Get($"Orders/GetOrderDetails/{order.ID}"); - PreloadService.Hide(); if (rsp.IsSuccessStatusCode) return await rsp.Content.ReadFromJsonAsync?>(); else @@ -175,11 +175,11 @@ } private async Task OnClickPay() { - PreloadService.Show(SpinnerColor.Dark); var rsp = await hc.Get($"Orders/SubmitOrderBywallet/{order.ID}"); - PreloadService.Hide(); + if (rsp.IsSuccessStatusCode) { + userinfo.Company.Credit -= order.TPrice; result = new ActionInResultComponent(); result.Status = ComponentStatus.success; result.Action = ComponentAction.add; diff --git a/TaxPayerFull/Layout/PanelLayout.razor b/TaxPayerFull/Layout/PanelLayout.razor index 69652ed..a72c54f 100644 --- a/TaxPayerFull/Layout/PanelLayout.razor +++ b/TaxPayerFull/Layout/PanelLayout.razor @@ -89,11 +89,18 @@