62 lines
2.9 KiB
C#
62 lines
2.9 KiB
C#
![]() |
using Back.Services;
|
|||
|
using FluentValidation;
|
|||
|
using Shared.DTOs;
|
|||
|
|
|||
|
namespace Back.Validations
|
|||
|
{
|
|||
|
public class AddCustomerValidation : AbstractValidator<Tuple<int, RCustomer>>
|
|||
|
{
|
|||
|
public AddCustomerValidation(CheckPermission _checkPermission)
|
|||
|
{
|
|||
|
CascadeMode = CascadeMode.Stop;
|
|||
|
RuleFor(r => r.Item1)
|
|||
|
.Custom((CompanyID, context) => {
|
|||
|
if (! _checkPermission.AllowAddCustomerInCompany(CompanyID).Result)
|
|||
|
context.AddFailure("اضافه کردن مشتری محدود شده است");
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
RuleFor(r => r.Item2.FullName)
|
|||
|
.NotNull().WithMessage("نام نمی تواند خالی باشذ")
|
|||
|
.NotEmpty().WithMessage("نام نمی تواند خالی باشذ")
|
|||
|
.MinimumLength(5).WithMessage("حداقل کارکتر مجار نام 5 می باشد");
|
|||
|
|
|||
|
RuleFor(r => r.Item2.Phone)
|
|||
|
.NotNull().WithMessage("تلفن نمی تواند خالی باشذ")
|
|||
|
.NotEmpty().WithMessage("تلفن نمی تواند خالی باشذ")
|
|||
|
.MinimumLength(8).WithMessage("حداقل کارکتر مجار تلفن 8 می باشد");
|
|||
|
|
|||
|
RuleFor(r => r.Item2.Email)
|
|||
|
.Custom((model, context) => {
|
|||
|
if (!string.IsNullOrEmpty(model) && (!model.Contains("@") || !model.Contains(".")))
|
|||
|
context.AddFailure("فرمت پست الکترونیک صحبح نمی باشد");
|
|||
|
});
|
|||
|
RuleFor(r => r.Item2.EconomicCode)
|
|||
|
.Custom((model, context) => {
|
|||
|
if (!string.IsNullOrEmpty(model) && (model.Length<11 || model.Length > 14))
|
|||
|
context.AddFailure("تعداد شماره اقتصادی صحبح نمی باشد");
|
|||
|
});
|
|||
|
RuleFor(r => r.Item2.BranchID)
|
|||
|
.Custom((model, context) => {
|
|||
|
if (!string.IsNullOrEmpty(model) && (model.Length > 10 ))
|
|||
|
context.AddFailure("تعداد کد شعبه صحبح نمی باشد");
|
|||
|
});
|
|||
|
RuleFor(r => r.Item2.ZipCode)
|
|||
|
.Custom((model, context) => {
|
|||
|
if (!string.IsNullOrEmpty(model) && (model.Length !=10))
|
|||
|
context.AddFailure("تعداد کد پستی صحبح نمی باشد");
|
|||
|
});
|
|||
|
RuleFor(r => r.Item2.MeliCode)
|
|||
|
.Custom((model, context) => {
|
|||
|
if (!string.IsNullOrEmpty(model) && (model.Length < 10 || model.Length > 12))
|
|||
|
context.AddFailure("تعداد شناسه ملی صحبح نمی باشد");
|
|||
|
});
|
|||
|
RuleFor(r => r.Item2.PassportNumber)
|
|||
|
.Custom((model, context) => {
|
|||
|
if (!string.IsNullOrEmpty(model) && (model.Length!=9))
|
|||
|
context.AddFailure("تعداد شماره گذرنامه صحبح نمی باشد");
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|