コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }