public bool ActualizarCarpetaPersonal(CarpetaPersonal carpeta)
        {
            try
            {
                using (OperadorDataContext ctx = new OperadorDataContext())
                {

                    var datos = (from cp in ctx.tblCarpetaPersonal
                                 where cp.idCarpetaPersonal == carpeta.IdCarpetaPersonal
                                 select cp).FirstOrDefault();

                    if (datos != null)
                    {
                        datos.NombreCarpeta = carpeta.NombreCarpeta;
                        ctx.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues, datos);
                        ctx.SubmitChanges();
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Metodo para actualizar el nombre de un archivo.
        /// </summary>
        /// <param name="archivo"></param>
        /// <returns></returns>
        public bool ActualizarNombreArchivo(MetadataArchivos archivo)
        {
            try
            {
                using (OperadorDataContext ctx = new OperadorDataContext())
                {

                    var datos = (from cp in ctx.tbl_metadataArchivos
                                 where cp.idDMtadataArchivo == archivo.idDMtadataArchivo
                                 select cp).FirstOrDefault();

                    if (datos != null)
                    {
                        datos.nombre = archivo.nombre;
                        datos.fecha_modificacion = DateTime.Now;
                        ctx.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues, datos);
                        ctx.SubmitChanges();
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public List<tblDocumentosAdjuntos> RegistrarListaMetadataArchivo(List<tblDocumentosAdjuntos> entidadSubir)
        {
            try
            {
                using (OperadorDataContext ctx = new OperadorDataContext())
                {
                    ctx.tblDocumentosAdjuntos.InsertAllOnSubmit(entidadSubir);
                    ctx.SubmitChanges();

                    return entidadSubir;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Metodo para enviar un mensaje interno 
        /// </summary>
        /// <param name="mensaje"></param>
        /// <returns>Lista de Notificaciones que fueron enviadas</returns>
        public List<tblBandejaNotificaciones> EnviarMensaje(List<tblBandejaNotificaciones> listaInsertMensajes)
        {
            try
            {

                using (OperadorDataContext ctx = new OperadorDataContext())
                {

                    ctx.tblBandejaNotificaciones.InsertAllOnSubmit(listaInsertMensajes);
                    ctx.SubmitChanges();
                }
                return listaInsertMensajes;

            }
            catch (Exception ex)
            {
                AppLog.Write(" Error obteniendo datos de planes.", AppLog.LogMessageType.Error, ex, "OperadorCarpeta");
                throw;
            }
        }
        /// <summary>
        /// Registra una carpeta en el FTP personal del usuario.
        /// </summary>
        /// <param name="carpeta"></param>
        /// <returns></returns>
        public bool RegistrarCarpetaPersonal(CarpetaPersonal carpeta)
        {
            try
            {
                using (OperadorDataContext ctx = new OperadorDataContext())
                {

                    bool totalExiste = validarExisteCarpeta(carpeta.NombreCarpeta, carpeta.IdCarpetaPersonal);

                    if (totalExiste)
                    {
                        //No se crea en base de datos por que exite con un nombre identico
                        return false;
                    }
                    else
                    {
                        var entidad = MapeadorCarpetaPersonal.MapCarpetaFromBizEntity(carpeta);
                        entidad.idCarpetaPadre = entidad.idCarpetaPadre == 0 ? null : entidad.idCarpetaPadre;

                        ctx.tblCarpetaPersonal.InsertOnSubmit(entidad);
                        ctx.SubmitChanges();

                        var retorno = MapeadorCarpetaPersonal.MapCarpetaToBizEntity(entidad);
                        return true;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Metodo para registrar los metadatos de un archivo en la base de datos.
        /// </summary>
        /// <param name="entidadSubir"></param>
        /// <returns></returns>
        public bool RegistrarMetadataArchivo(MetadataArchivos entidadSubir)
        {
            try
            {
                using (OperadorDataContext ctx = new OperadorDataContext())
                {

                    entidadSubir.fecha_modificacion = DateTime.Now;
                    entidadSubir.idCarpetaPersonal = entidadSubir.idCarpetaPersonal == 0 ? null : entidadSubir.idCarpetaPersonal;
                    var entidad = MapeadorMetadataArchivos.MapFromBizEntity(entidadSubir);
                    entidad.idCarpetaPersonal = entidad.idCarpetaPersonal == 0 ? null : entidadSubir.idCarpetaPersonal;
                    ctx.tbl_metadataArchivos.InsertOnSubmit(entidad);
                    ctx.SubmitChanges();

                    return true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }