Exemplo n.º 1
0
        private async Task <List <DetalhesPersonalizacao> > AdicionarPersonalizacoes(DTOPedidos pedido)
        {
            var lstRet = new List <DetalhesPersonalizacao>();

            foreach (var item in pedido.Personalizacoes)
            {
                var obj = await _personalizacoes.ObterPorId(item);

                if (obj == null)
                {
                    Notificar($"Personalização {item} não localizada.");
                }
                else
                {
                    var add = await _pedidoPersonalizacoes.Adicionar(new PedidosPersonalizacoes
                    {
                        PedidosId           = pedido.Id,
                        PersonalizacoesId   = obj.Id,
                        TempoPersonalizacao = obj.TempoPreparo,
                        ValorPersonalizacao = obj.Valor
                    });

                    var res = new DetalhesPersonalizacao
                    {
                        Id           = obj.Id,
                        Descricao    = obj.Descricao,
                        TempoPreparo = obj.TempoPreparo,
                        Valor        = obj.Valor
                    };
                    lstRet.Add(res);
                }
            }
            return(lstRet);
        }
Exemplo n.º 2
0
        public async Task <List <DTOPedidosResultado> > ListarTodos()
        {
            var lstRetorno = new List <DTOPedidosResultado>();
            var lstPedidos = await _pedidos.CarregarTodosCompleto();

            foreach (var item in lstPedidos)
            {
                var tamanho = new DetalhesTamanho
                {
                    Id           = item.Tamanhos.Id,
                    Descricao    = item.Tamanhos.Descricao,
                    TempoPreparo = item.TempoTamanho,
                    Valor        = item.ValorTamanho
                };
                var sabor = new DetalhesSabor
                {
                    Id           = item.Sabores.Id,
                    Descricao    = item.Sabores.Descricao,
                    TempoPreparo = item.TempoSabor,
                    Valor        = item.ValorSabor
                };
                var personalizacoes      = item.PedidosPersonalizacoes?.ToList();
                var listaPersonalizacoes = new List <DetalhesPersonalizacao>();
                if (personalizacoes.Count > 0)
                {
                    foreach (var itemPersonalizado in personalizacoes)
                    {
                        var personalizacao = new DetalhesPersonalizacao
                        {
                            Id           = itemPersonalizado.Id,
                            Descricao    = itemPersonalizado.Personalizacoes.Descricao,
                            TempoPreparo = itemPersonalizado.TempoPersonalizacao,
                            Valor        = itemPersonalizado.ValorPersonalizacao
                        };
                        listaPersonalizacoes.Add(personalizacao);
                    }
                }
                var resultado = GerarResultado(tamanho, sabor, listaPersonalizacoes);
                resultado.Id = item.Id;
                lstRetorno.Add(resultado);
            }
            return(lstRetorno);
        }