copy invoice

This commit is contained in:
mmrbnjd
2024-07-23 22:30:52 +03:30
parent 87aee3685b
commit 1dcadf1a35
6 changed files with 129 additions and 38 deletions

View File

@@ -30,7 +30,7 @@ namespace Back.Validations
});
});
When(m => m.Item3 == eActionValidation.add, () =>
When(m => m.Item3 == eActionValidation.add || m.Item3 == eActionValidation.copy, () =>
{
RuleFor(r => r.Item1)
.Custom((CompanyID, context) =>
@@ -41,48 +41,50 @@ namespace Back.Validations
});
});
RuleFor(r => r.Item2.Title)
When(m => m.Item3 == eActionValidation.add || m.Item3 == eActionValidation.update, () =>
{
RuleFor(r => r.Item2.Title)
.NotNull().WithMessage("عنوان نمی تواند خالی باشد")
.NotEmpty().WithMessage("عنوان نمی تواند خالی باشد")
.MinimumLength(3).WithMessage("عنوان حداقل باید 3 کاراکتر باشد");
RuleFor(r => r.Item2.PatternID)
.Custom((PatternID, context) =>
{
if (PatternID!=null && PatternID > 0 && !patternRepo.Get(w => w.Status && w.ID == PatternID).AnyAsync().Result)
context.AddFailure("الگوی صورتحساب معتبر نیست");
});
RuleFor(r => r)
.Custom((model, context) =>
{
if (model.Item2.CustomerID == null || model.Item2.CustomerID <=0)
context.AddFailure("برای صدور صورتحساب باید مشتری تعریف شود");
else if (!servCustomer.ExistCustomerByCustomerID(model.Item2.CustomerID, model.Item1).Result)
context.AddFailure("مشتری یافت نشد");
});
RuleFor(r => r.Item2.InvoiceDate)
.Custom((InvoiceDate, context) =>
RuleFor(r => r.Item2.PatternID)
.Custom((PatternID, context) =>
{
if (string.IsNullOrEmpty(InvoiceDate))
context.AddFailure("تاریخ ایجاد صورتحساب نمی تواند خالی باشد");
else if (InvoiceDate.Trim().ToMiladi() > DateTime.Now)
context.AddFailure("تاریخ ایجاد صورتحساب نمی تواند از امروز جلوتر باشد");
if (PatternID != null && PatternID > 0 && !patternRepo.Get(w => w.Status && w.ID == PatternID).AnyAsync().Result)
context.AddFailure("الگوی صورتحساب معتبر نیست");
});
RuleFor(r => r.Item2.InvoicIssueDate)
.Custom((InvoicIssueDate, context) =>
RuleFor(r => r)
.Custom((model, context) =>
{
if (string.IsNullOrEmpty(InvoicIssueDate))
context.AddFailure("تاریخ صدور صورتحساب نمی تواند خالی باشد");
if (model.Item2.CustomerID == null || model.Item2.CustomerID <= 0)
context.AddFailure("برای صدور صورتحساب باید مشتری تعریف شود");
else if (InvoicIssueDate.Trim().ToMiladi() > DateTime.Now)
context.AddFailure("تاریخ صدور صورتحساب نمی تواند از امروز جلوتر باشد");
else if (!servCustomer.ExistCustomerByCustomerID(model.Item2.CustomerID, model.Item1).Result)
context.AddFailure("مشتری یافت نشد");
});
RuleFor(r => r.Item2.InvoiceDate)
.Custom((InvoiceDate, context) =>
{
if (string.IsNullOrEmpty(InvoiceDate))
context.AddFailure("تاریخ ایجاد صورتحساب نمی تواند خالی باشد");
else if (InvoiceDate.Trim().ToMiladi() > DateTime.Now)
context.AddFailure("تاریخ ایجاد صورتحساب نمی تواند از امروز جلوتر باشد");
});
RuleFor(r => r.Item2.InvoicIssueDate)
.Custom((InvoicIssueDate, context) =>
{
if (string.IsNullOrEmpty(InvoicIssueDate))
context.AddFailure("تاریخ صدور صورتحساب نمی تواند خالی باشد");
else if (InvoicIssueDate.Trim().ToMiladi() > DateTime.Now)
context.AddFailure("تاریخ صدور صورتحساب نمی تواند از امروز جلوتر باشد");
});
});
}
}
}