...
This commit is contained in:
65
Back/Validations/AddOrCodValidation.cs
Normal file
65
Back/Validations/AddOrCodValidation.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using Back.Common;
|
||||
using Back.Services;
|
||||
using FluentValidation;
|
||||
using Shared.DTOs;
|
||||
|
||||
namespace Back.Validations
|
||||
{
|
||||
public class AddOrCodValidation : AbstractValidator<Tuple<int, RCOD, eActionValidation>>
|
||||
{
|
||||
public AddOrCodValidation(CheckPermission _checkPermission, ServCOD servCod)
|
||||
{
|
||||
CascadeMode = CascadeMode.Stop;
|
||||
When(r => r.Item3 == eActionValidation.add, () =>
|
||||
{
|
||||
RuleFor(r => r.Item1)
|
||||
.Custom((CompanyID, context) =>
|
||||
{
|
||||
|
||||
if (!_checkPermission.AllowAddCODInCompany(CompanyID).Result)
|
||||
context.AddFailure("اضافه کردن کالا محدود شده است");
|
||||
});
|
||||
});
|
||||
|
||||
When(r => r.Item3 == eActionValidation.update, () =>
|
||||
{
|
||||
RuleFor(r => r)
|
||||
.Custom((model, context) =>
|
||||
{
|
||||
var companyid = model.Item1;
|
||||
if (!model.Item2.ID.HasValue || model.Item2.ID <= 0)
|
||||
context.AddFailure("شناسه کالا نمی تواند خالی باشذ");
|
||||
else
|
||||
{
|
||||
var customerid = model.Item2.ID.Value;
|
||||
if (!servCod.ExistCodByCustomerID(customerid, companyid).Result)
|
||||
context.AddFailure("کالا با این شناسه یافت نشد");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
RuleFor(r => r.Item2.Title)
|
||||
.NotNull().WithMessage("نام نمی تواند خالی باشد")
|
||||
.NotEmpty().WithMessage("نام نمی تواند خالی باشد")
|
||||
.MinimumLength(3).WithMessage("حداقل کارکتر مجار نام 3 می باشد");
|
||||
//
|
||||
RuleFor(r => r.Item2.UnitID)
|
||||
.NotNull().WithMessage("واحد اندازه گیزی نمی تواند خالی باشد")
|
||||
.NotEmpty().WithMessage("واحد اندازه گیزی نمی تواند خالی باشد")
|
||||
;
|
||||
RuleFor(r => r.Item2.TaxRate)
|
||||
.NotNull().WithMessage("نرخ مالیات نمی تواند خالی باشد")
|
||||
.NotEmpty().WithMessage("نرخ مالیات نمی تواند خالی باشد")
|
||||
.Custom((TaxRate, context) =>
|
||||
{
|
||||
if (TaxRate > 100)
|
||||
context.AddFailure("نرخ مالیات نمی تواند بیشتر از 100 باشد");
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user