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);
        }
Beispiel #2
0
        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);
        }