//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)); }
//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); }
// public PedidoTemp prencherDadosDataEntrega(PedidoTemp OPedidoTemp) { OPedidoTemp.flagPagamentoNaEntrega = this.Pedido.flagPagamentoNaEntrega; OPedidoTemp.dtAgendamentoEntrega = this.Pedido.dtAgendamentoEntrega; OPedidoTemp.flagPeriodo = this.Pedido.flagPeriodo; return(OPedidoTemp); }
// 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); }
// 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); }
//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); }
// 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); }