Ejemplo n.º 1
0
        //Atributos

        //Propriedades

        //
        public UtilRetorno validar(PedidoTemp OPedidoTemp)
        {
            var ORetorno = UtilRetorno.newInstance(false);

            if (!OPedidoTemp.listaProdutos.Any())
            {
                ORetorno.flagError = true;

                ORetorno.listaErros.Add("O pedido não pode ser gerado pois não possui nenhum produto adicionado.");

                return(ORetorno);
            }

            if (OPedidoTemp.listaProdutos.Count > 1)
            {
                ORetorno.flagError = true;

                ORetorno.listaErros.Add("Não deve ser adicionado mais de um produto por pedido.");

                return(ORetorno);
            }

            if (OPedidoTemp.flagFaturamentoCadastro &&
                OPedidoTemp.flagCartaoCreditoPermitido != true &&
                OPedidoTemp.flagBoletoBancarioPermitido != true &&
                OPedidoTemp.flagDepositoPermitido != true)
            {
                ORetorno.flagError = true;
                ORetorno.listaErros.Add("Você deve habilitar pelo menos uma forma de pagamento.");
                return(ORetorno);
            }


            return(ORetorno);
        }
        public ActionResult salvarEnderecoEntrega(PedidoTemp ODadosEntrega)
        {
            var OPedidoTemp = this.OPedidoTempBL.carregar(Session.SessionID);

            OPedidoTemp.idPais = "BRA";

            OPedidoTemp.idTipoEndereco = TipoEnderecoConst.PRINCIPAL;

            OPedidoTemp.cepOrigem = ODadosEntrega.cepOrigem;

            OPedidoTemp.cep = ODadosEntrega.cep;

            OPedidoTemp.logradouro = ODadosEntrega.logradouro;

            OPedidoTemp.numero = ODadosEntrega.numero;

            OPedidoTemp.complemento = ODadosEntrega.complemento;

            OPedidoTemp.bairro = ODadosEntrega.bairro;

            OPedidoTemp.idCidade = ODadosEntrega.idCidade;

            OPedidoTemp.nomeCidade = ODadosEntrega.nomeCidade;

            OPedidoTemp.idEstado = ODadosEntrega.idEstado;

            OPedidoTemp.dtAgendamentoEntrega = ODadosEntrega.dtAgendamentoEntrega;

            OPedidoTemp.flagPeriodo = ODadosEntrega.flagPeriodo;

            this.OPedidoTempBL.salvar(OPedidoTemp);

            return(Json(true));
        }
Ejemplo n.º 3
0
        //Persistir o objecto e salvar na base de dados
        private bool inserir(PedidoTemp OPedidoTemp)
        {
            OPedidoTemp.setDefaultInsertValues();

            db.PedidoTemp.Add(OPedidoTemp);

            db.SaveChanges();

            return(OPedidoTemp.id > 0);
        }
Ejemplo n.º 4
0
        //
        public PedidoTemp prencherDadosDataEntrega(PedidoTemp OPedidoTemp)
        {
            OPedidoTemp.flagPagamentoNaEntrega = this.Pedido.flagPagamentoNaEntrega;

            OPedidoTemp.dtAgendamentoEntrega = this.Pedido.dtAgendamentoEntrega;

            OPedidoTemp.flagPeriodo = this.Pedido.flagPeriodo;

            return(OPedidoTemp);
        }
Ejemplo n.º 5
0
        //
        public Pedido salvar(PedidoTemp OPedidoTemp)
        {
            var OPedido = OPedidoTemp.ToJsonObject <Pedido>();

            OPedido.id = 0;

            OPedido.dtVencimento = DateTime.Today;

            OPedido.dtFaturamento = DateTime.Today;

            OPedido.Pessoa = this.OPessoaBL.query(1)
                             .Where(x => x.id == OPedidoTemp.idPessoa)
                             .Select(x => new {
                x.id,
                x.nome,
                x.nroDocumento,
                x.emailPrincipal,
                x.emailSecundario,
                x.nroTelPrincipal,
                x.nroTelSecundario,
                listaEmails    = x.listaEmails.Select(e => new { e.id, e.email, e.idTipoEmail, e.dtExclusao }).ToList(),
                listaTelefones = x.listaTelefones.Select(t => new { t.id, t.nroTelefone, t.dtExclusao }).ToList()
            }).FirstOrDefault()
                             .ToJsonObject <Pessoa>() ?? new Pessoa();

            OPedido.listaProdutos = OPedidoTemp.listaProdutos.ToListJsonObject <PedidoProduto>();

            OPedido.listaProdutos.ForEach(x => { x.id = 0; });

            OPedido.valorProdutos = OPedido.listaProdutos.Sum(x => x.getValorTotalItem());

            var OPedidoEntrega = OPedidoTemp.ToJsonObject <PedidoEntrega>();

            if (!OPedidoEntrega.cep.isEmpty())
            {
                OPedidoEntrega.id          = 0;
                OPedido.listaPedidoEntrega = new List <PedidoEntrega> {
                    OPedidoEntrega
                };
            }

            var flagSucesso = this.OPedidoBL.salvar(OPedido);

            if (flagSucesso)
            {
                this.OPedidoTempOperacaoBL.limpar(HttpContext.Current.Session.SessionID);
            }

            return(OPedido);
        }
