public object MoverFiles(List <Files_E> listFiles)
        {
            object resul = null;
            resul  res   = new resul();

            try
            {
                Archivos_BL obj_negocio = new Archivos_BL();
                resul = obj_negocio.MoviendoArchivos(listFiles);

                res.ok   = true;
                res.data = resul;
            }
            catch (Exception ex)
            {
                res.ok   = false;
                res.data = ex.Message;
            }
            return(res);
        }
        public object UploadFiles(string filtro)
        {
            var    nombreFile = "";
            object resul      = null;
            string sPath      = "";
            resul  res        = new resul();

            try
            {
                Files_E obj_files = JsonConvert.DeserializeObject <Files_E>(filtro);

                Archivos_BL obj_negocio = new Archivos_BL();

                System.Web.HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;

                // CHECK THE FILE COUNT.
                for (int iCnt = 0; iCnt <= hfc.Count - 1; iCnt++)
                {
                    System.Web.HttpPostedFile hpf = hfc[iCnt];
                    if (hpf.ContentLength > 0)
                    {
                        nombreFile = obj_negocio.crear_archivo(obj_files);
                        sPath      = System.Web.Hosting.HostingEnvironment.MapPath("~/Documentos/" + nombreFile);
                        hpf.SaveAs(sPath);
                    }
                }

                resul    = "OK";
                res.ok   = true;
                res.data = resul;
            }
            catch (Exception ex)
            {
                res.ok   = false;
                res.data = ex.Message;
            }

            return(res);
        }
        public object Gettbl_Archivos(int opcion, string filtro)
        {
            db.Configuration.ProxyCreationEnabled = false;

            object resul = null;
            resul  res   = new resul();

            try
            {
                if (opcion == 1)
                {
                    string[] parametros = filtro.Split('|');
                    string   nombreFile = parametros[0].ToString();

                    Archivos_BL obj_negocio = new Archivos_BL();
                    resul = obj_negocio.copiar_Archivos_new(nombreFile);
                }
                else if (opcion == 2)
                {
                    Files_E obj_files = JsonConvert.DeserializeObject <Files_E>(filtro);

                    Archivos_BL obj_negocio = new Archivos_BL();
                    resul = obj_negocio.crear_carpeta(obj_files);
                }
                else if (opcion == 3)
                {
                    string[] parametros = filtro.Split('|');
                    string   nombreFile = parametros[0].ToString();

                    Archivos_BL obj_negocio = new Archivos_BL();
                    resul = obj_negocio.copiar_Carpetas(nombreFile);
                }
                else if (opcion == 4)
                {
                    string[] parametros = filtro.Split('|');
                    string   nombreFile = parametros[0].ToString();

                    Archivos_BL obj_negocio = new Archivos_BL();
                    resul = obj_negocio.mover_Archivos(nombreFile);

                    resul = (from c in db.tbl_Local
                             select new
                    {
                        c.id_Local,
                        c.nombre_Local
                    }).ToList();
                }
                else if (opcion == 5)
                {
                    string[] parametros = filtro.Split('|');
                    string   nombreFile = parametros[0].ToString();

                    Archivos_BL obj_negocio = new Archivos_BL();
                    resul = obj_negocio.mover_Carpetas(nombreFile);
                }
                else if (opcion == 6)
                {
                    string[] parametros = filtro.Split('|');
                    string   nombreFile = parametros[0].ToString();

                    Archivos_BL obj_negocio = new Archivos_BL();
                    resul = obj_negocio.comprimir_Carpetas_ant(nombreFile);
                }
                else if (opcion == 7) ///--- listando en tree view
                {
                    string[] parametros = filtro.Split('|');
                    int      id_usuario = Convert.ToInt32(parametros[0].ToString());

                    DataTable dt_Treeview = new DataTable();
                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_S_FILE_TREEVIEW", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@id_usuario", SqlDbType.Int).Value = id_usuario;
                            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                            {
                                da.Fill(dt_Treeview);
                            }
                        }
                    }
                    resul = dt_Treeview;
                }
                else if (opcion == 8) ///--- listando en tree view
                {
                    string[] parametros = filtro.Split('|');
                    int      id_file    = Convert.ToInt32(parametros[0].ToString());
                    int      id_usuario = Convert.ToInt32(parametros[1].ToString());

                    DataTable dt_Treeview = new DataTable();
                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_S_FILE_TREEVIEW_SUBMENU", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@id_file", SqlDbType.Int).Value    = id_file;
                            cmd.Parameters.Add("@id_usuario", SqlDbType.Int).Value = id_usuario;
                            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                            {
                                da.Fill(dt_Treeview);
                            }
                        }
                    }
                    resul = dt_Treeview;
                }
                else if (opcion == 9)
                {
                    string[] parametros   = filtro.Split('|');
                    int      id_file      = Convert.ToInt32(parametros[0].ToString());
                    string   nombreFile   = parametros[1].ToString();
                    int      id_user      = Convert.ToInt32(parametros[2].ToString());
                    int      id_Tipo_File = Convert.ToInt32(parametros[3].ToString());
                    string   rutaArchivo  = parametros[4].ToString();

                    Archivos_BL obj_negocio = new Archivos_BL();
                    resul = obj_negocio.RenombrarFile(id_file, nombreFile, id_user, id_Tipo_File, rutaArchivo);
                }
                else if (opcion == 10) ///--- borrando
                {
                    string[] parametros  = filtro.Split('|');
                    string   id_files    = parametros[0].ToString();
                    int      id_usuarios = Convert.ToInt32(parametros[1].ToString());

                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_U_FILE_PAPELERA_ARCHIVO", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@files", SqlDbType.VarChar).Value  = id_files;
                            cmd.Parameters.Add("@id_usuario", SqlDbType.Int).Value = id_usuarios;
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
                else if (opcion == 11) ///--- listando papelera
                {
                    DataTable dt_Treeview = new DataTable();
                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_S_FILE_TREEVIEW_PAPELERA", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                            {
                                da.Fill(dt_Treeview);
                            }
                        }
                    }
                    resul = dt_Treeview;
                }
                else if (opcion == 12) ///--- restaurando
                {
                    string[] parametros  = filtro.Split('|');
                    string   id_files    = parametros[0].ToString();
                    int      id_usuarios = Convert.ToInt32(parametros[1].ToString());

                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_U_FILE_PAPELERA_ARCHIVO_RESTAURAR", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@files", SqlDbType.VarChar).Value  = id_files;
                            cmd.Parameters.Add("@id_usuario", SqlDbType.Int).Value = id_usuarios;
                            cmd.ExecuteNonQuery();
                        }
                    }
                    resul = "OK";
                }
                else if (opcion == 13) ///--- descartar
                {
                    string[] parametros  = filtro.Split('|');
                    string   id_files    = parametros[0].ToString();
                    int      id_usuarios = Convert.ToInt32(parametros[1].ToString());

                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_U_FILE_PAPELERA_ARCHIVO_DESCARTAR", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@files", SqlDbType.VarChar).Value  = id_files;
                            cmd.Parameters.Add("@id_usuario", SqlDbType.Int).Value = id_usuarios;
                            cmd.ExecuteNonQuery();
                        }
                    }
                    resul = "OK";
                }
                else if (opcion == 14)
                {
                    string[] parametros  = filtro.Split('|');
                    int      id_opcion   = Convert.ToInt32(parametros[0].ToString());
                    int      id_usuarios = Convert.ToInt32(parametros[1].ToString());


                    DataTable dt_Evento = new DataTable();
                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("SP_S_ACCESO_LISTAR_EVENTOS_USER", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@id_opcion", SqlDbType.Int).Value  = id_opcion;
                            cmd.Parameters.Add("@id_usuario", SqlDbType.Int).Value = id_usuarios;
                            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                            {
                                da.Fill(dt_Evento);
                            }
                        }
                    }
                    resul = dt_Evento;
                }
                else if (opcion == 15)
                {
                    DataTable dt_detalle = new DataTable();
                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_S_FILE_USUARIOS", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                            {
                                da.Fill(dt_detalle);
                            }
                        }
                    }
                    resul = dt_detalle;
                }
                else if (opcion == 16)
                {
                    resul = (from c in db.tbl_Permiso_File
                             select new
                    {
                        c.id_Permiso_File,
                        c.nombre_Permiso_File
                    }).ToList();
                }
                else if (opcion == 17)
                {
                    string[] parametros = filtro.Split('|');
                    string   id_files   = parametros[0].ToString();

                    DataTable dt_detalle = new DataTable();
                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_S_FILE_ACCESO_FILE", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@files", SqlDbType.VarChar).Value = id_files;
                            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                            {
                                da.Fill(dt_detalle);
                            }
                        }
                    }
                    resul = dt_detalle;
                }
                else if (opcion == 18)
                {
                    string[] parametros          = filtro.Split('|');
                    string   obj_files           = parametros[0].ToString();
                    string   obj_usuarios        = parametros[1].ToString();
                    int      id_permiso          = Convert.ToInt32(parametros[2].ToString());
                    int      id_usuario_creacion = Convert.ToInt32(parametros[3].ToString());

                    using (SqlConnection cn = new SqlConnection(bdConexion.cadenaBDcx()))
                    {
                        cn.Open();
                        using (SqlCommand cmd = new SqlCommand("PROC_I_FILE_ACCESO_FILE_USER", cn))
                        {
                            cmd.CommandTimeout = 0;
                            cmd.CommandType    = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@files", SqlDbType.VarChar).Value        = obj_files;
                            cmd.Parameters.Add("@usuarios", SqlDbType.VarChar).Value     = obj_usuarios;
                            cmd.Parameters.Add("@id_permiso", SqlDbType.Int).Value       = id_permiso;
                            cmd.Parameters.Add("@usuario_creacion", SqlDbType.Int).Value = id_usuario_creacion;
                            cmd.ExecuteNonQuery();
                        }
                    }
                    resul = "OK";
                }
                else
                {
                    resul = "Opcion seleccionada invalida";
                }
                res.ok   = true;
                res.data = resul;
            }
            catch (Exception ex)
            {
                res.ok   = false;
                res.data = ex.Message;
            }
            return(res);
        }