Sobes.tech
Junior — Middle

Pode dar um exemplo em que as operações CRUD padrão se combinem com lógica de negócio adicional do utilizador?

sobes.tech IA

Resposta da IA

Exemplo de combinação de operações CRUD padrão com lógica de negócio adicional em C#:

public class OrderService
{
    private readonly IOrderRepository _repository;

    public OrderService(IOrderRepository repository)
    {
        _repository = repository;
    }

    public void CreateOrder(Order order)
    {
        // Lógica de negócio: verificar disponibilidade do produto
        if (!IsProductAvailable(order.ProductId, order.Quantity))
            throw new InvalidOperationException("Produto não disponível na quantidade necessária");

        // Operação padrão de criação
        _repository.Add(order);

        // Lógica adicional: notificação ao usuário
        NotifyUser(order.UserId, "Seu pedido foi criado");
    }

    // Outros métodos CRUD com lógica de negócio
}

Aqui, criar um pedido é uma operação CRUD, mas antes de salvar, verifica-se as regras de negócio, e após, envia-se uma notificação.