コード例 #1
0
 /// <summary>
 /// Vai buscar o nome de utilizador através do token
 /// </summary>
 /// <param name="token"></param>
 /// <returns></returns>
 public static string GetUsername(int token)
 {
     if (TokenIsValid(token))
     {
         DataBaseManager db = new DataBaseManager();
         return(db.GetUsername(GetUserId(token)));
     }
     return(null);
 }
コード例 #2
0
        /// <summary>
        /// Retorna a lista de pedidos de registo
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public static List <string> RequestList(int token)
        {
            DataBaseManager db = new DataBaseManager();

            if (TokenIsValid(token) && db.GetAccessLevel(GetUserId(token)) == 2)
            {
                return(db.RegRequestList());
            }
            return(null);
        }
コード例 #3
0
        /// <summary>
        /// Verifica se um utilizador está subscrito a um determinado canal
        /// </summary>
        /// <param name="id"></param>
        /// <param name="channel"></param>
        /// <returns></returns>
        public static bool IsUserSub(int id, string channel)
        {
            DataBaseManager db = new DataBaseManager();
            int             r  = db.IsUserSub(id, channel);

            if (r == -1)
            {
                return(false);
            }
            return(true);
        }
コード例 #4
0
        /// <summary>
        /// Apaga um ficheiro de um utilizador
        /// </summary>
        /// <param name="id"></param>
        /// <param name="filename"></param>
        private static void DeleteUserFile(int id, string filename)
        {
            DataBaseManager db       = new DataBaseManager();
            var             filepath = AppDomain.CurrentDomain.BaseDirectory + "Users\\" + db.GetUsername(id) + "\\" + filename;

            if (File.Exists(filepath))
            {
                db.RemoveFilettl(id, filename);
                File.Delete(filepath);
            }
        }
コード例 #5
0
        /// <summary>
        /// Cria um pedido de registo
        /// </summary>
        /// <param name="usrnm"></param>
        /// <param name="psswd"></param>
        /// <returns></returns>
        public static int RegistrationRequest(string usrnm, string psswd)
        {
            DataBaseManager db = new DataBaseManager();

            if (db.UserID(usrnm) == -1 && !db.RegRequestExists(usrnm, psswd))
            {
                db.AddRegistrationRequest(usrnm, psswd);
                return(1);
            }
            else
            {
                return(-1);
            }
        }
コード例 #6
0
        /// <summary>
        /// Verifica de um canal existe
        /// </summary>
        /// <param name="channel"></param>
        /// <returns></returns>
        public static bool ChannelExists(string channel)
        {
            DataBaseManager db = new DataBaseManager();

            int r = db.GetChannelId(channel);

            if (r == -1)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
コード例 #7
0
        /// <summary>
        /// Verifica o tempo de vida de todos os ficheiros
        /// </summary>
        /// <param name="uid"></param>
        /// <returns></returns>
        public static bool VerifyUFilesDate(int uid)
        {
            DataBaseManager db       = new DataBaseManager();
            List <Filettl>  f        = db.GetUFiles(uid);
            List <Filettl>  toRemove = f.FindAll(x => DateTime.Now.Subtract(x.FVal) > new TimeSpan(0, 0, 0));

            toRemove.ForEach(x => { DeleteUserFile(x.Uid, x.FName); db.RemoveFilettl(x.Uid, x.FName); });
            return(null != toRemove);

            //DataBaseManager db = new DataBaseManager();
            //List<Filettl> f = db.GetUFiles(uid);
            //List<Filettl> toRemove = f.FindAll(x => DateTime.Now.Subtract(x.FVal) > new TimeSpan(0, 0, 0));
            //if (f != null)
            //{
            //    toRemove.ForEach(x =>
            //    {
            //        DeleteUserFile(x.Uid, x.FName);
            //        db.RemoveFilettl(x.Uid, x.FName);
            //    });
            //    return true;
            //}
            //else return false;

            //DataBaseManager db = new DataBaseManager();
            //List<Filettl> f = db.GetUFiles(uid);
            //if (f != null)
            //{
            //    foreach (Filettl t in f)
            //    {
            //        DateTime now = DateTime.Now;
            //        TimeSpan diff = now.Subtract(t.FVal);
            //        if (diff > new TimeSpan(0, 0, 0))
            //        {
            //            DeleteUserFile(t.Uid, t.FName);
            //            db.RemoveFilettl(t.Uid,t.FName);
            //            return true;
            //        }
            //    }
            //}
            //return false;
        }
コード例 #8
0
        static Random rand         = new Random();       //Gerador de números á sorte para os tokens
        #endregion
        #region Methods

        /// <summary>
        /// Verfica se os ficheiros de um dado utilizador estão dentro do prazo de vida
        /// </summary>
        /// <param name="uid"></param>
        /// <param name="filename"></param>
        /// <returns></returns>
        public static bool VerifyUFilesDate(int uid, string filename)
        {
            DataBaseManager db = new DataBaseManager();
            List <Filettl>  f  = db.GetUFiles(uid);

            if (f != null)
            {
                foreach (Filettl t in f)
                {
                    if (t.FName.CompareTo(filename) == 0)
                    {
                        DateTime now  = DateTime.Now;
                        TimeSpan diff = now.Subtract(t.FVal);
                        if (diff > new TimeSpan(0, 0, 0))
                        {
                            DeleteUserFile(t.Uid, t.FName);
                            db.RemoveFilettl(uid, t.FName);
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }