private EDCarguePlanEmergencia ProcesarCargueBDInterna(ExcelWorksheet sheet, EDCarguePlanEmergencia cargue) { EDCarguePlanEmergencia edCargue = new EDCarguePlanEmergencia(); List <EDDatosCarguePlanEmergencia> datosBI = new List <EDDatosCarguePlanEmergencia>(); bool esValidoBDInt = true; bool noBlancos = true; string nFilaBla = ""; string nFilaPV = ""; string mensaje = ""; string nFilaDoc = ""; string nFilaEspecifica = ""; bool resu = false; string mensajePlantillaVacia = "La plantilla ingresada no tiene datos"; string mensajeEspBlancos = "Existen campos en blanco,revisar la(s) fila(s)"; string mensajeEspecifica = "Se debes especificar cuando se requiere manejo, revisar la(s) fila(s)"; string mensajeDocumento = "Revisar la columna A(Número de Documento) ya que el documento no tiene relación laboral,revisar la(s) fila(s)"; string mensajeRepetidos = ""; try { var dt = new DataTable(); var rowCnt = 0; var cual = ""; bool documentoValido = false; var sexoG = ""; var epsG = ""; rowCnt = sheet.Dimension.End.Row; var sede = cargue.idSede; List <string> documentos = new List <string>(); List <string> documentosSinRep = new List <string>(); for (var fila = 2; fila <= rowCnt; fila++) { EDDatosCarguePlanEmergencia datoBI = new EDDatosCarguePlanEmergencia(); if (sheet.Cells[fila, 1].Value != null) { if (sheet.Cells[fila, 1].Value == null || sheet.Cells[fila, 2].Value == null || sheet.Cells[fila, 3].Value == null || sheet.Cells[fila, 4].Value == null || sheet.Cells[fila, 5].Value == null || sheet.Cells[fila, 6].Value == null ) { nFilaBla += " " + fila; esValidoBDInt = false; noBlancos = false; } if (noBlancos) { //var nombre = sheet.Cells[fila, 1].Value.ToString(); var documento = sheet.Cells[fila, 1].Value.ToString(); var rh = sheet.Cells[fila, 2].Value.ToString(); var nombreContacto = sheet.Cells[fila, 3].Value.ToString(); var telefonoContacto = sheet.Cells[fila, 4].Value.ToString(); var parentesco = sheet.Cells[fila, 5].Value.ToString(); var requiereManejo = sheet.Cells[fila, 6].Value.ToString(); documentoValido = ValidarDocumento(documento, cargue); if (documentoValido == false) { nFilaDoc += " " + fila; esValidoBDInt = false; } documentos.Add(documento); if (requiereManejo.Equals("SI")) { if (sheet.Cells[fila, 7].Value == null) { nFilaEspecifica += " " + fila; esValidoBDInt = false; } } if (sheet.Cells[fila, 7].Value != null) { cual = sheet.Cells[fila, 7].Value.ToString(); } if (sexo.Equals("M")) { sexoG = "Masculino"; } else { sexoG = "Femenino"; } epsG = eps; if (esValidoBDInt) { datoBI.idSede = sede; datoBI.nombreCompleto = nombreCompleto; datoBI.numeroDocumeto = documento; datoBI.genero = sexoG; datoBI.eps = epsG; datoBI.rh = rh; datoBI.nombreContacto = nombreContacto; datoBI.telefonoContacto = telefonoContacto; datoBI.paremtescoContacto = parentesco; datoBI.requiereManejo = requiereManejo; datoBI.cual = cual; datosBI.Add(datoBI); } } } else { if (fila == 2) { nFilaPV += "" + fila; esValidoBDInt = false; } break; } } documentosSinRep = documentos.Distinct().ToList(); if (documentos.Count() > documentosSinRep.Count()) { esValidoBDInt = false; mensajeRepetidos = "Existes registros con documentos repetidos, por favor revisar la Columna(A) Númmero de Documento"; } //Listo aca va mensajes y resto if (nFilaPV.Equals("")) { mensajePlantillaVacia = ""; } else { mensajePlantillaVacia += "\n"; } if (nFilaDoc.Equals("")) { mensajeDocumento = ""; } else { mensajeDocumento += nFilaDoc + "\n"; } if (nFilaBla.Equals("")) { mensajeEspBlancos = ""; } else { mensajeEspBlancos += nFilaBla + "\n"; } if (nFilaEspecifica.Equals("")) { mensajeEspecifica = ""; } else { mensajeEspecifica += nFilaEspecifica + "\n"; } mensaje = mensajePlantillaVacia + " " + mensajeEspBlancos + " " + mensajeEspecifica + " " + mensajeDocumento + " " + mensajeRepetidos + " "; if (esValidoBDInt == false) { edCargue.Message = mensaje; return(edCargue); } if (esValidoBDInt == true) { resu = eme.InsertarCargueMasivoBDInterna(datosBI, sede); } else { edCargue.Message = "No se puede realizar la carga,revise e intente de nuevo"; return(edCargue); } if (resu) { if (esValidoBDInt) { edCargue.Message = "OK"; } else { edCargue.Message = mensaje; } } else { edCargue.Message = "El proceso de cargue falló"; } } catch (Exception ex) { RegistraLog registraLog = new RegistraLog(); registraLog.RegistrarError(typeof(LNCarguePerfilSocioDemografico), string.Format("Error en el método WorksheetToDataTable {0}: {1}", DateTime.Now, ex.StackTrace), ex); edCargue.Message = "El proceso falló: revise la información y por favor intentelo de nuevo."; return(edCargue); } return(edCargue); }
private EDCarguePlanEmergencia ProcesarCargueBDPlanAyuda(ExcelWorksheet sheet, EDCarguePlanEmergencia cargue) { EDCarguePlanEmergencia edCargue = new EDCarguePlanEmergencia(); List <EDDatosCarguePlanEmergencia> datosBDPlanAyuda = new List <EDDatosCarguePlanEmergencia>(); bool esValidoBDPlan = true; bool noBlancos = true; string nFilaBla = ""; string nFilaPV = ""; string mensaje = ""; bool resu = false; string mensajePlantillaVacia = "La plantilla ingresada no tiene datos"; string mensajeEspBlancos = "Existen campos en blanco,revisar la(s) fila(s)"; try { var dt = new DataTable(); var rowCnt = 0; rowCnt = sheet.Dimension.End.Row; var sede = cargue.idSede; var nitEmpresa = cargue.NitEmpresa; for (var fila = 2; fila <= rowCnt; fila++) { EDDatosCarguePlanEmergencia datoPA = new EDDatosCarguePlanEmergencia(); if (sheet.Cells[fila, 1].Value != null) { if (sheet.Cells[fila, 1].Value == null || sheet.Cells[fila, 2].Value == null || sheet.Cells[fila, 3].Value == null || sheet.Cells[fila, 4].Value == null ) { nFilaBla += " " + fila; esValidoBDPlan = false; noBlancos = false; } if (noBlancos) { var empresaParticipante = sheet.Cells[fila, 1].Value.ToString(); var recursoDisposicion = sheet.Cells[fila, 2].Value.ToString(); var compesacionEcomomica = sheet.Cells[fila, 3].Value.ToString(); var reintegroRecurso = sheet.Cells[fila, 4].Value.ToString(); var nombreContacto = sheet.Cells[fila, 5].Value.ToString(); var telefonoContacto = sheet.Cells[fila, 6].Value.ToString(); if (esValidoBDPlan) { datoPA.idSede = sede; datoPA.empresaParticipante = empresaParticipante; datoPA.recursoDisposicion = recursoDisposicion; datoPA.compesacionEconomica = compesacionEcomomica; datoPA.reintegroRecurso = compesacionEcomomica; datoPA.nombreContacto = nombreContacto; datoPA.telefonoContacto = telefonoContacto; datoPA.nitEmpresa = nitEmpresa; datosBDPlanAyuda.Add(datoPA); } } } else { if (fila == 2) { nFilaPV += "" + fila; esValidoBDPlan = false; } break; } } //Listo aca va mensajes y resto if (nFilaPV.Equals("")) { mensajePlantillaVacia = ""; } else { mensajePlantillaVacia += "\n"; } if (nFilaBla.Equals("")) { mensajeEspBlancos = ""; } else { mensajeEspBlancos += nFilaBla + "\n"; } mensaje = mensajePlantillaVacia + " " + mensajeEspBlancos + " "; if (esValidoBDPlan == false) { edCargue.Message = mensaje; return(edCargue); } if (esValidoBDPlan == true) { resu = eme.InsertarCargueMasivoBDPlanAyuda(datosBDPlanAyuda, sede); } else { edCargue.Message = "No se puede realizar la carga,revise e intente de nuevo"; return(edCargue); } if (resu) { if (esValidoBDPlan) { edCargue.Message = "OK"; } else { edCargue.Message = mensaje; } } else { edCargue.Message = "El proceso de cargue falló"; } } catch (Exception ex) { RegistraLog registraLog = new RegistraLog(); registraLog.RegistrarError(typeof(LNCarguePerfilSocioDemografico), string.Format("Error en el método WorksheetToDataTable {0}: {1}", DateTime.Now, ex.StackTrace), ex); edCargue.Message = "El proceso falló: revise la información y por favor intentelo de nuevo."; return(edCargue); } return(edCargue); }