コード例 #1
0
    //Inserta certificado
    //Devuelve ya existe = 0, no existe poliza = 1, error = 0, se inserto = cer_Id
    public static string InsertarCertificado(string[] vector, int div)
    {
        string respuesta = "0";
        int    registros;
        DAOAdministrarCertificado objAdministrarCertificado = new DAOAdministrarCertificado();

        //Variables del certificado
        int      agencia;
        int      tipoDocumento;
        string   ter_Id;
        DateTime cer_FechaExpedicion;
        DateTime cer_FechaProduccion;
        DateTime cer_VigenciaDesde;
        int      ase_Codigo;
        int      compania;
        int      producto;
        int      pro_Id;
        string   cer_Certificado;
        int      cer_Anualidad;
        int      cer_Endoso;
        double   cer_PrimaTotal;
        DateTime cer_FechaOrigenAnualidad;
        DateTime cer_FechaVencimientoAnualidad;
        string   pla_Nit;
        string   pla_Nombre;
        string   pol_Numero;
        string   paga_Identificacion;
        string   paga_Nombre;
        int      ase_Id;
        int      paga_Id;
        int      con_Id;
        int      pla_Id;
        int      age_Id;
        int      cer_AnoProduccion;
        int      MesProduccion;
        string   MesProduccionLetras;
        DateTime VigenciaHasta;
        string   pol_Id;
        int      dep_Id = dep_IdN;

        agencia                       = (vector[1] == string.Empty) ? 0 : int.Parse(vector[1].ToString());
        tipoDocumento                 = ConversionTipoDocumento(vector[2].ToString());
        ter_Id                        = vector[3].ToString();
        cer_FechaExpedicion           = (vector[4] == string.Empty) ? DateTime.MinValue : Convert.ToDateTime(vector[4].ToString());
        cer_FechaProduccion           = (cer_FechaExpedicion.Day < 21) ? cer_FechaExpedicion : cer_FechaExpedicion.AddMonths(1);
        cer_VigenciaDesde             = (vector[5] == string.Empty) ? DateTime.MinValue : Convert.ToDateTime(vector[5].ToString());
        ase_Codigo                    = (vector[6] == string.Empty) ? 0 : int.Parse(vector[6].ToString());
        compania                      = (vector[7] == string.Empty) ? 0 : int.Parse(vector[7].ToString());
        producto                      = (vector[8] == string.Empty) ? 0 : int.Parse(vector[8].ToString());
        pro_Id                        = (vector[9] == string.Empty) ? 0 : int.Parse(vector[9].ToString());
        cer_Certificado               = (vector[10] == string.Empty) ? "0" : vector[10].ToString();
        cer_Anualidad                 = (vector[11] == string.Empty) ? 0 : int.Parse(vector[11].ToString());
        cer_Endoso                    = (vector[12] == string.Empty) ? 0 : int.Parse(vector[12].ToString());
        cer_PrimaTotal                = (vector[13] == string.Empty) ? 0 : double.Parse(vector[13].ToString());
        cer_PrimaTotal                = cer_PrimaTotal / div;
        cer_FechaOrigenAnualidad      = (vector[14] == string.Empty) ? DateTime.MinValue : Convert.ToDateTime(vector[14].ToString());
        cer_FechaVencimientoAnualidad = (vector[15] == string.Empty) ? DateTime.MinValue : Convert.ToDateTime(vector[15].ToString());
        pla_Nit                       = vector[16].ToString();
        pla_Nombre                    = vector[17].ToString();
        pol_Numero                    = vector[18].ToString();
        paga_Identificacion           = vector[19].ToString();
        paga_Nombre                   = vector[20].ToString();
        cer_AnoProduccion             = cer_FechaProduccion.Year;
        MesProduccion                 = cer_FechaProduccion.Month;
        DateTimeFormatInfo temMesLetras = new CultureInfo("es-ES", false).DateTimeFormat;

        MesProduccionLetras = temMesLetras.GetMonthName(cer_FechaProduccion.Month).ToUpper();
        VigenciaHasta       = cer_VigenciaDesde.AddYears(1);

        men_CerId = cer_Certificado;

        //Consulta certificado por tercero y producto
        DataTable dtCertificado = objAdministrarCertificado.sp_ConsultarNewCertificadoPorTerceroProducto(ter_Id, pro_Id, cer_Certificado);

        if (dtCertificado.Rows.Count != 0)
        {
            respuesta = "0";
            men_CerId = dtCertificado.Rows[0]["cer_Id"].ToString();
        }
        else
        {
            //Consulta poliza por el numero pol_numero
            DataTable dtPoliza = objAdministrarCertificado.sp_ConsultarNewPolizaPorGR(pol_Numero);
            if (dtPoliza.Rows.Count == 0)
            {
                respuesta = "1";
            }
            else
            {
                pol_Id = dtPoliza.Rows[0]["pol_Id"].ToString();
                //Consulta la Localidad por la poliza GR
                DataTable dtLocalidad = objAdministrarCertificado.sp_ConsultarLocalidadPorGR(pol_Numero);
                if (dtLocalidad.Rows.Count != 0)
                {
                    dep_Id = int.Parse(dtLocalidad.Rows[0]["dep_Id"].ToString());
                }
                //Consulta asesor por el codigo ase_Codigo
                DataTable dtAsesor = objAdministrarCertificado.sp_ConsultarNewAsesorPorCodigo(ase_Codigo);
                if (dtAsesor.Rows.Count == 0)
                {
                    objAdministrarCertificado.sp_InsertarAsesor(ase_Codigo, "PENDIENTE", "X ASIGNAR", dtLocalidad.Rows[0]["dep_Id"].ToString(), com_Id, "SI", "NO");
                    dtAsesor = objAdministrarCertificado.sp_ConsultarNewAsesorPorCodigo(ase_Codigo);
                }
                ase_Id  = int.Parse(dtAsesor.Rows[0]["ase_Id"].ToString());
                paga_Id = paga_IdN;
                con_Id  = con_IdN;

                //Consulta plantel por nombre
                DataTable dtPlantel = new DataTable();
                if (pla_Nombre != string.Empty)
                {
                    dtPlantel = objAdministrarCertificado.sp_ConsultarPlantel(pla_Nombre);
                }
                if (dtPlantel.Rows.Count != 0)
                {
                    pla_Id = int.Parse(dtPlantel.Rows[0]["pla_Id"].ToString());
                }
                else
                {
                    pla_Id = pla_IdN;
                }
                //Consulta la agencia por la poliza GR
                DataTable dtAgencia = objAdministrarCertificado.sp_ConsultarAgenciaPorGR(pol_Numero);
                if (dtAgencia.Rows.Count != 0)
                {
                    age_Id = int.Parse(dtAgencia.Rows[0]["age_Id"].ToString());
                }
                else
                {
                    age_Id = age_IdN;
                }
                //Se inserta el certificado
                registros = objAdministrarCertificado.sp_InsertarCertificado(age_Id, ter_Id, cer_FechaExpedicion, cer_VigenciaDesde, ase_Id, paga_Id, cer_FechaRecibido, com_Id, pro_Id, cer_SoporteFisico, cer_Endoso, estcar_Id, tipdev_Id, caudev_Id, cer_PrimaTotal, cer_Consecutivo, cer_Certificado, cer_AnoProduccion, con_Id, cer_EstadoNegocio, dep_Id, MesProduccion, MesProduccionLetras, tipoMovimientoN, VigenciaHasta, pla_Id, pol_Id, mom_Id, casesp_Id, cer_FechaDigitacion, perPag_Id, migracion);

                //Consulta certificado por tercero y producto
                dtCertificado = objAdministrarCertificado.sp_ConsultarNewCertificadoPorTerceroProducto(ter_Id, pro_Id, cer_Certificado);

                if (registros != 0)
                {
                    respuesta = dtCertificado.Rows[0]["cer_Id"].ToString();
                }
            }
        }
        return(respuesta);
    }