public ActionResult OP_Subir(HttpPostedFileBase file) { // Validacion de ingreso usuario usuario = (usuario)Session["Usuario"]; if (usuario == null) { return(RedirectToAction("Login")); } try { // Coloca archivo ZIP en directorio del servidor string servidor = Server.MapPath("~/UploadedFiles"); string _FileName = Path.GetFileName(file.FileName); string _path = Path.Combine(servidor, _FileName); file.SaveAs(_path); // Leer archivo ZIP en UploadedFiles y extra información de los XML Lector lector = new Lector(servidor, _path); List <OP> lista_OP = lector.excel(); ViewBag.lista_OP = lista_OP; //Sube las facturas a la BD lector.subir_OP(); ViewBag.message = "Órdenes de pedido subidas exitosamente."; // Guarda edicion de cambios en BD y retorna vista using (Entities obj = new Entities()) { foreach (OP op in lista_OP) { edicion edit = new edicion(); edit.numero = obj.edicion.ToList().Last().numero + 1; edit.codDoc = op.codOP; edit.codUsuario = usuario.codUsuario; edit.tipoDoc = "OP"; edit.modificacion = "creacion"; edit.fecha = DateTime.Today; edit.hora = DateTime.Now.TimeOfDay; obj.edicion.Add(edit); obj.SaveChanges(); } return(View()); } } catch (System.Data.Entity.Infrastructure.DbUpdateException e) { ViewBag.Message = "Algunas de las facturas ya han sido subidas al servidor."; return(View()); } catch (Exception e) { ViewBag.Message = "Tipo de error: " + e.GetType() + "Mensaje: " + e.Message; return(View()); } }
public ActionResult Facturas_Subir(HttpPostedFileBase file) { // Validacion de ingreso usuario usuario = (usuario)Session["Usuario"]; if (usuario == null) { return(RedirectToAction("Login")); } try { // Coloca archivo ZIP en directorio del servidor string servidor = Server.MapPath("~/UploadedFiles"); string _FileName = Path.GetFileName(file.FileName); string _path = Path.Combine(servidor, _FileName); file.SaveAs(_path); // Leer archivo ZIP en UploadedFiles y extra información de los XML Lector lector = new Lector(servidor, _path); List <factura> lista_facturas = lector.paquete_facturas(); ViewBag.lista_facturas = lista_facturas; //Valida si las facturas tienen OP registrado List <OP> listado_OP = new List <OP>(); List <string> listado_scops = new List <string>(); using (Entities obj = new Entities()) { listado_OP = obj.OP.ToList(); } foreach (OP opi in listado_OP) { listado_scops.Add(opi.scop); } string mensaje = ""; foreach (factura factu in lista_facturas) { if (!listado_scops.Contains(factu.scop)) { mensaje += " (" + factu.codFactura + "," + factu.scop + ") "; } } if (mensaje.Length > 1) { ViewBag.message = "Las siguientes facturas no tienen OP registrado: " + mensaje; return(View()); } //Sube las facturas a la BD lector.subir_facturas(); ViewBag.message = "Facturas subidas exitosamente."; // Guarda edicion de cambios en BD y retorna vista using (Entities obj = new Entities()) { foreach (factura fac in lista_facturas) { edicion edit = new edicion(); edit.numero = obj.edicion.ToList().Last().numero + 1; edit.codDoc = fac.codFactura; edit.codUsuario = usuario.codUsuario; edit.tipoDoc = "factura"; edit.modificacion = "creacion"; edit.fecha = DateTime.Today; edit.hora = DateTime.Now.TimeOfDay; obj.edicion.Add(edit); obj.SaveChanges(); } return(View()); } } catch (System.Data.Entity.Infrastructure.DbUpdateException e) { ViewBag.Message = "Algunas de las facturas ya han sido subidas al servidor."; return(View()); } catch (Exception e) { ViewBag.Message = "Tipo de error: " + e.GetType() + "Mensaje: " + e.Message; return(View()); } }