public DescargaArchivo obtenerArchivoUsuario(string Userid, string UIDNombreArchivo, int idCarpeta)
        {
            try
            {
                DescargaArchivo retorno = new DescargaArchivo();
                Uniandes.FileControl.FileControl fileControl = new Uniandes.FileControl.FileControl(0);

                DaoUsuario daoUsuario = new DaoUsuario();
                var usuario = daoUsuario.ObtnerUsuario(Userid);
                MetadataArchivoDao daoMetadata = new MetadataArchivoDao();
                var metadata = daoMetadata.obtenerMetadata(UIDNombreArchivo);

                CarpetaPersonalDao cpDao = new CarpetaPersonalDao();
                string path = cpDao.fullPathPorCarpeta(idCarpeta);
                string fullpath = @"" + usuario.CarpetaInicial + @"" + path + @"\\" + metadata.nombre_generado;
                var file = fileControl.GetFileFromFtpRepository(usuario.respositorioKey, fullpath);

                retorno.file = file;
                retorno.nombre = metadata.nombre;

                return retorno;
            }
            catch (Exception ex)
            {
                AppLog.Write(" Error obteniendo la informacion Inicial. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");
                throw ex;
            }
        }
Esempio n. 2
0
        public bool RegistrarUsuario(String app, String centralizador, String repositorioKey,
          String carpetaUsuarioInicial, String nombres,
          String Apellidos, int tipoIdentificacion, String numeroIdentificacion)
        {
            DaoUsuario daoUsuario = new DaoUsuario();
            CarpetaPersonalDao daoCarpeta = new CarpetaPersonalDao();

            try
            {

                daoUsuario.RegistrarUsuario(app, centralizador, repositorioKey,
               carpetaUsuarioInicial, nombres,
               Apellidos, tipoIdentificacion, numeroIdentificacion);

            }
            catch (Exception ex)
            {

                AppLog.Write(" Error Creacion Usuario", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");
                throw ex;
            }

            try
            {

                #region crear carpeta en el servidor
                var fileControl = new Uniandes.FileControl.FileControl(Int32.Parse("MaxFileSize".GetFromAppCfg()));

                fileControl._CreateFolderInFTP(carpetaUsuarioInicial, "OPERADOR_REPOSITORY_USER");
                fileControl._CreateFolderInFTP(carpetaUsuarioInicial + @"/ADJUNTOS", "OPERADOR_REPOSITORY_USER");

                CarpetaPersonal nueva = new CarpetaPersonal();
                nueva.idCarpetaPadre = null;
                nueva.NombreCarpeta = "ADJUNTOS";
                nueva.esSistema = true;
                nueva.userIdAplicacion = app;
                daoCarpeta.RegistrarCarpetaPersonal(nueva);

            }
            catch (Exception ex)
            {

                AppLog.Write(" Error Creacion Usuario", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");
                throw ex;

            }
                #endregion

            return true;
        }
Esempio n. 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        EncriptadorTripleDES des = new EncriptadorTripleDES();

        if (!IsPostBack)
        {
            string uid = string.Empty;
            string NombreFullCarpeta = string.Empty;
            try
            {
                if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
                {

                    string usuarioActual = Thread.CurrentPrincipal.Identity.Name;

                    MembershipUser u = Membership.GetUser(usuarioActual);
                    uid = u.ProviderUserKey.ToString();
                    if (u.LastPasswordChangedDate.Equals(u.CreationDate))
                    {
                        Response.Redirect("../RestablecerContrasena/AsignarRespuestaSecretaContrasenia.aspx", true);
                    }

                }
                else
                {
                    Response.Redirect("../Logoff.aspx");
                }
            }
            catch (Exception ex)
            {

            }

            CarpetaPersonalDao cPdao = new CarpetaPersonalDao();
            MetadataArchivoDao mDatadao = new MetadataArchivoDao();

            List<string> carpetasTodasUsuario = new List<string>();
            List<CarpetaPersonal> resultadoCarpetas = new List<CarpetaPersonal>();
            List<MetadataArchivos> resultadoMetadata = new List<MetadataArchivos>();

            string dir;
            string returnUrl = Server.UrlEncode(Request.Form["dir"]);
            // returnUrl = Server.UrlEncode(Request.Form["dir"]);

            // returnUrl = System.Web.HttpUtility.UrlEncode(Request.Form["dir"]);
            // returnUrl = System.Web.HttpUtility.HtmlDecode(Request.Form["dir"]);

            //returnUrl = Regex.Replace(Request.Form["dir"].ToString(), @"[^\u0000-\u007F]", string.Empty);
            //returnUrl = Regex.Replace(returnUrl, @"[^\u0000-\u007F]", string.Empty);

            if (Request.Form["dir"] == null || Request.Form["dir"].Length <= 0)
                dir = "/";
            else
            {

                dir = Server.UrlDecode(Request.Form["dir"]);

                dir = des.Decrypt(returnUrl, true);

                dir = dir.Replace("-/", "");
            }

            var dato = dir.Split('@');
            if (dato[0] == "/")
            {
                resultadoCarpetas = cPdao.ObtenerCarpetasPorUsuarioCarpeta(uid, null);
                resultadoMetadata = mDatadao.ObtenerArchivosPorCarpetasDeUsuario(null);

                // NombreFullCarpeta = cPdao.fullPathPorCarpeta(null);
            }
            if (dir != "/")
            {
                resultadoCarpetas = cPdao.ObtenerCarpetasPorUsuarioCarpeta(uid, Convert.ToInt64(dato[0]));
                resultadoMetadata = mDatadao.ObtenerArchivosPorCarpetasDeUsuario(Convert.ToInt64(dato[0]));
                //dataNombreFullCarpeta = cPdao.fullPathPorCarpeta(Convert.ToInt64(dir));
            }
            if (NombreFullCarpeta.StartsWith("'\\'"))
            {

                NombreFullCarpeta = NombreFullCarpeta.Remove(0, 2);
            }
            NombreFullCarpeta.Replace("'\\'", @"\");
            if (dato.Count() > 1)
            {
                SessionHelper.SetSessionData("NOMBRE_CARPETA", @dato[1].Replace("%5C", "/").Replace("%20", " "));
                SessionHelper.SetSessionData("ID_CARPETA", Convert.ToInt64(dato[0]));

            }
            else
            {
                SessionHelper.SetSessionData("NOMBRE_CARPETA", "");
                SessionHelper.SetSessionData("ID_CARPETA", 0);
            }

            Response.Write("<ul class=\"jqueryFileTree\" style=\"display: none;\">\n");

            string idEncriptado = string.Empty;
            foreach (var data in resultadoCarpetas)
            {
                //idEncriptado = des.Encrypt(data.IdCarpetaPersonal + "@" + @data.PathTotal, true);
                Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + data.IdCarpetaPersonal + "@" + @data.PathTotal + "/\">" + data.NombreCarpeta + "</a></li>\n");

            }

            foreach (var data in resultadoMetadata)
            {

                Response.Write("\t<li class=\"file ext_" + data.extension.Replace(".", "") + "\"><a href=\"#\" rel=\"" + data.idDMtadataArchivo + "\">" + data.nombre + "</a></li>\n");
            }

            Response.Write("</ul>");

        }
    }
Esempio n. 4
0
    public static object CrearEditarDocumentos(string anterior, string NuevoNombre, bool Escrear, string identificador)
    {
        string uid = string.Empty;
        string mensaje = string.Empty;
        string OK = "OK";

        EncriptadorTripleDES des = new EncriptadorTripleDES();
        var identificadorArchivo = des.Decrypt(identificador, true);
        var fileControl = new FileControl(Int32.Parse("MaxFileSize".GetFromAppCfg()));
        CarpetaPersonalDao daoCarpeta = new CarpetaPersonalDao();
        DaoUsuario daoUsuaroo = new DaoUsuario();
        try
        {
            uid = (string)SessionHelper.GetSessionData("USUARIO_AUTENTICADO");
        }
        catch (Exception ex)
        {
            return new
            {
                status = "error",
            };
        }
        Decimal? idCarpeta;
        if (identificadorArchivo == "0")
        {
            idCarpeta = null;

        }
        else
        {
            idCarpeta = Convert.ToDecimal(identificadorArchivo);
        }
        var usuario = daoUsuaroo.ObtnerUsuario(uid);
        var full =@""+usuario.CarpetaInicial+ @"\" +@""+daoCarpeta.fullPathPorCarpeta(Convert.ToDecimal(identificadorArchivo));
        if (Escrear)
        {

           var existe=  daoCarpeta.validarExisteCarpeta(NuevoNombre, idCarpeta);
           if (!existe)
           {
               var secreo = fileControl._CreateFolderInFTP(full + @"\" + NuevoNombre, usuario.respositorioKey);

               if (secreo)
               {
                   CarpetaPersonal nueva = new CarpetaPersonal();
                   nueva.idCarpetaPadre = Convert.ToDecimal(identificadorArchivo);
                   nueva.NombreCarpeta = NuevoNombre;
                   nueva.userIdAplicacion = uid;
                   daoCarpeta.RegistrarCarpetaPersonal(nueva);
                   mensaje = "Se ha creado satisfactoriamente la carpeta";
               }
               else
               {
                   OK = "iguales";
                   mensaje = "No Se ha creado la carpeta, existe una con el mismo nombre";
               }
           }
           else
           {
               OK = "iguales";
               mensaje = "No Se ha creado la carpeta, existe una con el mismo nombre";
           }
        }
        else {

            var existe = daoCarpeta.validarExisteCarpeta(NuevoNombre, idCarpeta);

            if (!existe)
            {
                fileControl._RenameFolderInFTP(full, NuevoNombre, usuario.respositorioKey);

                CarpetaPersonal actualizar = new CarpetaPersonal();
                actualizar.IdCarpetaPersonal = Convert.ToDecimal(identificadorArchivo);
                actualizar.NombreCarpeta = NuevoNombre;
                actualizar.userIdAplicacion = uid;
                daoCarpeta.ActualizarCarpetaPersonal(actualizar);
                mensaje = "Se ha actualizado satisfactoriamente la carpeta";
            }
            else
            {
                OK = "iguales";
                mensaje = "No Se ha modificado el nombre de la carpeta, existe una con el mismo nombre";
            }
        }
        return new
        {
            status = OK,
            mensaje =mensaje

        };
    }
Esempio n. 5
0
    public static object TraerInformacionInicial()
    {
        EncriptadorTripleDES des = new EncriptadorTripleDES();
        string uid = string.Empty;
        string NombreFullCarpeta = string.Empty;
        try
        {
            uid = (string)SessionHelper.GetSessionData("USUARIO_AUTENTICADO");
        }
        catch (Exception ex)
        {
            return new
            {
                mensaje = "Session Finalizada",
                status = "error",
            };
        }
        CarpetaPersonalDao cPdao = new CarpetaPersonalDao();
        List<CarpetaPersonal> resultadoCarpetas = new List<CarpetaPersonal>();
        List<TreeField> ListaTodos = new List<TreeField>();
        List<TreeField> Listaretorno = new List<TreeField>();
        GestorArbol gArbolDao = new GestorArbol();
        ListaTodos = gArbolDao.ObtenerArbolPorUsuario(uid, true);

        foreach (var datos in ListaTodos)
        {
            datos.id = des.Encrypt(datos.id, true);
            datos.parent = datos.parent == "#" ? "#" : des.Encrypt(datos.parent, true);
            Listaretorno.Add(datos);
        }
        return new
        {
            status = "OK",
            arbol = Listaretorno.ToArray()
        };
    }
Esempio n. 6
0
        public bool EnviarMensaje(TransferenciaMensajes mensajes)
        {
            BandejaNotificacionesDAO dao = new BandejaNotificacionesDAO();
            DocumentosAdjuntosDao daoDocumentosAdjuntos = new DocumentosAdjuntosDao();

            var tipoDocumental = new tipoDocumentalDao().obtenerTipoLogiaDocumental("500001");
            List<tblBandejaNotificaciones> listaInsertMensajes = new List<tblBandejaNotificaciones>();
            var enviarA = mensajes.destinatarios;
            List<tbl_usuarios> ListaUsuarios = new List<tbl_usuarios>();
            tbl_usuarios idOrigen = new tbl_usuarios();
            DaoUsuario daoUsuarios = new DaoUsuario();
            bool adjunto = mensajes.archivos.Count() > 0 ? true : false;
            var fechaEnvio = DateTime.Now;
            idOrigen = daoUsuarios.obtenerIdentficadorUnicoUsuario(mensajes.Origen.tipoIdentificacion, mensajes.Origen.NumeroIdentificacion);
            string Destinos = string.Empty;
            string usuarioOrigen = mensajes.NombreEnvia;
            foreach (var data in enviarA)
            {
                var usuario = daoUsuarios.obtenerIdentficadorUnicoUsuario(data.tipoIdentificacion, data.NumeroIdentificacion);
                Destinos = PrefijoEnumTIPO_IDENTIFICACION.EnumToTIPO_IDENTIFICACION(Convert.ToInt32( usuario.tipoIdentificacion)) + usuario.numeroIdentificacion + ",";

                ListaUsuarios.Add(usuario);

            }
            if (Destinos.EndsWith(","))
            {
                Destinos = Destinos.Substring(0, Destinos.Length - 1);
            }

            foreach (var data in ListaUsuarios)
            {

                listaInsertMensajes.Add(new tblBandejaNotificaciones()
                {
                    idBandejaNotificacionPadre = null,
                    userIdAplicacionDestino = data.userIdApplicacion,
                    NombreEnvia = mensajes.NombreEnvia,
                    userIdAplicacionOrigen = idOrigen.userIdApplicacion,
                    Destinatarios =Destinos,
                    fechaEnvio = fechaEnvio,
                    Mensaje = mensajes.Mensaje,
                    Asunto = mensajes.Asunto,
                    Estado = 1,
                    tamanio = "",// mensaje.tamanio
                    Adjunto = adjunto,

                });

            }

            var resultadoInsertarMensaje = dao.EnviarMensaje(listaInsertMensajes);
            #region Guardar Documentos En las carpetas de los usuarios
            var fileControl = new Uniandes.FileControl.FileControl(Int32.Parse("MaxFileSize".GetFromAppCfg()));

            List<tbl_metadataArchivos> listaMetadatos = new List<tbl_metadataArchivos>();

            MetadataArchivoDao daoMetadata = new MetadataArchivoDao();
            CarpetaPersonalDao daoCarpetaPersonal = new CarpetaPersonalDao();
            foreach (var usuarios in ListaUsuarios)
            {
                var idCarpeta = daoCarpetaPersonal.obtenerIdCarpeta(usuarios.userIdApplicacion, "ADJUNTOS");
                listaMetadatos = new List<tbl_metadataArchivos>();
                foreach (var archivos in mensajes.archivos)
                {

                    fileControl.CopyStringByteFileToRepositorio(usuarios.repositorioKey, @"" + usuarios.carpetaUsuarioInicial + "/Adjuntos", archivos.Contenido, archivos.NombreArchivo);
                    string ext = System.IO.Path.GetExtension(archivos.NombreArchivo).ToLower();
                    listaMetadatos.Add(new tbl_metadataArchivos()
                    {
                        idDMtadataArchivo =  Guid.NewGuid(),
                        autor = usuarioOrigen,
                        userIdApplicacion = usuarios.userIdApplicacion,
                        extension = ext,
                        nombre_generado = archivos.NombreArchivo,
                        fecha_Cargue = Convert.ToDateTime(archivos.FechaCargueArchivo),
                        fecha_modificacion = Convert.ToDateTime(archivos.FechaCargueArchivo),
                        idTipoDocumento = tipoDocumental,
                        tamanio = "",
                        nombre = archivos.NombreArchivo,
                        idCarpetaPersonal = idCarpeta
                    });

                }

               var resultadoGuardardatos = daoMetadata.RegistrarListaMetadataArchivo(listaMetadatos);

               List<tblDocumentosAdjuntos> almacenarAdjuntos = new List<tblDocumentosAdjuntos>();

               var idMensaje = listaInsertMensajes.Where(x => x.userIdAplicacionDestino == usuarios.userIdApplicacion).First().idBandejaNotificaciones;

               foreach (var lista in listaMetadatos) {

                   almacenarAdjuntos.Add(new tblDocumentosAdjuntos() {
                    idDMetadaArchivo = lista.idDMtadataArchivo,
                    idBandejaNotificaciones = idMensaje
                   });

               }
               daoDocumentosAdjuntos.RegistrarListaMetadataArchivo(almacenarAdjuntos);
            }

            #endregion
            return true;
        }
Esempio n. 7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string uid = string.Empty;
            try
            {
                if (Thread.CurrentPrincipal.Identity.IsAuthenticated)
                {

                    string usuarioActual = Thread.CurrentPrincipal.Identity.Name;

                    MembershipUser u = Membership.GetUser(usuarioActual);
                    uid = u.ProviderUserKey.ToString();
                    if (u.LastPasswordChangedDate.Equals(u.CreationDate))
                    {
                        Response.Redirect("../RestablecerContrasena/AsignarRespuestaSecretaContrasenia.aspx", true);
                    }

                }
                else
                {
                    Response.Redirect("../Logoff.aspx");
                }
            }
            catch (Exception ex)
            {

            }

            CarpetaPersonalDao cPdao = new CarpetaPersonalDao();
            MetadataArchivoDao mDatadao = new MetadataArchivoDao();

            List<string> carpetasTodasUsuario = new List<string>();
            List<CarpetaPersonal> resultadoCarpetas = new List<CarpetaPersonal>();
            List<MetadataArchivos> resultadoMetadata = new List<MetadataArchivos>();

            string dir;
            if (Request.Form["dir"] == null || Request.Form["dir"].Length <= 0)
                dir = "/";
            else
            {
                dir = Request.Form["dir"];
                dir = dir.Replace("/", "");
            }

            if (dir == "/")
            {
                resultadoCarpetas = cPdao.ObtenerCarpetasPorUsuarioCarpeta(uid, null);
                resultadoMetadata = mDatadao.ObtenerArchivosPorCarpetasDeUsuario(null);

            }
            if (dir != "/")
            {
                resultadoCarpetas = cPdao.ObtenerCarpetasPorUsuarioCarpeta(uid, Convert.ToInt64(dir));
                resultadoMetadata = mDatadao.ObtenerArchivosPorCarpetasDeUsuario(Convert.ToInt64(dir));
            }

            System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(dir);
            Response.Write("<ul class=\"jqueryFileTree\" style=\"display: none;\">\n");

            foreach (var data in resultadoCarpetas)
            {
                Response.Write("\t<li class=\"directory collapsed\"><a href=\"#\" rel=\"" + data.IdCarpetaPersonal + "/\">" + data.NombreCarpeta + "</a></li>\n");

            }

            foreach (var data in resultadoMetadata)
            {

                Response.Write("\t<li class=\"file ext_" + data.extension.Replace(".", "") + "\"><a href=\"#\" rel=\"" + data.idDMtadataArchivo + "\">" + data.nombre + "</a></li>\n");
            }

            Response.Write("</ul>");

        }
    }
Esempio n. 8
0
        /// <summary>
        /// Metodo para obtener el arbol de documentos y archivos por uno usuario.
        /// </summary>
        /// <param name="UID"></param>
        /// <returns></returns>
        public List<TreeField> ObtenerArbolPorUsuario(String UID)
        {
            try
            {

                CarpetaPersonalDao cDao = new CarpetaPersonalDao();
                MetadataArchivoDao metaDataDao = new MetadataArchivoDao();
                List<TreeField> retorno = new List<TreeField>();

                var listaCarpetas = cDao.ObtenerTodasCarpetasPorUsuario(UID);
                var listaArchivos = metaDataDao.ObtenerArchivosPorUsuario(UID);
                var listaAtributosFile = new Li_attr();
                listaAtributosFile = (new Li_attr() { rel = "file" });
                var listaAtributosDocumentos = new Li_attr();
                listaAtributosDocumentos= (new Li_attr() { rel = "folder" });
                retorno.Add(new TreeField()
                {
                    id = "0",
                    parent = "#",
                    text = "Inicial",
                    state = new Estados() { disabled = false, opened = true, selected = true },
                    icon = "",
                    li_attr = new Li_attr() { rel = "Inicial" },
                    type = "Inicial"

                });
                foreach (var dataCarpetas in listaCarpetas)
                {
                    TreeField agregar = new TreeField()
                    {
                        id = dataCarpetas.IdCarpetaPersonal.ToString(),
                        //parent = dataCarpetas.idCarpetaPadre == 0 ? "#" : dataCarpetas.idCarpetaPadre.ToString(),
                        parent = dataCarpetas.idCarpetaPadre.ToString(),
                        text = dataCarpetas.NombreCarpeta,
                        state = new Estados() { disabled = false, opened = dataCarpetas.idCarpetaPadre == null ? true : false, selected = dataCarpetas.idCarpetaPadre == null ? true : false },
                        icon = "",
                        li_attr = listaAtributosDocumentos,
                        type="folder"
                    };
                    retorno.Add(agregar);
                }

                foreach (var dataArchivos in listaArchivos)
                {
                    TreeField agregar = new TreeField()
                    {
                        id = dataArchivos.idDMtadataArchivo.ToString(),
                        parent = dataArchivos.idCarpetaPersonal == null ? "0" : dataArchivos.idCarpetaPersonal.ToString(),

                        text = dataArchivos.nombre,
                        state = new Estados() { disabled = false, opened = dataArchivos.idCarpetaPersonal == null ? true : false, selected = dataArchivos.idCarpetaPersonal == null ? true : false },
                        icon = "glyphicon glyphicon-file",
                        li_attr = listaAtributosFile,
                        type="file"

                    };
                    retorno.Add(agregar);
                }

                return retorno;
            }
            catch (Exception ex)
            {

                throw ex;

            }
        }