Ejemplo n.º 6
0
        //
        public bool salvar(PedidoTemp OPedidoTemp)
        {
            OPedidoTemp.CupomDesconto = null;

            OPedidoTemp.Estado = null;

            OPedidoTemp.Cidade = null;

            if (OPedidoTemp.id == 0)
            {
                return(this.inserir(OPedidoTemp));
            }

            return(this.atualizar(OPedidoTemp));
        }
        //
        public UtilRetorno validar(PedidoTemp OPedidoTemp)
        {
            var ORetorno = UtilRetorno.newInstance(false);

            if (OPedidoTemp.cepOrigem.LengthNullable() < 8)
            {
                ORetorno.flagError = true;
                ORetorno.listaErros.Add("Informe o CEP de origem corretamente para realizar o cálculo de frete.");
                return(ORetorno);
            }

            if (OPedidoTemp.cep.LengthNullable() < 8)
            {
                ORetorno.flagError = true;
                ORetorno.listaErros.Add("Informe o CEP corretamente para realizar o cálculo de frete.");
                return(ORetorno);
            }

            var listaProdutosAdicionados = OPedidoTemp.listaProdutos;

            if (!listaProdutosAdicionados.Any())
            {
                ORetorno.flagError = true;
                ORetorno.listaErros.Add("O pedido não possui produtos para realizar o cálculo de frete.");
                return(ORetorno);
            }

            if (listaProdutosAdicionados.All(x => x.flagCalcularFrete != true))
            {
                ORetorno.flagError = true;
                ORetorno.listaErros.Add("Nenhum dos produtos adicionados foi configurado para calcular frete.");
                return(ORetorno);
            }

            var pesoTotal = listaProdutosAdicionados.Where(x => x.flagCalcularFrete == true).ToList().getPesoTotal();

            if (pesoTotal == 0)
            {
                ORetorno.flagError = true;
                ORetorno.listaErros.Add("Não é possível cálcular o frete do pedido, pois não há peso informado nos produtos.");
                return(ORetorno);
            }

            return(ORetorno);
        }
Ejemplo n.º 8
0
        //Persistir o objecto e atualizar informações
        private bool atualizar(PedidoTemp OPedidoTemp)
        {
            //Localizar existentes no banco
            var dbPedidoTemp = this.carregar(OPedidoTemp.id);

            if (dbPedidoTemp == null)
            {
                return(false);
            }

            var dbEntry = db.Entry(dbPedidoTemp);

            OPedidoTemp.setDefaultUpdateValues();

            dbEntry.CurrentValues.SetValues(OPedidoTemp);

            dbEntry.ignoreFields();

            db.SaveChanges();

            return(OPedidoTemp.id > 0);
        }
Ejemplo n.º 9
0
        //
        public PedidoTemp prencherDadosFinanceiros(PedidoTemp OPedidoTemp)
        {
            OPedidoTemp.flagFaturamentoCadastro = this.Pedido.flagFaturamentoCadastro;

            OPedidoTemp.idCentroCusto = this.Pedido.idCentroCusto;

            OPedidoTemp.idMacroConta = this.Pedido.idMacroConta;

            OPedidoTemp.idCategoriaTitulo = this.Pedido.idCategoriaTitulo;

            OPedidoTemp.idContaBancaria = this.Pedido.idContaBancaria;

            OPedidoTemp.codigoContabil = this.Pedido.codigoContabil;

            OPedidoTemp.dtVencimento = this.Pedido.dtVencimento;

            OPedidoTemp.flagBoletoBancarioPermitido = this.Pedido.flagBoletoBancarioPermitido;

            OPedidoTemp.flagCartaoCreditoPermitido = this.Pedido.flagCartaoCreditoPermitido;

            OPedidoTemp.flagDepositoPermitido = this.Pedido.flagDepositoPermitido;

            return(OPedidoTemp);
        }