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}")); } }
public ResultEntity <Cliente> Update(Cliente clinete) { try { _repository.Update(clinete); return(ResultEntity <Cliente> .Success(clinete)); } catch (Exception e) { return(ResultEntity <Cliente> .Fail(clinete, $"Ocorreu algum erro na alteração do Cliente - {e.Message}")); } }
public ResultEntity <Pizza> Update(Pizza pizza) { try { pizza.Update(pizza.Id, pizza.Sabor, pizza.Valor); _repository.Update(pizza); return(ResultEntity <Pizza> .Success(pizza)); } catch (Exception e) { return(ResultEntity <Pizza> .Fail(pizza, $"Ocorreu algum erro na alteração da pizza - {e.Message}")); } }
public ResultEntity <ItemPedido> Update(ItemPedido itemPedido) { try { //pedido.Update(pedido.Id, pedido.Sabor, pedido.Valor); _repository.Update(itemPedido); return(ResultEntity <ItemPedido> .Success(itemPedido)); } catch (Exception e) { return(ResultEntity <ItemPedido> .Fail(itemPedido, $"Ocorreu algum erro na alteração do item pedido - {e.Message}")); } }
public ResultEntity <Pizza> Add(Pizza pizza) { try { var _pizza = _repository.GetBySabor(pizza.Sabor); if (_pizza != null) { return(ResultEntity <Pizza> .Fail(pizza, $"Já existe uma pizza com o sabor - {pizza.Sabor}")); } _repository.Add(pizza); return(ResultEntity <Pizza> .Success(pizza)); } catch (Exception e) { return(ResultEntity <Pizza> .Fail(pizza, $"Ocorreu algum erro na criação da pizza - {e.Message}")); } }
public ResultEntity <Cliente> Create(Cliente cliente) { try { var _cliente = _repository.GetByTelefone(cliente.Telefone); if (_cliente != null) { return(ResultEntity <Cliente> .Fail(cliente, $"Já existe uma Cliente com o telefone - {cliente.Telefone}")); } _repository.Add(cliente); return(ResultEntity <Cliente> .Success(cliente)); } catch (Exception e) { return(ResultEntity <Cliente> .Fail(cliente, $"Ocorreu algum erro na criação da Cliente - {e.Message}")); } }
public async Task <ResultEntity <ItemPedido> > Delete(int id) { try { var itemPedido = await _repository.GetById(id); if (itemPedido == null) { return(ResultEntity <ItemPedido> .Fail(itemPedido, $"Item Pedido não existe")); } _repository.Delete(itemPedido); return(ResultEntity <ItemPedido> .Success(itemPedido)); } catch (Exception e) { return(ResultEntity <ItemPedido> .Fail(new ItemPedido(), $"Ocorreu algum erro na exclusão do Item Pedido - {e.Message}")); } }
public async Task <ResultEntity <Pedido> > Create(Pedido pedido) { try { var _pedido = await _repository.GetByCodigo(pedido.CodPedido); if (_pedido != null) { return(ResultEntity <Pedido> .Fail(pedido, $"Já existe um pedido com esse código - {pedido.CodPedido}")); } if (!pedido.ItensPedido.Any()) { throw new ArgumentNullException(nameof(pedido), "Necessário pelo menos 1 item de pedido."); } if (pedido.ItensPedido.Count() > 10) { throw new ArgumentNullException(nameof(pedido.ItensPedido), "Máximo de items por pedido é 10"); } var pizzas = await _pizzaRepository.GetAll(); if (!pizzas.Any()) { throw new ArgumentNullException(nameof(pedido.ItensPedido), "Nenhuma pizza cadastrada!"); } pedido.ItensPedido = (from item in pedido.ItensPedido select new ItemPedido().AtualizarValorUnitario(item, pizzas.ToList())).ToList(); pedido = await _repository.Add(pedido); return(ResultEntity <Pedido> .Success(pedido)); } catch (Exception e) { return(ResultEntity <Pedido> .Fail(pedido, $"Ocorreu algum erro na criação do pedido - {e.Message}")); } }
public ResultEntity <Pizza> Delete(int id) { var pizza = new Pizza(); try { pizza = _repository.GetById(id); if (pizza == null) { return(ResultEntity <Pizza> .Fail(pizza, $"Pizza não existe")); } _repository.Delete(pizza); return(ResultEntity <Pizza> .Success(pizza)); } catch (Exception e) { return(ResultEntity <Pizza> .Fail(pizza, $"Ocorreu algum erro na exclusão da pizza - {e.Message}")); } }
public ResultEntity <Cliente> Delete(int id) { var Cliente = new Cliente(); try { Cliente = _repository.GetById(id); if (Cliente == null) { return(ResultEntity <Cliente> .Fail(Cliente, $"Cliente não existe")); } _repository.Delete(Cliente); return(ResultEntity <Cliente> .Success(Cliente)); } catch (Exception e) { return(ResultEntity <Cliente> .Fail(Cliente, $"Ocorreu algum erro na exclusão da Cliente - {e.Message}")); } }
public async Task <ResultEntity <ItemPedido> > AddRange(List <ItemPedido> pedidos) { try { var pedidoId = pedidos.FirstOrDefault().PedidoID; var codPedido = pedidos.FirstOrDefault().CodPedido; var itensPedido = await _repository.GetByPedidoId(pedidoId); if (itensPedido.Count() == 10) { return(ResultEntity <ItemPedido> .Fail(pedidos.FirstOrDefault(), $"Só é permitido 10 itens por pedido - {codPedido}")); } _repository.AddRange(pedidos); return(ResultEntity <ItemPedido> .Success(pedidos.FirstOrDefault())); } catch (Exception e) { return(ResultEntity <ItemPedido> .Fail(pedidos.FirstOrDefault(), $"Ocorreu algum erro na criação do ItemPedido - {e.Message}")); } }