Add MediatR commands/queries/handlers and DTOs

This commit is contained in:
lumijiez
2025-05-27 13:13:56 +03:00
parent 89ac29c1fd
commit 6e59f46cf0
20 changed files with 452 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
using MediatR;
using Printbase.Application.Products.Dtos;
namespace Printbase.Application.Products.Commands;
public class CreateCategoryCommand : IRequest<CategoryDto>
{
public string Name { get; set; } = null!;
public string Description { get; set; } = null!;
public string? ImageUrl { get; set; }
public int SortOrder { get; set; }
public bool IsActive { get; set; } = true;
public Guid? ParentCategoryId { get; set; }
}

View File

@@ -0,0 +1,15 @@
using MediatR;
using Printbase.Application.Products.Dtos;
namespace Printbase.Application.Products.Commands;
public class CreateProductCommand : IRequest<ProductDto>
{
public string Name { get; set; } = null!;
public string? Description { get; set; }
public decimal BasePrice { get; set; }
public bool IsCustomizable { get; set; }
public bool IsActive { get; set; } = true;
public string? ImageUrl { get; set; }
public Guid? CategoryId { get; set; }
}

View File

@@ -0,0 +1,16 @@
using MediatR;
using Printbase.Application.Products.Dtos;
namespace Printbase.Application.Products.Commands;
public class CreateProductVariantCommand : IRequest<ProductVariantDto>
{
public Guid ProductId { get; set; }
public string Size { get; set; } = null!;
public string? Color { get; set; }
public decimal Price { get; set; }
public string? ImageUrl { get; set; }
public string Sku { get; set; } = null!;
public int StockQuantity { get; set; }
public bool IsActive { get; set; } = true;
}

View File

@@ -0,0 +1,8 @@
using MediatR;
namespace Printbase.Application.Products.Commands;
public class DeleteCategoryCommand : IRequest<bool>
{
public Guid Id { get; set; }
}

View File

@@ -0,0 +1,8 @@
using MediatR;
namespace Printbase.Application.Products.Commands;
public class DeleteProductCommand : IRequest<bool>
{
public Guid Id { get; set; }
}

View File

@@ -0,0 +1,8 @@
using MediatR;
namespace Printbase.Application.Products.Commands;
public class DeleteProductVariantCommand : IRequest<bool>
{
public Guid Id { get; set; }
}