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;
            }
        }
        public DescargaArchivo ObtenerAdjunto(String UID)
        {
            try
            {
                DescargaArchivo retorno = new DescargaArchivo();

                DocumentosAdjuntosDao daoDOcumentosAdjuntos = new DocumentosAdjuntosDao();
                MetadataArchivoDao daoMetadata = new MetadataArchivoDao();
                var data = daoMetadata.obtenerMetadata(UID);

                Uniandes.FileControl.FileControl fileControl = new Uniandes.FileControl.FileControl(0);

                if (data != null)
                    retorno = (obtenerArchivoUsuario(data.userIdApplicacion, data.idDMtadataArchivo.ToString(), (int)data.idCarpetaPersonal));

                return retorno;
            }
            catch (Exception ex)
            {
                AppLog.Write(" Error obteniendo los Adjuntos de un mensaje. ", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");
                throw ex;
            }
        }
Exemple #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>");

        }
    }
        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;
        }
Exemple #5
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>");

        }
    }
Exemple #6
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;

            }
        }