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 <ActionResult <DTOPedidosResultado> > AdicionarPedido(DTOPedidos pedido) { var t = await _fService.Adicionar(pedido); return(CustomResponse(t)); }
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); }