diff --git a/src/BuildingBlocks/BuildingBlocks/Exceptions/Handler/CustomExceptionHandler.cs b/src/BuildingBlocks/BuildingBlocks/Exceptions/Handler/CustomExceptionHandler.cs index 598d5fdd..1aaa15f7 100644 --- a/src/BuildingBlocks/BuildingBlocks/Exceptions/Handler/CustomExceptionHandler.cs +++ b/src/BuildingBlocks/BuildingBlocks/Exceptions/Handler/CustomExceptionHandler.cs @@ -23,13 +23,7 @@ public async ValueTask TryHandleAsync(HttpContext context, Exception excep exception.GetType().Name, context.Response.StatusCode = StatusCodes.Status500InternalServerError ), - ValidationException => - ( - exception.Message, - exception.GetType().Name, - context.Response.StatusCode = StatusCodes.Status400BadRequest - ), - BadRequestException => + ValidationException or BadRequestException => ( exception.Message, exception.GetType().Name, diff --git a/src/Services/Catalog/Catalog.API/Products/CreateProduct/CreateProductHandler.cs b/src/Services/Catalog/Catalog.API/Products/CreateProduct/CreateProductHandler.cs index c18bf71f..3179fde2 100644 --- a/src/Services/Catalog/Catalog.API/Products/CreateProduct/CreateProductHandler.cs +++ b/src/Services/Catalog/Catalog.API/Products/CreateProduct/CreateProductHandler.cs @@ -24,16 +24,7 @@ public async Task Handle(CreateProductCommand command, Canc //create Product entity from command object //save to database //return CreateProductResult result - - var product = new Product - { - Name = command.Name, - Category = command.Category, - Description = command.Description, - ImageFile = command.ImageFile, - Price = command.Price - }; - + var product = command.Adapt(); //save to database session.Store(product); await session.SaveChangesAsync(cancellationToken); diff --git a/src/Services/Ordering/Ordering.Infrastructure/Data/Extensions/DatabaseExtentions.cs b/src/Services/Ordering/Ordering.Infrastructure/Data/Extensions/DatabaseExtentions.cs index 7bc2cc06..cdf516c4 100644 --- a/src/Services/Ordering/Ordering.Infrastructure/Data/Extensions/DatabaseExtentions.cs +++ b/src/Services/Ordering/Ordering.Infrastructure/Data/Extensions/DatabaseExtentions.cs @@ -14,7 +14,7 @@ public static async Task InitialiseDatabaseAsync(this WebApplication app) await SeedAsync(context); } - + private static async Task SeedAsync(ApplicationDbContext context) { await SeedCustomerAsync(context); @@ -24,28 +24,23 @@ private static async Task SeedAsync(ApplicationDbContext context) private static async Task SeedCustomerAsync(ApplicationDbContext context) { - if (!await context.Customers.AnyAsync()) - { - await context.Customers.AddRangeAsync(InitialData.Customers); - await context.SaveChangesAsync(); - } + if (await context.Customers.AnyAsync()) return; + await context.Customers.AddRangeAsync(InitialData.Customers); + await context.SaveChangesAsync(); } private static async Task SeedProductAsync(ApplicationDbContext context) { - if (!await context.Products.AnyAsync()) - { - await context.Products.AddRangeAsync(InitialData.Products); - await context.SaveChangesAsync(); - } + if (await context.Products.AnyAsync()) return; + await context.Products.AddRangeAsync(InitialData.Products); + await context.SaveChangesAsync(); } private static async Task SeedOrdersWithItemsAsync(ApplicationDbContext context) { - if (!await context.Orders.AnyAsync()) - { - await context.Orders.AddRangeAsync(InitialData.OrdersWithItems); - await context.SaveChangesAsync(); - } + if (await context.Orders.AnyAsync()) return; + await context.Orders.AddRangeAsync(InitialData.OrdersWithItems); + await context.SaveChangesAsync(); + } } diff --git a/src/Services/Ordering/Ordering.Infrastructure/Data/Interceptors/AuditableEntityInterceptor.cs b/src/Services/Ordering/Ordering.Infrastructure/Data/Interceptors/AuditableEntityInterceptor.cs index c6be6812..eaea2201 100644 --- a/src/Services/Ordering/Ordering.Infrastructure/Data/Interceptors/AuditableEntityInterceptor.cs +++ b/src/Services/Ordering/Ordering.Infrastructure/Data/Interceptors/AuditableEntityInterceptor.cs @@ -22,17 +22,24 @@ public void UpdateEntities(DbContext? context) foreach (var entry in context.ChangeTracker.Entries()) { - if (entry.State == EntityState.Added) - { - entry.Entity.CreatedBy = "mehmet"; - entry.Entity.CreatedAt = DateTime.UtcNow; - } + HandleEntryCreation(entry); + HandleEntryModification(entry); + } + } + private void HandleEntryCreation(EntityEntry entry) + { + if (entry.State != EntityState.Added) return; - if (entry.State == EntityState.Added || entry.State == EntityState.Modified || entry.HasChangedOwnedEntities()) - { - entry.Entity.LastModifiedBy = "mehmet"; - entry.Entity.LastModified = DateTime.UtcNow; - } + entry.Entity.CreatedBy = "mehmet"; + entry.Entity.CreatedAt = DateTime.UtcNow; + } + private void HandleEntryModification(EntityEntry entry) + { + if (entry is { State: EntityState.Added | EntityState.Modified } + || entry.HasChangedOwnedEntities()) + { + entry.Entity.LastModifiedBy = "mehmet"; + entry.Entity.LastModified = DateTime.UtcNow; } } }