예제 #1
0
        public ResumoPedidoDto MontarPedido(MontagemPedidoDto montagemPedido)
        {
            var tamanhoPizza = _tamanhosPizzaRepository.GetAll()
                               .FirstOrDefault(x => x.Tamanho.ToUpper() == montagemPedido.TamanhoPizza.ToUpper());

            if (tamanhoPizza == null)
            {
                throw new Exception($"O tamanho de pizza { montagemPedido.TamanhoPizza } informado não esta cadastrado!");
            }

            var saborPizza = _saboresPizzaRepository.GetAll()
                             .FirstOrDefault(x => x.Sabor.ToUpper() == montagemPedido.SaborPizza.ToUpper());

            if (saborPizza == null)
            {
                throw new Exception($"O sabor de pizza { montagemPedido.SaborPizza } informado não esta cadastrado!");
            }

            var pedido = new Pedidos
            {
                TamanhosPizza = tamanhoPizza,
                SaboresPizza  = saborPizza,
                Total         = tamanhoPizza.Valor,
                Tempo         = tamanhoPizza.Tempo + saborPizza.TempoAdicional ?? 0,
                Finalizado    = false
            };

            _pedidoRepository.Add(pedido);

            var resumoPedido = _mapper.Map <ResumoPedidoDto>(pedido);

            return(resumoPedido);
        }
예제 #2
0
        public void Deve_Montar_Um_Pedido_Quando_Informado_Tamanho_E_Sabor_Pizza_Existentes()
        {
            tamanhosPizzaRepository.GetAll().Returns(new List <TamanhosPizza> {
                tamanhoPizza
            });
            saboresPizzaRepository.GetAll().Returns(new List <SaboresPizza> {
                saborPizza
            });

            new MontagemPedidoBusiness(pedidoRepository, saboresPizzaRepository,
                                       tamanhosPizzaRepository, mapper).MontarPedido(montagemPedidoDto);

            tamanhosPizzaRepository.ReceivedWithAnyArgs(1).GetAll();
            saboresPizzaRepository.ReceivedWithAnyArgs(1).GetAll();
            pedidoRepository.ReceivedWithAnyArgs(1).Add(Arg.Any <Pedidos>());
            mapper.ReceivedWithAnyArgs(1).Map <ResumoPedidoDto>(Arg.Any <Pedidos>());
        }