From 52ccd68228c7ed20e6295418e52362fec8cedd81 Mon Sep 17 00:00:00 2001 From: "Amir.H Khademi" Date: Sat, 8 Jun 2024 22:51:09 +0330 Subject: [PATCH] feat(FastProductCreateDialog),refactor(Pages),refactor(Commands) -ADD FAST PRODUCT CREATE DIALOG -Refactor page and layout and fix some responsive issues -Refactor brand and product command and return Guid in response create --- Netina.Api/Controllers/PageController.cs | 3 +-- Netina.Api/Controllers/SeedController.cs | 4 ++-- .../CommandQueries/Commands/BrandCommands.cs | 2 +- .../Handlers/Brands/CreateBrandCommandHandler.cs | 6 +++--- .../Validators/CreateBrandCommandValidator.cs | 5 ----- .../Validators/CreateProductCommandValidator.cs | 16 ++++++++-------- 6 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Netina.Api/Controllers/PageController.cs b/Netina.Api/Controllers/PageController.cs index 822ac0c..42befbe 100644 --- a/Netina.Api/Controllers/PageController.cs +++ b/Netina.Api/Controllers/PageController.cs @@ -20,8 +20,7 @@ public class PageController : ICarterModule group.MapGet("slug/{pageSlug}", GetPageAsync) .WithDisplayName("Get Page") - .HasApiVersion(1.0) - .RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser().RequireClaim(CustomClaimType.Permission, ApplicationPermission.ViewPages, ApplicationPermission.ManagePages)); + .HasApiVersion(1.0); group.MapGet("type/{type}", GetPageByTypeAsync) .WithDisplayName("Get Page") diff --git a/Netina.Api/Controllers/SeedController.cs b/Netina.Api/Controllers/SeedController.cs index 753c4aa..acc7f01 100644 --- a/Netina.Api/Controllers/SeedController.cs +++ b/Netina.Api/Controllers/SeedController.cs @@ -99,12 +99,12 @@ public class SeedController : ICarterModule Dictionary brands = new Dictionary(); var baseBrand = await mediator.Send(new CreateBrandCommand("بدون برند","NoBrand", "محصولات بدون برند", false,string.Empty, new List()), cancellationToken); - brands.Add(0, baseBrand.Id); + brands.Add(0, baseBrand); foreach (var requestDto in request) { var sDto = await mediator.Send(new CreateBrandCommand(requestDto.Name,string.Empty, requestDto.Description, false, string.Empty, new List()), cancellationToken); - brands.Add(requestDto.BaseBrandId,sDto.Id); + brands.Add(requestDto.BaseBrandId,sDto); } return TypedResults.Ok(brands); diff --git a/Netina.Domain/CommandQueries/Commands/BrandCommands.cs b/Netina.Domain/CommandQueries/Commands/BrandCommands.cs index 1353284..f9d3281 100644 --- a/Netina.Domain/CommandQueries/Commands/BrandCommands.cs +++ b/Netina.Domain/CommandQueries/Commands/BrandCommands.cs @@ -1,6 +1,6 @@ namespace Netina.Domain.CommandQueries.Commands; -public sealed record CreateBrandCommand(string PersianName,string EnglishName, string Description , bool HasSpecialPage , string PageUrl, List Files) : IRequest; +public sealed record CreateBrandCommand(string PersianName,string EnglishName, string Description , bool HasSpecialPage , string PageUrl, List Files) : IRequest; public sealed record UpdateBrandCommand(Guid Id,string PersianName, string EnglishName, string Description, bool HasSpecialPage, string PageUrl, List Files) : IRequest; diff --git a/Netina.Repository/Handlers/Brands/CreateBrandCommandHandler.cs b/Netina.Repository/Handlers/Brands/CreateBrandCommandHandler.cs index 7b7b4b9..ecaa60c 100644 --- a/Netina.Repository/Handlers/Brands/CreateBrandCommandHandler.cs +++ b/Netina.Repository/Handlers/Brands/CreateBrandCommandHandler.cs @@ -2,7 +2,7 @@ namespace Netina.Repository.Handlers.Brands; -public class CreateBrandCommandHandler : IRequestHandler +public class CreateBrandCommandHandler : IRequestHandler { private readonly IRepositoryWrapper _repositoryWrapper; @@ -10,7 +10,7 @@ public class CreateBrandCommandHandler : IRequestHandler Handle(CreateBrandCommand request, CancellationToken cancellationToken) + public async Task Handle(CreateBrandCommand request, CancellationToken cancellationToken) { var ent = Brand.Create(request.PersianName,request.EnglishName, request.Description, request.HasSpecialPage, request.PageUrl); foreach (var file in request.Files) @@ -19,6 +19,6 @@ public class CreateBrandCommandHandler : IRequestHandler().Add(ent); await _repositoryWrapper.SaveChangesAsync(cancellationToken); - return ent.AdaptToSDto(); + return ent.Id; } } \ No newline at end of file diff --git a/Netina.Repository/Handlers/Brands/Validators/CreateBrandCommandValidator.cs b/Netina.Repository/Handlers/Brands/Validators/CreateBrandCommandValidator.cs index a239ffc..3ccd6f4 100644 --- a/Netina.Repository/Handlers/Brands/Validators/CreateBrandCommandValidator.cs +++ b/Netina.Repository/Handlers/Brands/Validators/CreateBrandCommandValidator.cs @@ -10,10 +10,5 @@ public class CreateBrandCommandValidator : AbstractValidator .NotNull() .NotEmpty() .WithMessage("نام فارسی برند را وارد کنید"); - - RuleFor(r => r.EnglishName) - .NotNull() - .NotEmpty() - .WithMessage("نام انگلیسی برند را وارد کنید"); } } \ No newline at end of file diff --git a/Netina.Repository/Handlers/Products/Validators/CreateProductCommandValidator.cs b/Netina.Repository/Handlers/Products/Validators/CreateProductCommandValidator.cs index 7290d3c..2154f5e 100644 --- a/Netina.Repository/Handlers/Products/Validators/CreateProductCommandValidator.cs +++ b/Netina.Repository/Handlers/Products/Validators/CreateProductCommandValidator.cs @@ -11,15 +11,15 @@ public class CreateProductCommandValidator : AbstractValidator d.EnglishName) - .NotNull() - .NotEmpty() - .WithMessage("نام انگلیسی کالا مورد نظر را وارد کنید"); + //RuleFor(d => d.EnglishName) + // .NotNull() + // .NotEmpty() + // .WithMessage("نام انگلیسی کالا مورد نظر را وارد کنید"); - RuleFor(d => d.Summery) - .NotNull() - .NotEmpty() - .WithMessage("توضیحات کوتاه کالا مورد نظر را وارد کنید"); + //RuleFor(d => d.Summery) + // .NotNull() + // .NotEmpty() + // .WithMessage("توضیحات کوتاه کالا مورد نظر را وارد کنید"); RuleFor(d => d.CategoryId) .NotEqual(Guid.Empty)