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); }