//Inserta los amparos del certificado //Devuelve numero de amparos insertados public static string InsertarAmparos(List <string[]> matriz, string cer_Id, string ter_Id, int par_Id, int div) { string respuestaF = "CC: " + ter_Id + ";"; DAOAdministrarCertificado objAdministrarCertificado = new DAOAdministrarCertificado(); //Variables a insertar en la tabla NewExtraPrima double ext_ValorAsegurado = 0; double ext_ValorPrima = 0; //Variables de los amparos int amp_Id; string amp_Nombre; double ampcer_ValorAsegurado; double ampcer_Tasa; double ampcer_Prima; string temp; double ampcer_TasaCalculada; for (int i = 0; i < matriz.Count; i++) { 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_Prima = (matriz[i][5] == string.Empty) ? 0 : double.Parse(matriz[i][5].ToString()); ampcer_Prima = ampcer_Prima / div; ampcer_TasaCalculada = Math.Round(ampcer_Prima * 1000000 / ampcer_ValorAsegurado, 0); //Consulta Amparos del certificado DataTable dtAmparo = new DataTable(); DataTable dtAmparoAnterior = new DataTable(); dtAmparo = objAdministrarCertificado.sp_ConsultarAmparos(cer_Id, ter_Id, par_Id.ToString(), amp_Id); if (dtAmparo.Rows.Count > 0) { respuestaF = respuestaF + "/NO/" + amp_Nombre + ";"; } else { dtAmparoAnterior = objAdministrarCertificado.sp_ConsultarAmparos(cer_IdAnterior, ter_Id, par_Id.ToString(), amp_Id); if (dtAmparoAnterior.Rows.Count != 0) { ampcer_Tasa = (ampcer_ValorAsegurado <= 0)? double.Parse(dtAmparoAnterior.Rows[0]["ampcer_Tasa"].ToString()) : ampcer_TasaCalculada; } objAdministrarCertificado.sp_InsertarAmparosCertificado(cer_Id, ter_Id, par_Id.ToString(), amp_Nombre, ampcer_ValorAsegurado, ampcer_Prima, ampcer_Tasa, amp_Id); respuestaF = respuestaF + "/SI/" + amp_Nombre + ";"; } if (amp_Id == 1) { ext_ValorAsegurado = ampcer_ValorAsegurado; } else { if (par_Id > 2 && amp_Id == 5) { ext_ValorAsegurado = ampcer_ValorAsegurado; } } ext_ValorPrima += ampcer_Prima; } //Consulta extra prima AdministrarCertificados objAdministrarCertificados = new AdministrarCertificados(); objAdministrarCertificados.CrearExtraPrima(int.Parse(cer_Id), int.Parse(cer_Id), ext_ValorAsegurado, 0, ext_ValorPrima, par_Id); return(respuestaF); }