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