public async Task <ResultEntity <ItemPedido> > Add(ItemPedido itemPedido) { try { var itensPedido = await _repository.GetByPedidoId(itemPedido.PedidoID); if (itensPedido.Count() == 10) { return(ResultEntity <ItemPedido> .Fail(itemPedido, $"Só é permitido 10 itens por pedido - {itemPedido.CodPedido}")); } var pizzas = await _pizzaRepository.GetAll(); if (!pizzas.Any()) { throw new ArgumentNullException(nameof(itemPedido), "Nenhuma pizza cadastrada!"); } itemPedido = new ItemPedido(1, itemPedido.QuantidadeSabores, itemPedido.PizzaID1, itemPedido.PizzaID2, pizzas.ToList(), itemPedido.PedidoID); itemPedido = await _repository.Create(itemPedido); return(ResultEntity <ItemPedido> .Success(itemPedido)); } catch (Exception e) { return(ResultEntity <ItemPedido> .Fail(itemPedido, $"Ocorreu algum erro na criação do ItemPedido - {e.Message}")); } }