Example #1
0
        //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);
        }
Example #2
0
        //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);
        }