Esempio n. 1
0
        public async Task <DTOSabores> ObterPorId(int id)
        {
            if (!_sabores.Buscar(p => p.Id == id).Result.Any())
            {
                Notificar("Sabor não localizado");
                return(null);
            }
            var obj = await _sabores.ObterPorId(id);

            return(new DTOSabores
            {
                Valor = obj.Valor,
                TempoPreparo = obj.TempoPreparo,
                Id = obj.Id,
                Descricao = obj.Descricao,
                Ativo = obj.Ativo
            });
        }
Esempio n. 2
0
        public async Task <DTOPedidosResultado> Adicionar(DTOPedidos pedido)
        {
            //Objeto tamanho
            var tamanho = await _tamanhos.ObterPorId(pedido.Tamanho);

            //Objeto sabores
            var sabor = await _sabores.ObterPorId(pedido.Sabor);

            if (tamanho == null)
            {
                Notificar($"Tamanho {pedido.Tamanho} não localizado.");
            }
            if (sabor == null)
            {
                Notificar($"Sabor {pedido.Sabor} não localizado.");
            }

            if (_notificador.TemNotificacao())
            {
                return(null);
            }
            //Objeto pedido
            var objPedido = new Pedidos
            {
                Cliente      = string.Empty,
                DtPedido     = DateTime.Now,
                SaboresId    = sabor.Id,
                TempoSabor   = sabor.TempoPreparo,
                ValorSabor   = sabor.Valor,
                TamanhosId   = tamanho.Id,
                TempoTamanho = tamanho.TempoPreparo,
                ValorTamanho = tamanho.Valor
            };
            var add = await _pedidos.Adicionar(objPedido);

            pedido.Id = add.Id;

            var personalizacoes = new List <DetalhesPersonalizacao>();

            //Adicionar personalizacao
            if (pedido.Personalizacoes.Count > 0)
            {
                personalizacoes = await AdicionarPersonalizacoes(pedido);
            }

            var tam = new DetalhesTamanho
            {
                Descricao    = tamanho.Descricao,
                Id           = add.Tamanhos.Id,
                TempoPreparo = add.TempoTamanho,
                Valor        = add.ValorTamanho
            };
            var sab = new DetalhesSabor
            {
                Descricao    = sabor.Descricao,
                Id           = add.Sabores.Id,
                TempoPreparo = add.TempoSabor,
                Valor        = add.ValorSabor
            };

            var resultado = GerarResultado(tam, sab, personalizacoes);

            resultado.Id = pedido.Id;
            return(resultado);
        }