diff --git a/Back/Validations/Warehouse/Receipt/ADDValidation.cs b/Back/Validations/Warehouse/Receipt/ADDValidation.cs index 28a1722..725a409 100644 --- a/Back/Validations/Warehouse/Receipt/ADDValidation.cs +++ b/Back/Validations/Warehouse/Receipt/ADDValidation.cs @@ -4,6 +4,7 @@ using Shared.DTOs.Warehouse; using Net.Pkcs11Interop.Common; using Back.Services; using Back.Data.Models; +using Back.Common; namespace Back.Validations.Warehouse.Receipt { @@ -33,6 +34,21 @@ namespace Back.Validations.Warehouse.Receipt context.AddFailure("توضیحی برای رسید در نظر بگیرید"); }); + + RuleFor(r => r.Item1.Date) + .Custom((InvoiceDate, context) => + { + if (string.IsNullOrEmpty(InvoiceDate)) + context.AddFailure("تاریخ نمی تواند خالی باشد"); + + else if (InvoiceDate.Length != 8) + context.AddFailure("تاریخ صحیح نمی باشد"); + + else if (InvoiceDate.Trim().ToMiladi() > DateTime.Now) + context.AddFailure("تاریخ از امروز جلوتر باشد"); + }); + + RuleFor(r => r.Item2) .Custom((CompanyID, context) => { diff --git a/Back/Validations/Warehouse/Receipt/UpdateValidation.cs b/Back/Validations/Warehouse/Receipt/UpdateValidation.cs index f31ecb8..e7c3203 100644 --- a/Back/Validations/Warehouse/Receipt/UpdateValidation.cs +++ b/Back/Validations/Warehouse/Receipt/UpdateValidation.cs @@ -1,4 +1,5 @@ -using Back.Data.Contracts; +using Back.Common; +using Back.Data.Contracts; using Back.Services; using Back.Services.Warehouse; using FluentValidation; @@ -13,6 +14,18 @@ namespace Back.Validations.Warehouse.Receipt public UpdateValidation(IAsyncRepository _ReceiptRepo, ServCOD servCOD, WarehouseService warehouseService) { CascadeMode = CascadeMode.Stop; + RuleFor(r => r.Item1.Date) + .Custom((InvoiceDate, context) => + { + if (string.IsNullOrEmpty(InvoiceDate)) + context.AddFailure("تاریخ نمی تواند خالی باشد"); + + else if (InvoiceDate.Length != 8) + context.AddFailure("تاریخ صحیح نمی باشد"); + + else if (InvoiceDate.Trim().ToMiladi() > DateTime.Now) + context.AddFailure("تاریخ از امروز جلوتر باشد"); + }); RuleFor(model => model) .Custom((model, context) => { diff --git a/Back/Validations/Warehouse/Remittance/ADDValidation.cs b/Back/Validations/Warehouse/Remittance/ADDValidation.cs index 9d849bc..bf6b7e8 100644 --- a/Back/Validations/Warehouse/Remittance/ADDValidation.cs +++ b/Back/Validations/Warehouse/Remittance/ADDValidation.cs @@ -1,4 +1,5 @@ -using Back.Services; +using Back.Common; +using Back.Services; using Back.Services.Warehouse; using FluentValidation; using Shared.DTOs.Warehouse; @@ -11,6 +12,19 @@ namespace Back.Validations.Warehouse.Remittance { CascadeMode = CascadeMode.Stop; + RuleFor(r => r.Item1.Date) + .Custom((InvoiceDate, context) => + { + if (string.IsNullOrEmpty(InvoiceDate)) + context.AddFailure("تاریخ نمی تواند خالی باشد"); + + else if (InvoiceDate.Length != 8) + context.AddFailure("تاریخ صحیح نمی باشد"); + + else if (InvoiceDate.Trim().ToMiladi() > DateTime.Now) + context.AddFailure("تاریخ از امروز جلوتر باشد"); + }); + RuleFor(model => model) .Custom((model, context) => { diff --git a/Back/Validations/Warehouse/Remittance/UpdateValidation.cs b/Back/Validations/Warehouse/Remittance/UpdateValidation.cs index 8972a6e..d074675 100644 --- a/Back/Validations/Warehouse/Remittance/UpdateValidation.cs +++ b/Back/Validations/Warehouse/Remittance/UpdateValidation.cs @@ -4,6 +4,7 @@ using Back.Services; using FluentValidation; using Shared.DTOs.Warehouse; using Microsoft.EntityFrameworkCore; +using Back.Common; namespace Back.Validations.Warehouse.Remittance { @@ -12,6 +13,20 @@ namespace Back.Validations.Warehouse.Remittance public UpdateValidation(IAsyncRepository _Repo, ServCOD servCOD, WarehouseService warehouseService) { CascadeMode = CascadeMode.Stop; + RuleFor(r => r.Item1.Date) + .Custom((InvoiceDate, context) => + { + if (string.IsNullOrEmpty(InvoiceDate)) + context.AddFailure("تاریخ نمی تواند خالی باشد"); + + else if (InvoiceDate.Length != 8) + context.AddFailure("تاریخ صحیح نمی باشد"); + + else if (InvoiceDate.Trim().ToMiladi() > DateTime.Now) + context.AddFailure("تاریخ از امروز جلوتر باشد"); + }); + + RuleFor(model => model) .Custom((model, context) => { var ORGitem = _Repo.Get(w => w.ID == model.Item1.ID && !w.Deleted).Include(i => i.cODItem).FirstOrDefault(); diff --git a/TaxPayerFull/CUSComponent/OrderItemNew.razor b/TaxPayerFull/CUSComponent/OrderItemNew.razor index 8a4097d..dc3e457 100644 --- a/TaxPayerFull/CUSComponent/OrderItemNew.razor +++ b/TaxPayerFull/CUSComponent/OrderItemNew.razor @@ -118,6 +118,24 @@ } + if (Selected.promotionDetails.Any(w => w.PermissionID == 18)) + { + + @Selected.promotionDetails.Where(w => w.PermissionID == 18).Select(s => s.PermissionTitle).FirstOrDefault() + @Selected.promotionDetails.Where(w => w.PermissionID == 18).Select(s => s.APrice).FirstOrDefault().ToString("N0") ريال + + @if (Selected.ID < 0) + { + + } + else + { + + + } + + + } } @@ -154,7 +172,7 @@ public List Promotions { get; set; } = new(); public PromotionDto? Selected { get; set; } = null; // invoice cod cus tax - int[] values = { 0,0,0,0}; + int[] values = { 0,0,0,0,0}; decimal TotalPrice = 0; } @functions { @@ -176,7 +194,7 @@ { orderSelectName = "نوع سفارش"; Selected = null; - values =new int[] { 0,0,0,0}; + values =new int[] { 0,0,0,0,0}; TotalPrice = 0; Promotions = await fv.GetPromotion(); orderstype = new List>(); @@ -220,6 +238,10 @@ if (itemtax != null) itemtax.CreditAmount = values[3]; + var itemwarehouse = Selected.promotionDetails.Where(w => w.PermissionID == 18).FirstOrDefault(); + if (itemwarehouse != null) + itemwarehouse.CreditAmount = values[4]; + TotalPrice = Selected.TotalPrice; } @@ -230,8 +252,8 @@ SpinnerVisible = true; if (Selected != null) { - if (Selected.ID < 0 && (values[0] < 0 || values[1] < 0 || values[2] < 0 || values[3] < 0)) return; - if (Selected.ID < 0 && values[0] == 0 && values[1] == 0 && values[2] == 0 && values[3] == 0) return; + if (Selected.ID < 0 && (values[0] < 0 || values[1] < 0 || values[2] < 0 || values[3] < 0 || values[4] < 0)) return; + if (Selected.ID < 0 && values[0] == 0 && values[1] == 0 && values[2] == 0 && values[3] == 0 && values[4] == 0) return; //--------- var itemFac = Selected.promotionDetails.Where(w => w.PermissionID == 3).FirstOrDefault(); @@ -249,6 +271,10 @@ var itemtax = Selected.promotionDetails.Where(w => w.PermissionID == 16).FirstOrDefault(); if (itemtax != null) itemtax.CreditAmount = values[3]; + + var itemwarehouse = Selected.promotionDetails.Where(w => w.PermissionID == 18).FirstOrDefault(); + if (itemwarehouse != null) + itemwarehouse.CreditAmount = values[4]; //--------- var rsp = await hc.Post($"Orders/AddOrder", Selected); if (rsp.IsSuccessStatusCode) diff --git a/TaxPayerFull/Pages/UserPanel/Warehouse.razor b/TaxPayerFull/Pages/UserPanel/Warehouse.razor index 4210870..1908131 100644 --- a/TaxPayerFull/Pages/UserPanel/Warehouse.razor +++ b/TaxPayerFull/Pages/UserPanel/Warehouse.razor @@ -12,7 +12,7 @@ @* search *@

- سرویس ها / مشتری + سرویس ها / انبارداری