This commit is contained in:
mmrbnjd
2024-09-08 21:50:17 +03:30
parent b81c950c39
commit 7d7b352b51
4 changed files with 83 additions and 41 deletions

View File

@@ -27,19 +27,24 @@ namespace Back.Validations
RuleFor(r => r)
.Custom((model, context) =>
{
if (model.Item2 != null && model.Item2 > 0)
{
var invoice = servInvoice.GetInvoiceByInvoiceID(model.Item1, model.Item2).Result;
if (invoice == null)
context.AddFailure("صورتحساب یافت نشد");
else
if (model.Item2 != null && model.Item2 > 0)
{
if (model.Item4 == eActionValidation.update || model.Item4 == eActionValidation.add)
var invoice = servInvoice.GetInvoiceByInvoiceID(model.Item1, model.Item2).Result;
if (invoice == null)
context.AddFailure("صورتحساب یافت نشد");
else
{
var totalpay = invoice.payments.Sum(s => s.pv).GetValueOrDefault() + model.Item3.pv;
if (totalpay > invoice.tbill) context.AddFailure("مجموع مبلغ پرداختی نمی تواند از مجموع صورتحساب بیشتر باشد.");
if (model.Item4 == eActionValidation.update || model.Item4 == eActionValidation.add)
{
if (model.Item3.pv <= 0)
{
context.AddFailure("مبلغ پرداختی باید بیشتر از صفر باشد.");
}
var totalpay = invoice.payments.Sum(s => s.pv).GetValueOrDefault() + model.Item3.pv;
if (totalpay > invoice.tbill) context.AddFailure("مجموع مبلغ پرداختی نمی تواند از مجموع صورتحساب بیشتر باشد.");
else
{
if (model.Item3.pmt.HasValue && model.Item3.pmt.Value > 0 && model.Item3.pmt.Value < 9)
@@ -50,13 +55,23 @@ namespace Back.Validations
}
else
{
var today = Convert.ToInt32(DateTime.Now.ConvertMiladiToShamsi());
string paydate = model.Item3.PaymentDateTime.Replace("/", "");
if (paydate.Length == 8 && int.TryParse(paydate, out int _paydate))
{
if (Convert.ToInt32(invoice.InvoiceDate) > _paydate)
if (today >= _paydate)
{
context.AddFailure("تاریخ پرداخت نمیتواند از تاریخ صورتحساب عقبتر باشد");
if (Convert.ToInt32(invoice.InvoiceDate) > _paydate)
{
context.AddFailure("تاریخ پرداخت نمیتواند از تاریخ صورتحساب عقبتر باشد");
}
}
else
{
context.AddFailure("تاریخ پرداخت نمی تواند از امروز جلوتر باشد");
}
}
else context.AddFailure("تاریخ صحیح نمی باشد");
@@ -67,7 +82,7 @@ namespace Back.Validations
}
}
}
if (servTaxPayer.ExistSuccessfulorSendorpendingInvoice(invoice).Result)
context.AddFailure("این صورتحساب به سازمان ارسال شده" + '\n' +