//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); }