Files
ShopSolution-backend/Webshop.Application/Services/ProductService.cs
2025-07-21 20:51:55 +02:00

48 lines
1.4 KiB
C#

// src/Webshop.Application/Services/ProductService.cs
using Webshop.Application.DTOs;
using Webshop.Domain.Interfaces;
namespace Webshop.Application.Services
{
public class ProductService
{
private readonly IProductRepository _productRepository;
public ProductService(IProductRepository productRepository)
{
_productRepository = productRepository;
}
public async Task<IEnumerable<ProductDto>> GetAllProductsAsync()
{
var productsFromDb = await _productRepository.GetAllProductsAsync();
var productDtos = productsFromDb.Select(p => new ProductDto
{
Id = p.Id,
Name = p.Name,
Description = p.Description,
Price = p.Price,
Sku = p.SKU
});
return productDtos;
}
public async Task<ProductDto> CreateProductAsync(ProductDto productDto)
{
var newProduct = new Domain.Entities.Product
{
Name = productDto.Name,
Description = productDto.Description,
Price = productDto.Price,
SKU = productDto.Sku
};
await _productRepository.AddProductAsync(newProduct);
productDto.Id = newProduct.Id;
return productDto;
}
}
}