This commit is contained in:
masoodafar-web
2025-11-18 22:38:50 +03:30
parent dba8aecc97
commit f6dcd43346
76 changed files with 3778 additions and 1386 deletions
@@ -0,0 +1,22 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.PruductTag;
namespace CMSMicroservice.Protobuf.Validator.PruductTag;
public class CreateNewPruductTagRequestValidator : AbstractValidator<CreateNewPruductTagRequest>
{
public CreateNewPruductTagRequestValidator()
{
RuleFor(model => model.ProductId)
.NotEmpty();
RuleFor(model => model.TagId)
.NotEmpty();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<CreateNewPruductTagRequest>.CreateWithOptions((CreateNewPruductTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,20 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.PruductTag;
namespace CMSMicroservice.Protobuf.Validator.PruductTag;
public class DeletePruductTagRequestValidator : AbstractValidator<DeletePruductTagRequest>
{
public DeletePruductTagRequestValidator()
{
RuleFor(model => model.Id)
.NotNull();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<DeletePruductTagRequest>.CreateWithOptions((DeletePruductTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,18 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.PruductTag;
namespace CMSMicroservice.Protobuf.Validator.PruductTag;
public class GetAllPruductTagByFilterRequestValidator : AbstractValidator<GetAllPruductTagByFilterRequest>
{
public GetAllPruductTagByFilterRequestValidator()
{
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<GetAllPruductTagByFilterRequest>.CreateWithOptions((GetAllPruductTagByFilterRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,20 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.PruductTag;
namespace CMSMicroservice.Protobuf.Validator.PruductTag;
public class GetPruductTagRequestValidator : AbstractValidator<GetPruductTagRequest>
{
public GetPruductTagRequestValidator()
{
RuleFor(model => model.Id)
.NotNull();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<GetPruductTagRequest>.CreateWithOptions((GetPruductTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,24 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.PruductTag;
namespace CMSMicroservice.Protobuf.Validator.PruductTag;
public class UpdatePruductTagRequestValidator : AbstractValidator<UpdatePruductTagRequest>
{
public UpdatePruductTagRequestValidator()
{
RuleFor(model => model.Id)
.NotNull();
RuleFor(model => model.ProductId)
.NotEmpty();
RuleFor(model => model.TagId)
.NotEmpty();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<UpdatePruductTagRequest>.CreateWithOptions((UpdatePruductTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,24 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.Tag;
namespace CMSMicroservice.Protobuf.Validator.Tag;
public class CreateNewTagRequestValidator : AbstractValidator<CreateNewTagRequest>
{
public CreateNewTagRequestValidator()
{
RuleFor(model => model.Name)
.NotEmpty();
RuleFor(model => model.Title)
.NotEmpty();
RuleFor(model => model.SortOrder)
.NotNull();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<CreateNewTagRequest>.CreateWithOptions((CreateNewTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,20 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.Tag;
namespace CMSMicroservice.Protobuf.Validator.Tag;
public class DeleteTagRequestValidator : AbstractValidator<DeleteTagRequest>
{
public DeleteTagRequestValidator()
{
RuleFor(model => model.Id)
.NotNull();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<DeleteTagRequest>.CreateWithOptions((DeleteTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,18 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.Tag;
namespace CMSMicroservice.Protobuf.Validator.Tag;
public class GetAllTagByFilterRequestValidator : AbstractValidator<GetAllTagByFilterRequest>
{
public GetAllTagByFilterRequestValidator()
{
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<GetAllTagByFilterRequest>.CreateWithOptions((GetAllTagByFilterRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,20 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.Tag;
namespace CMSMicroservice.Protobuf.Validator.Tag;
public class GetTagRequestValidator : AbstractValidator<GetTagRequest>
{
public GetTagRequestValidator()
{
RuleFor(model => model.Id)
.NotNull();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<GetTagRequest>.CreateWithOptions((GetTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}
@@ -0,0 +1,26 @@
using FluentValidation;
using CMSMicroservice.Protobuf.Protos.Tag;
namespace CMSMicroservice.Protobuf.Validator.Tag;
public class UpdateTagRequestValidator : AbstractValidator<UpdateTagRequest>
{
public UpdateTagRequestValidator()
{
RuleFor(model => model.Id)
.NotNull();
RuleFor(model => model.Name)
.NotEmpty();
RuleFor(model => model.Title)
.NotEmpty();
RuleFor(model => model.SortOrder)
.NotNull();
}
public Func<object, string, Task<IEnumerable<string>>> ValidateValue => async (model, propertyName) =>
{
var result = await ValidateAsync(ValidationContext<UpdateTagRequest>.CreateWithOptions((UpdateTagRequest)model, x => x.IncludeProperties(propertyName)));
if (result.IsValid)
return Array.Empty<string>();
return result.Errors.Select(e => e.ErrorMessage);
};
}