//Alterado para SqlServer public Cartoes IncluiCartao(int conv_id, string nome, double limite_mes, string liberado, string operador, string titular, int num_dep, int cred_id, string ativo, string DtNascimento, string codigoImportacao, int nProtocolo) { BD BD = new BD(); int cartao_id = Convert.ToInt32(BD.ExecuteScalar("SELECT NEXT VALUE FOR SCARTAO_ID AS CARTAO_ID", null).ToString()); TipoCartao cartao = titular == "S" ? TipoCartao.Titular : TipoCartao.Dependente; string codCartImp = string.Empty; double codcartao = Convert.ToDouble(BD.ExecuteScalar("SELECT NEXT VALUE FOR SCARTAO_NUM ", null)); int empres_id = DALConveniado.GetConvEmpresID(conv_id); bool naoGeraCartaoParaMenor = DALEmpresa.GetNaoGerarCartaoParaMenor(empres_id); bool maiorDeIdade = (!DtNascimento.Equals("")? MaiorDeIdade(Convert.ToDateTime(DtNascimento)):false); string jaEmitido = (titular == "N"?"S":"N"); if (((naoGeraCartaoParaMenor && maiorDeIdade) || (!naoGeraCartaoParaMenor)) || titular == "S") { jaEmitido = "N"; if (!string.IsNullOrEmpty(codigoImportacao)) { codCartImp = codigoImportacao; } else { bool encontrado; Cartoes c = new Cartoes(); if (UsaCodImportacao(conv_id)) { do { codCartImp = c.geraCartaoCom8primeirosDig(Int32.Parse(BuscarNumBase())); encontrado = codCardTimpExiste(codCartImp); } while (encontrado); } else if (INICIALCODCARTIMP()) { int i = (int)BD.ExecuteScalar("SELECT NEXT VALUE FOR SINICODCARTIMP", null); string a = BD.ExecuteScalar("select INICIALCODCARTIMP from config ", null).ToString(); codCartImp = a + i.ToString("00000000"); } else if (ConfigMoveCartao()) { codCartImp = codcartao.ToString(); } else if (ConfigIncrementoCartao(cartao)) { codCartImp = ConfigCodigoIncremento; } else if (ConfigMascaraCartao()) { Conveniados conv = DALConveniado.GetConveniado(conv_id); int seq = ((int)BD.ExecuteScalar("select coalesce(count(*),1) as total from cartoes where conv_id = " + conv_id, null) + 1); codCartImp = (conv.Empresa.Empres_id.ToString("0000") + conv.Chapa.ToString("000000") + seq.ToString("00")); } } } netUtil.Funcoes func = new netUtil.Funcoes(); int digito = func.DigitoCartao(codcartao); MontadorSql mont = new MontadorSql("cartoes", MontadorType.Insert); mont.AddField("cartao_id", cartao_id); mont.AddField("codigo", codcartao); mont.AddField("digito", digito); mont.AddField("conv_id", conv_id); mont.AddField("nome", Utils.TirarAcento(nome.ToUpper())); mont.AddField("limite_mes", limite_mes); mont.AddField("dtcadastro", System.DateTime.Now); mont.AddField("liberado", liberado); mont.AddField("operador", operador); mont.AddField("jaemitido", jaEmitido); mont.AddField("apagado", 'N'); mont.AddField("titular", titular.ToUpper()); if (!DtNascimento.Equals("")) { mont.AddField("data_nasc", DtNascimento); } mont.AddField("num_dep", (num_dep > 0 ? num_dep : 0)); if (((naoGeraCartaoParaMenor && maiorDeIdade) || (!naoGeraCartaoParaMenor)) || titular == "S") { mont.AddField("codcartimp", codCartImp == string.Empty ? null : codCartImp); } if (cred_id != 0) { mont.AddField("cred_id", cred_id); } mont.AddField("ativo", ativo); mont.AddField("empres_id", empres_id); Cartoes cart = new Cartoes(); if (BD.ExecuteNoQuery(mont.GetSqlString(), mont.GetParams()) == 1) { int logID = Log.GeraLogID(); Log.GravaLog(logID, "FCadCartoes", "cartao_id", "", cartao_id.ToString(), operador, "Inclusão", "Cadastro de Cartões", cartao_id.ToString(), "Cartão ID: " + cartao_id.ToString(), "", nProtocolo); cart.Cartao_id = cartao_id; cart.Codigo = codcartao; cart.Digito = digito; cart.Codigodigito = cart.Codigo.ToString() + cart.Digito.ToString("00"); cart.CodImp = codCartImp; } else { cart.Cartao_id = 0; } return(cart); }
//Alterado para SqlServer public Cartoes gerarNovaVia(string codigo, string digito, int nProtocolo, bool apenasAlteracao = false) { BD BD = new BD(); int via = 0; string titular = string.Empty; string codCartImp = string.Empty; Cartoes card = getCartoes(codigo, digito); #region Gerando CODCARTIMP if (card.Conveniado.Conv_id != -1 && card.Cartao_id != -1) { bool naoGerarCartaoMenor = DALEmpresa.GetNaoGerarCartaoParaMenor(card.Conveniado.Empresa.Empres_id); string dtNascimento = GetDtNascimentoCartao(codigo, digito); bool maiorIdade = false; via = GetNumVia(codigo, digito); if (dtNascimento != "") { maiorIdade = DALCartao.MaiorDeIdade(Convert.ToDateTime(dtNascimento)); } bool encontrado; if ((naoGerarCartaoMenor && maiorIdade) || (!naoGerarCartaoMenor) || card.CodImp != "") // Se eu não puder gerar para menor e for maior de idade eu gero! Se eu puder gerar cartão para menor de idade eu gero. Se eu já tiver um cartão eu gero. { TipoCartao cartao = titular == "S" ? TipoCartao.Titular : TipoCartao.Dependente; Cartoes c = new Cartoes(); if (UsaCodImportacao(card.Conveniado.Conv_id)) { do { string nb = BuscarNumBase(); if (nb.Equals("") || nb.Length < 6) { card.Cartao_id = -2; return(card); } codCartImp = c.geraCartaoCom8primeirosDig(Int32.Parse(BuscarNumBase())); encontrado = codCardTimpExiste(codCartImp); } while (encontrado); } else if (INICIALCODCARTIMP()) { int i = (int)BD.ExecuteScalar("SELECT NEXT VALUE FOR SINICODCARTIMP", null); string a = BD.ExecuteScalar("select INICIALCODCARTIMP from config ", null).ToString(); codCartImp = a + i.ToString("00000000"); } else if (ConfigMoveCartao()) { codCartImp = Convert.ToDouble(BD.ExecuteScalar("SELECT NEXT VALUE FOR SCARTAO_NUM ", null)).ToString(); } else if (ConfigIncrementoCartao(cartao)) { codCartImp = ConfigCodigoIncremento; } else if (ConfigMascaraCartao()) { Conveniados conv = DALConveniado.GetConveniado(card.Conveniado.Conv_id); int seq = ((int)BD.ExecuteScalar("select coalesce(count(*),1) as total from cartoes where conv_id = " + card.Conveniado.Conv_id, null) + 1); codCartImp = (conv.Empresa.Empres_id.ToString("0000") + conv.Chapa.ToString("000000") + seq.ToString("00")); } } else { card.Cartao_id = -3; //para dizer que o usuário do cartão é menor de idade... } } #endregion if (codCartImp.Trim() != null && card.Cartao_id != -1 && card.Conveniado.Conv_id != -1) { card.CodImp = codCartImp; via = (apenasAlteracao ? via : via + 1); if (BD.ExecuteNoQuery("UPDATE CARTOES SET CODCARTIMP = '" + codCartImp + "', JAEMITIDO = 'N', VIA = " + via.ToString() + " WHERE CARTAO_ID = " + card.Cartao_id, null) == 1) { int logID = Log.GeraLogID(); Log.GravaLog(logID, "FCadCartoes", "cartao_id", "", card.Cartao_id.ToString(), "WS " + card.Cartao_id.ToString(), "Alteração", "Cadastro de Cartões", card.Cartao_id.ToString(), "Cartão ID: " + card.Cartao_id.ToString(), "", nProtocolo); } } return(card); }