// GET: Archivos public ActionResult SeleccionarArchivos(string userJson) { ImportarArchivosViewModel viewModel = new ImportarArchivosViewModel { Usuario = new Usuario { Json = userJson } }; ViewBag.UserJson = userJson; return(View("~/Views/Nacimientos/Archivos/Importar.cshtml", viewModel)); }
public ActionResult Importar(ImportarArchivosViewModel viewModel) { /* Take user. */ Usuario usuario = JsonConvert.DeserializeObject <Usuario>(viewModel.UserJson); usuario.Json = viewModel.UserJson; viewModel.Usuario = usuario; ViewBag.UserJson = viewModel.UserJson; /* Saving files */ CabeceroRespuesta cabeceroRespuesta = ArchivosFacade.SalvarArchivos(viewModel); viewModel.CabeceroRespuesta = cabeceroRespuesta; return(View("~/Views/Nacimientos/Archivos/Importar.cshtml", viewModel)); }
/* Import files */ public CabeceroRespuesta SalvarArchivos(ImportarArchivosViewModel viewModel) { CabeceroRespuesta cabeceroRespuesta; Servicio servicio = new Servicio(); /* Processing uploaded files */ HttpPostedFileBase sinacFileBase = viewModel.SinacFile; HttpPostedFileBase sicFileBase = viewModel.SicFile; /* Validation .*/ //if (sinacFileBase.ContentLength <= 0 || sicFileBase.ContentLength <= 0) //{ // cabeceroRespuesta = new CabeceroRespuesta(); // cabeceroRespuesta.CodigoRespuesta = -1; // cabeceroRespuesta.MensajeRespuesta = "Los archivos son incorrectos o no tienen datos."; // return cabeceroRespuesta; //} /* Temp location */ var tempPath = Path.GetTempPath(); /* Preparing request to service */ CabeceroPeticion cabeceroPeticion = new CabeceroPeticion { SesionId = viewModel.Usuario.SesionId }; PreCargaPeticion preCargaPeticion = new PreCargaPeticion() { Cabecero = cabeceroPeticion, ColArchivo = new Collection <Archivo>() }; /* SINAC */ if (sinacFileBase != null && sinacFileBase.ContentLength > 0) { var pathSINAC = Path.Combine(tempPath, Path.GetFileName(sinacFileBase.FileName)); sinacFileBase.SaveAs(pathSINAC); var index_anio = sinacFileBase.FileName.IndexOf(".SINAC_"); var anio = sinacFileBase.FileName.Substring(index_anio + 7, 4); Archivo archivoSINAC = new Archivo { Extension = sinacFileBase.ContentType, Nombre = pathSINAC, Ano = anio }; archivoSINAC.IdentificarTablaSINAC(); preCargaPeticion.ColArchivo.Add(archivoSINAC); } /* SIC */ if (sicFileBase != null && sicFileBase.ContentLength > 0) { var pathSIC = Path.Combine(tempPath, Path.GetFileName(sicFileBase.FileName)); var index_anio = sicFileBase.FileName.IndexOf(".SIC_"); var anio = sicFileBase.FileName.Substring(index_anio + 5, 4); sicFileBase.SaveAs(pathSIC); Archivo archivoSIC = new Archivo { Extension = sicFileBase.ContentType, Nombre = pathSIC, Ano = anio }; archivoSIC.IdentificarTablaSIC(); preCargaPeticion.ColArchivo.Add(archivoSIC); } /* Almacenar archivos */ cabeceroRespuesta = servicio.PreCargarDatos(preCargaPeticion); if (cabeceroRespuesta.EsRespuestaExistosa()) { cabeceroRespuesta.MensajeRespuesta = "Archivos guardados exitosamente."; } else { return(cabeceroRespuesta); } /* Procesar archivos. */ cabeceroRespuesta = servicio.ProcesarCarga(preCargaPeticion); if (cabeceroRespuesta.EsRespuestaExistosa()) { cabeceroRespuesta.MensajeRespuesta = "Los archivos han sido guardados y procesados exitosamente, los datos pueden ser consultados ahora."; } else { return(cabeceroRespuesta); } return(cabeceroRespuesta); }