private tb_PolizaDetalle CargarDetalle(IRange rowBeneficiario, tb_PolizaDetalle polizaDetalle, tb_Persona persona) { //polizaDetalle.IdPersona = persona.idPersona; polizaDetalle.tb_Persona = persona; polizaDetalle.IdRelacionFamiliar = relacionFamiliar.ObtenerRelacionFamiliar(rowBeneficiario[0, 4].Value.ToString()); polizaDetalle.IdSalud = salud.ObtenerSalud(rowBeneficiario[0, 7].Value.ToString()); polizaDetalle.PorcentajeBeneficio = Convert.ToDecimal(rowBeneficiario[0, 9].Value.ToString()); polizaDetalle.IdTipoPersona = tipoPersona.ObtenerTipoPersona(rowBeneficiario[0, 11].Value.ToString()); polizaDetalle.IdTipoPensionista = tipoPensionista.ObtenerTipoPensionista(rowBeneficiario[0, 3].Value.ToString()); polizaDetalle.IdEstado = estado.ObtenerEstado(rowBeneficiario[0, 15].Value.ToString()); return(polizaDetalle); }
public JsonResult ImportarPolizas(tb_Adjunto model, HttpPostedFileBase Ruta) { var rm = new ResponseModel(); string path; string filename; int codigo = 0; tb_Persona persona; tb_Poliza polizaEF; tb_PolizaDetalle polizaDetalle; List <tb_Poliza> polizas = new List <tb_Poliza>(); if (Ruta != null) { if (ModelState.IsValid) { var agggg = Path.GetExtension(Ruta.FileName).ToString(); if (Path.GetExtension(Ruta.FileName).ToString() != ".xls" && Path.GetExtension(Ruta.FileName).ToString() != ".xlsx") { rm.SetResponse(false, "Debe escoger un archivo Excel (xls/xlsx)"); } else { #region Guardar Archivo Excel // Nombre del archivo, es decir, lo renombramos para que no se repita nunca // Archivo.SaveAs(Server.MapPath("~/uploads/" + Archivo.FileName )); filename = Path.GetFileName(Ruta.FileName); path = Path.Combine(Server.MapPath("~/uploads/"), filename); Ruta.SaveAs(path); #endregion #region Manejo rango celdas SpreedsheetGear _workbook = Factory.GetWorkbook(path, _myCIintl); _worksheetP = _workbook.Worksheets["Polizas"]; _worksheetB = _workbook.Worksheets["Beneficiarios"]; string filaFinalP = _worksheetP.Cells.EndRight.EndDown.Address; string filaFinalB = _worksheetB.Cells.EndRight.EndDown.Address; string direccionfilaFinalP = "$A$2:" + filaFinalP; string direccionfilaFinalB = "$A$2:" + filaFinalB; IRange wsP = _worksheetP.Cells[direccionfilaFinalP].Rows; IRange wsB = _worksheetB.Cells[direccionfilaFinalB].Rows; IRange celdas = wsB.Cells; #endregion foreach (IRange rowPoliza in wsP.Cells.Rows) { polizaEF = new tb_Poliza(); polizaEF = CargarPoliza(rowPoliza, polizaEF); foreach (IRange rowBeneficiario in wsB.Cells.Rows) { string a = polizaEF.NumeroPoliza.ToString(); string b = rowBeneficiario[0, 1].Value.ToString(); if (polizaEF.NumeroPoliza.ToString() == rowBeneficiario[0, 1].Value.ToString()) { persona = new tb_Persona(); persona = CargarPersona(rowBeneficiario, persona); //persona.idPersona = personaBL.GuardarPersona(persona); polizaDetalle = new tb_PolizaDetalle(); polizaDetalle = CargarDetalle(rowBeneficiario, polizaDetalle, persona); polizaEF.tb_PolizaDetalle.Add(polizaDetalle); codigo = Convert.ToInt32(rowBeneficiario[0, 0].Value.ToString()); } else { if (codigo < Convert.ToInt32(rowBeneficiario[0, 0].Value.ToString())) { break; } } } polizas.Add(polizaEF); //rm = poliza.Guardar(polizaEF); } path = Path.Combine(Server.MapPath("~/uploads/"), "importar0.txt"); StreamWriter sw = new StreamWriter(path, true); StackTrace stacktrace = new StackTrace(); sw.WriteLine("las polizas se importaron"); sw.WriteLine("hora: " + System.DateTime.Now.ToString("HH:mm:ss")); sw.WriteLine(""); sw.Flush(); sw.Close(); rm = poliza.Guardar(polizas); path = Path.Combine(Server.MapPath("~/uploads/"), "importar.txt"); sw = new StreamWriter(path, true); stacktrace = new StackTrace(); sw.WriteLine("las polizas se importaron"); sw.WriteLine("hora: " + System.DateTime.Now.ToString("HH:mm:ss")); sw.WriteLine(""); sw.Flush(); sw.Close(); if (rm.response) { //rm.function = "MensajeGrabacion()"; //rm.href = Url.Content("~/poliza/importar"); rm.SetResponse(false, "Importación de pólizas terminó satisfactoriamente!"); } } } } else { rm.SetResponse(false, "Debe escoger un archivo"); } return(Json(rm)); }