Пример #1
0
        public async Task <DTOPedidosResultado> ObterPorId(int id)
        {
            var item = await _pedidos.CarregarPorIdCompleto(id);

            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;
            return(resultado);
        }