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