Example #1
0
        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());
            }
        }
Example #2
0
        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());
            }
        }