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