Esempio n. 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_FechaVigenciaEndoso;
        DateTime cer_FechaVencimientoEndoso;
        DateTime cer_VigenciaDesde;
        DateTime cer_FechaProduccion;
        int      ase_Codigo;
        string   ase_Nombre;
        int      compania;
        int      producto;
        int      pro_Id;
        string   cer_Certificado;
        int      endoso;
        int      cer_Endoso;
        int      cer_Anualidad;
        int      cer_ConsecutivoEndoso;
        double   cer_PrimaTotal;
        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_FechaVigenciaEndoso    = (vector[5] == string.Empty) ? DateTime.MinValue : Convert.ToDateTime(vector[5].ToString());
        cer_FechaVencimientoEndoso = (vector[6] == string.Empty) ? DateTime.MinValue : Convert.ToDateTime(vector[6].ToString());
        cer_VigenciaDesde          = (vector[7] == string.Empty) ? DateTime.MinValue : Convert.ToDateTime(vector[7].ToString());
        cer_FechaProduccion        = (cer_FechaExpedicion.Day < 21) ? cer_FechaExpedicion : cer_FechaExpedicion.AddMonths(1);
        ase_Codigo                 = (vector[8] == string.Empty) ? 0 : int.Parse(vector[8].ToString());
        ase_Nombre                 = vector[9].ToString();
        compania                   = (vector[10] == string.Empty) ? 0 : int.Parse(vector[10].ToString());
        producto                   = (vector[11] == string.Empty) ? 0 : int.Parse(vector[11].ToString());
        pro_Id                     = (vector[12] == string.Empty) ? 0 : int.Parse(vector[12].ToString());
        cer_Certificado            = (vector[13] == string.Empty) ? "0" : vector[13].ToString();
        endoso                     = (vector[14] == string.Empty) ? 0 : int.Parse(vector[14].ToString());
        cer_Endoso                 = (vector[15] == string.Empty) ? 0 : int.Parse(vector[15].ToString());
        cer_Anualidad              = (vector[16] == string.Empty) ? 0 : int.Parse(vector[16].ToString());
        cer_ConsecutivoEndoso      = (vector[17] == string.Empty) ? 0 : int.Parse(vector[17].ToString());
        cer_PrimaTotal             = (vector[18] == string.Empty) ? 0 : double.Parse(vector[18].ToString());
        cer_PrimaTotal             = cer_PrimaTotal / div;
        pla_Nit                    = vector[19].ToString();
        pla_Nombre                 = vector[20].ToString();
        pol_Numero                 = vector[21].ToString();
        paga_Identificacion        = vector[22].ToString();
        paga_Nombre                = vector[23].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);

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

        if (dtCertificado.Rows.Count != 0)
        {
            DataTable dtCertificadoNuevo = objAdministrarCertificado.spDuplicarCertificado(dtCertificado.Rows[0]["cer_Id"].ToString());
            cer_IdAnterior = dtCertificado.Rows[0]["cer_Id"].ToString();
            //Consulta poliza por el numero pol_numero
            DataTable dtPoliza = objAdministrarCertificado.sp_ConsultarNewPolizaPorGR(pol_Numero);
            if (dtPoliza.Rows.Count == 0)
            {
                pol_Id = dtCertificado.Rows[0]["pol_Id"].ToString();
            }
            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());
            }
            else
            {
                dep_Id = int.Parse(dtCertificado.Rows[0]["Localidad"].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 = int.Parse(dtCertificado.Rows[0]["pla_Id"].ToString());
            }
            //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 = int.Parse(dtCertificado.Rows[0]["age_Id"].ToString());
            }
            //Se inserta el certificado
            registros = objAdministrarCertificado.sp_ActualizarCertificado(dtCertificadoNuevo.Rows[0]["cer_Id"].ToString(), age_Id,
                                                                           cer_FechaExpedicion, cer_VigenciaDesde, ase_Id, paga_Id,
                                                                           cer_FechaRecibido, pro_Id, cer_Endoso, 2, 3, estcar_Id,
                                                                           cer_PrimaTotal, con_Id, cer_EstadoNegocio, dep_Id, tipoMovimientoN, VigenciaHasta,
                                                                           VigenciaHasta, pla_Id, pol_Id, mom_Id, cer_FechaDigitacion);
            if (registros != 0)
            {
                respuesta = dtCertificadoNuevo.Rows[0]["cer_Id"].ToString();
            }
        }
        else
        {
            respuesta = "0";
        }
        return(respuesta);
    }