Example #1
0
        public PedidoDTO MontarPizza(SolicitacaoMontagemDTO solicitacaoMontagem)
        {
            Pedido pedido = _pedidoService.ObterPedidoPorCliente(solicitacaoMontagem.IdCliente);

            if (pedido != null)
            {
                throw new Exception("Já existe um pedido em andamento.");
            }

            pedido                   = new Pedido();
            pedido.Pizza             = new PizzaVO();
            pedido.Pizza.SaborEnum   = solicitacaoMontagem.SaborEnum;
            pedido.Pizza.TamanhoEnum = solicitacaoMontagem.TamanhoEnum;

            pedido.Cliente      = _userService.Find(solicitacaoMontagem.IdCliente);
            pedido.StatusPedido = StatusPedidoEnum.Pendente;

            pedido = _pedidoService.CalcularPrecoPedido(pedido);
            pedido = _pedidoService.CalcularTempoDePreparoDoPedido(pedido);

            return(_pedidoService.CriarPedido(pedido).ConverterParaPedidoDTO());
        }