public JsonResult GenerarCopia(EntidadFiltro model) { var rm = new ResponseModel(); int idPeriodo = model.IdPeriodo; int idMoneda = model.IdMoneda; if (ModelState.IsValid) { rm = foto.GenerarFoto(model.IdPeriodo, 5, model.FechaCalculo); if (rm.response) { var lista = foto.ListarFoto(model.IdPeriodo, 5); if (lista.Count > 0) { //rm.function = "MensajeGrabacion()"; rm.SetResponse(false, "La copia de las pólizas se generaron con exito!"); //rm.href = Url.Content("~/reserva/importar"); } else { rm.SetResponse(false, "No hay pólizas para la moneda selecionada."); } } } return(Json(rm)); }
public JsonResult CalcularReserva(EntidadFiltro model) { var rm = new ResponseModel(); int idPeriodo = model.IdPeriodo; int idMoneda = model.IdMoneda; //tb_Foto fotoEF = new tb_Foto(); List <tb_Foto> listaFotos = new List <tb_Foto>(); listaReserva = new List <tb_Reserva>(); listaDetalle = new List <tb_ReservaDetalle>(); listaFotos = foto.ObtenerFoto(idPeriodo, idMoneda); if (listaFotos.Count() != 0) { var caso = reserva.BuscarReserva(idPeriodo, idMoneda); if (caso == null) { var path = Path.Combine(Server.MapPath("~/Motor/"), "Motor.xlsx"); _workbook = Factory.GetWorkbook(path, _myCIintl); _worksheetCalculo = _workbook.Worksheets["RS"]; _workbook.WorkbookSet.Calculation = Calculation.Manual; _workbook.WorkbookSet.BackgroundCalculation = true; foreach (tb_Foto fotoEF in listaFotos) { foreach (tb_FotoDetalle poliza in fotoEF.tb_FotoDetalle) { #region poliza var _worksheetC = _worksheetCalculo; var monPol = moneda.ObtenerMoneda(fotoEF.IdMoneda); var cobPol = cobertura.ObtenerCobertura(poliza.IdCobertura); DateTime fechaCalculo = model.FechaCalculo; var sepelioPol = sepelio.ObtenerSepelio(fechaCalculo); var tcPol = tipoCambio.ObtenerTipoCambio(fechaCalculo); var ipcPol = ipc.ObtenerIPC(fechaCalculo); _worksheetC.Cells["C4"].Value = monPol.CodigoMoneda.Trim(); _worksheetC.Cells["C5"].Value = cobPol.ResumenCobertura.Substring(0, 1).Trim(); _worksheetC.Cells["C6"].Value = poliza.PeriodoDiferido; _worksheetC.Cells["C7"].Value = poliza.PeriodoGarantizado; _worksheetC.Cells["C8"].Value = sepelioPol.MontoGS; _worksheetC.Cells["C9"].Value = poliza.Gratificacion ? "S" : "N"; _worksheetC.Cells["C10"].Value = poliza.DerechoACrecer ? "S" : "N"; _worksheetC.Cells["C12"].Value = poliza.PorcentajeGarantizado; _worksheetC.Cells["C13"].Value = poliza.TasaReserva; _worksheetC.Cells["C15"].Value = poliza.PensionReserva; _worksheetC.Cells["F4"].Value = poliza.Estudiante ? "1" : "0"; _worksheetC.Cells["F5"].Value = poliza.FechaEnvio; _worksheetC.Cells["F6"].Value = fechaCalculo.ToShortDateString(); _worksheetC.Cells["F7"].Value = poliza.FechaDevengue; _worksheetC.Cells["F14"].Value = poliza.TasaVenta; _worksheetC.Cells["J8"].Value = tcPol.ImporteTC; #endregion int contador = 0; foreach (tb_FotoDetallePoliza polizaDetalle in poliza.tb_FotoDetallePoliza) { #region beneficiarios var parentesco = relacionFamiliar.ObtenerRelacionFamiliar(polizaDetalle.IdRelacionFamiliar); var saludBene = salud.ObtenerSalud(polizaDetalle.IdSalud); var tipoBene = tipoPersona.ObtenerTipoPersona(polizaDetalle.IdTipoPersona); var sexoBene = sexo.ObtenerSexo(polizaDetalle.IdSexo); var fallecimiento = ""; if (parentesco.ResumenRelacionFamiliar.Trim() == "T") { if (polizaDetalle.FechaFallecimiento.Year != 1899) { fallecimiento = polizaDetalle.FechaFallecimiento.ToShortDateString(); } _worksheetC.Cells["C11"].Value = fallecimiento; _worksheetC.Cells["A21"].Value = polizaDetalle.IdFotoDetallePoliza; _worksheetC.Cells["B21"].Value = polizaDetalle.FechaNacimiento; _worksheetC.Cells["C21"].Value = parentesco.ResumenRelacionFamiliar.Trim(); _worksheetC.Cells["H21"].Value = saludBene.ResumenSalud.Trim(); _worksheetC.Cells["I21"].Value = sexoBene.ResumenSexo.Trim() == "M" ? "H" : "M"; _worksheetC.Cells["J21"].Value = poliza.PensionReserva * polizaDetalle.PorcentajeBeneficio; _worksheetC.Cells["K21"].Value = cobPol.ResumenCobertura.Substring(0, 1).Trim() == "I" ? cobPol.PorcentajeCobertura.ToString().Trim() : ""; } else { _worksheetC.Cells["A" + (26 + contador).ToString()].Value = polizaDetalle.IdFotoDetallePoliza; _worksheetC.Cells["B" + (26 + contador).ToString()].Value = polizaDetalle.FechaNacimiento; _worksheetC.Cells["C" + (26 + contador).ToString()].Value = parentesco.ResumenRelacionFamiliar.Trim(); _worksheetC.Cells["H" + (26 + contador).ToString()].Value = saludBene.ResumenSalud.Trim(); _worksheetC.Cells["I" + (26 + contador).ToString()].Value = sexoBene.ResumenSexo.Trim() == "M" ? "H" : "M"; _worksheetC.Cells["J" + (26 + contador).ToString()].Value = poliza.PensionReserva * polizaDetalle.PorcentajeBeneficio; } #endregion } _workbook.WorkbookSet.Calculate(); var aaa = _worksheetC.Cells["A" + (26 + contador).ToString()].Value.ToString(); //var path1 = Path.Combine(Server.MapPath("~/Motor/"), "aaaaa.xlsx"); //_workbook.SaveAs(path1, FileFormat.OpenXMLWorkbook); reservaEF = new tb_Reserva(); #region reservaCabecer reservaEF.IdPeriodo = idPeriodo; reservaEF.IdFoto = fotoEF.IdFoto; reservaEF.IdFotoDetalle = poliza.IdFotoDetalle; reservaEF.FechaReserva = fechaCalculo; reservaEF.ReservaSepelio = Convert.ToDecimal(_worksheetC.Cells["J5"].Value.ToString()); reservaEF.ReservaGarantizado = Convert.ToDecimal(_worksheetC.Cells["L24"].Value.ToString()); reservaEF.ReservaMatematica = Convert.ToDecimal(_worksheetC.Cells["K4"].Value.ToString()); reservaEF.ReservaTotal = Convert.ToDecimal(_worksheetC.Cells["J6"].Value.ToString()); reservaEF.IdSepelio = sepelioPol.IdSepelio;; reservaEF.IdTipoCambio = tcPol.IdTipoCambio; reservaEF.IdTasaMercado = 10; reservaEF.IdTasaAnclaje = 1; reservaEF.IdFactorSeguridad = 1; reservaEF.FactorIPC = 1; reservaEF.IdEdadMaxima = 1; reservaEF.IdEstado = poliza.IdEstado; reservaEF.PensionReserva = poliza.PensionReserva; reservaEF.IdIPC = ipcPol.idIPC;; reservaEF.IPCInicial = 1; reservaEF.IPCFinal = 1; #endregion listaDetalle = new List <tb_ReservaDetalle>(); reservaDetalleEF = new tb_ReservaDetalle(); #region reservaDetalle reservaDetalleEF.IdFotoDetallePoliza = Convert.ToInt32(_worksheetC.Cells["A21"].Value); reservaDetalleEF.ReservaMatematica = Convert.ToDecimal(_worksheetC.Cells["L21"].Value); reservaDetalleEF.ReservaSepelio = 0; reservaDetalleEF.ReservaGarantizada = 0; reservaDetalleEF.PensionReserva = Convert.ToDecimal(_worksheetC.Cells["J21"].Value); listaDetalle.Add(reservaDetalleEF); contador = 0; var aaaaa = _worksheetC.Cells["A" + (26 + contador).ToString()].Value.ToString(); for (int i = 0; i < 11; i++) { var aaaaaaaa = _worksheetC.Cells["A" + (26 + i).ToString()].Value.ToString(); var zaazzz = _worksheetC.Cells["A26"].Value.ToString(); var zzzz = _worksheetC.Cells["A" + (26 + i).ToString()].Value.ToString(); var vvv = Convert.ToInt32(_worksheetC.Cells["A" + (26 + i).ToString()].Value.ToString()); reservaDetalleEF = new tb_ReservaDetalle(); reservaDetalleEF.IdFotoDetallePoliza = Convert.ToInt32(_worksheetC.Cells["A" + (26 + i).ToString()].Value.ToString()); reservaDetalleEF.ReservaMatematica = Convert.ToDecimal(_worksheetC.Cells["L" + (26 + i).ToString()].Value.ToString()); reservaDetalleEF.ReservaSepelio = 0; reservaDetalleEF.ReservaGarantizada = 0; reservaDetalleEF.PensionReserva = Convert.ToDecimal(_worksheetC.Cells["J" + (26 + i).ToString()].Value.ToString()); listaDetalle.Add(reservaDetalleEF); if (_worksheetC.Cells["A" + (26 + i + 1).ToString()].Value == null) { break; } } #region //foreach (IRange row in _worksheetC.Cells["B26:B35"].Rows ) //{ // var aaaaaaaa = _worksheetC.Cells["A" + (26 + contador).ToString()].Value.ToString(); // var zaazzz = row.Cells["A26"].Value.ToString(); // var zzzz = row.Cells["A" + (26 + contador).ToString()].Value.ToString(); // var vvv= Convert.ToInt32(row.Cells["A" + (26 + contador).ToString()].Value.ToString()); // reservaDetalleEF = new tb_ReservaDetalle(); // reservaDetalleEF.IdFotoDetallePoliza = Convert.ToInt32(row.Cells["A" + (26 + contador).ToString()].Value.ToString()); // reservaDetalleEF.ReservaMatematica = Convert.ToDecimal(row.Cells["L" + (26 + contador).ToString()].Value.ToString()); // reservaDetalleEF.ReservaSepelio = 0; // reservaDetalleEF.ReservaGarantizada = 0; // reservaDetalleEF.PensionReserva = Convert.ToDecimal(row.Cells["J" + (26 + contador).ToString()].Value.ToString()); // listaDetalle.Add(reservaDetalleEF); // if (row.Cells["A" + (26 + contador+1).ToString()].Value == null) // { // break; // } //} #endregion #endregion reservaEF.tb_ReservaDetalle = listaDetalle; listaReserva.Add(reservaEF); } } if (ModelState.IsValid) { rm = reserva.Guardar(listaReserva); if (rm.response) { //rm.function = "MensajeGrabacion()"; rm.SetResponse(false, "El cálculo de la reserva terminó con exito!"); //_correo.EnviarCorreoGmail(); //rm.href = Url.Content("~/reserva/importar"); } } } else { rm.SetResponse(false, "No se puede calcular la reserva. Ya se calculó para el periodo y moneda seleccionada"); //rm.href = Url.Content("~/reserva"); } } else { rm.SetResponse(false, "No se puede realizar el cálculo dela reserva, no hay copias de pólizas áctivas realizadas"); //rm.href = Url.Content("~/reserva"); } return(Json(rm)); }