Files
moadiran/Back/Validations/AddCustomerValidation.cs

62 lines
2.9 KiB
C#
Raw Normal View History

2024-05-07 17:49:02 +03:30
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("تعداد شماره گذرنامه صحبح نمی باشد");
});
}
}
}