Beispiel #1
0
    //Insertar otro asegurado
    //Devuelve inserto = 1, no inserto = 0
    public static string InsertarOtroAsegurado(List <string[]> matriz, string cer_Id, string ter_Id, int par_Id, string pol_Numero, string sexo, int div, DateTime fechaExpedicion)
    {
        string respuesta = "Error";

        respuesta = InsertarAmparos(matriz, cer_Id, ter_Id, par_Id, div);
        DAOAdministrarCertificado objAdministrarCertificado = new DAOAdministrarCertificado();
        double ext_ValorPrima = 0;

        //Variables de los amparos
        int    amp_Id;
        string amp_Nombre;
        double ampcer_ValorAsegurado = 0;
        double ampcer_Tasa;
        double ampcer_Prima = 0;
        string temp;
        double ampcer_TasaCalculada;

        for (int i = 0; i < matriz.Count; i++)
        {
            if (matriz[i][1].ToString() == "663" || matriz[i][1].ToString() == "681")
            {
                amp_Id                = ConversionCodigoAmparo(matriz[i][1].ToString());
                amp_Nombre            = matriz[i][2];
                ampcer_ValorAsegurado = (matriz[i][3] == string.Empty) ? 0 : double.Parse(matriz[i][3].ToString());
                if (matriz[i][4].ToString() == string.Empty)
                {
                    temp = "0";
                }
                else
                {
                    if (matriz[i][4][0] == ',' || matriz[i][4][0] == '.')
                    {
                        temp = "0" + matriz[i][4].ToString();
                    }
                    else
                    {
                        temp = matriz[i][4].ToString();
                    }
                }
                ampcer_Tasa          = double.Parse(temp.Replace(",", "."));
                ampcer_TasaCalculada = Math.Round(ampcer_Prima * 1000000 / ampcer_ValorAsegurado, 0);
            }
            ampcer_Prima    = (matriz[i][5] == string.Empty) ? 0 : double.Parse(matriz[i][5].ToString());
            ampcer_Prima    = ampcer_Prima / div;
            ext_ValorPrima += ampcer_Prima;
        }
        if (matriz.Count != 0)
        {
            //Consulta  Amparos del certificado
            DataTable dtPlanPoliza = new DataTable();
            dtPlanPoliza = objAdministrarCertificado.sp_ConsultarPlanPoliza(pol_Numero, ter_Id, ampcer_ValorAsegurado, sexo, fechaExpedicion);

            //Consulta  otro asegurado
            DataTable dtOtroAsegurado = new DataTable();

            if (dtPlanPoliza.Rows.Count > 0)
            {
                dtOtroAsegurado = objAdministrarCertificado.sp_ConsultarOtroAsegurado(cer_Id, ter_Id);
                if (dtOtroAsegurado.Rows.Count == 0)
                {
                    objAdministrarCertificado.sp_InsertarOtroAseguradoSimple(cer_Id, ter_Id, par_Id.ToString(), dtPlanPoliza, ext_ValorPrima);
                    objAdministrarCertificado.sp_ActualizarTipoMovimiento3(cer_Id, tipoMovimiento3);
                    respuesta = "/SI/" + respuesta;
                }
            }
            else
            {
                dtOtroAsegurado = objAdministrarCertificado.sp_ConsultarOtroAsegurado(cer_IdAnterior, ter_Id);
                if (dtOtroAsegurado.Rows.Count != 0)
                {
                    objAdministrarCertificado.sp_InsertarOtroAseguradoSimple(cer_Id, ter_Id, par_Id.ToString(), dtOtroAsegurado, ext_ValorPrima);
                    respuesta = "/SI/" + respuesta;
                }
                else
                {
                    respuesta = "/NO/" + respuesta;
                }
            }
        }
        return(respuesta);
    }