Example #1
0
        public void DeleteUser(string username, string password, List <Tuple <IUser, bool> > users)
        {
            password = Crypto.Encrypt(password);
            var query = db.Users.Where(u => u.Username == username);

            if (!query.Any())
            {
                var e = new IllegalUsernameException("ERROR in DeleteUser: Username does not exist!");
                Logger.Log(Severity.Error, e.Message);
                throw e;
            }
            query = query.Where(u => u.Password == password);

            if (!query.Any())
            {
                var e = new IllegalPasswordException("ERROR in DeleteUser: Wrong password!");
                Logger.Log(Severity.Error, e.Message);
                throw e;
            }
            //Tuple<IUser, bool> userToDelete = null;
            //for (var i = 0; i < users.Count; i++)
            //{
            //    if (users[i].Item1.Username == username)
            //    {
            //        if (users[i].Item1.Username == password)
            //        {
            //            userToDelete = users[i];
            //        }
            //        else
            //        {
            //            var e = new IllegalPasswordException("ERROR in Edit Profile: Wrong password!");
            //            Logger.Log(Severity.Error, e.Message);
            //            throw e;
            //        }
            //    }
            //}

            //if (userToDelete == null)
            //{
            //    var e = new IllegalUsernameException("ERROR in Login: Username does not exist!");
            //    Logger.Log(Severity.Error, e.Message);
            //    throw e;
            //}
            var foundUser = users.Single(t => t.Item1.Username == username && t.Item1.Password == password);

            users.Remove(foundUser);
            db.Users.Remove(query.First());
            db.SaveChanges();
            Logger.Log(Severity.Action, "User: "******" deleted successfully!");
        }
Example #2
0
        public IUser Login(string username, string password, List <Tuple <IUser, bool> > users)
        {
            password = Crypto.Encrypt(password);
            var query = db.Users.Where(u => u.Username == username);


            if (!query.Any())
            {
                var e = new IllegalUsernameException("ERROR in Login: Username does not exist!");
                Logger.Log(Severity.Error, e.Message);
                throw e;
            }

            query = query.Where(u => u.Password == password);


            if (!query.Any())
            {
                var e = new IllegalPasswordException("ERROR in Login: Wrong password!");
                Logger.Log(Severity.Error, e.Message);
                throw e;
            }

            var foundUser = users.SingleOrDefault(t => t.Item1.Username == username && t.Item1.Password == password);

            if (foundUser == null)
            {
                var e = new IllegalUsernameException("ERROR in Login: itsss nullll.");
                Logger.Log(Severity.Error, e.Message);
                throw e;
            }
            if (foundUser.Item2)
            {
                var e = new IllegalUsernameException("ERROR in Login: This User is already logged in.");
                Logger.Log(Severity.Error, e.Message);
                throw e;
            }

            var fuser = foundUser.Item1;

            users.Remove(foundUser);
            users.Add(new Tuple <IUser, bool>(fuser, true));
            //users.Where(u => u.Item1.Username == username).ToList().ForEach(i => i = new Tuple<IUser, bool>(foundUser.Item1, true));
            Logger.Log(Severity.Action, username + " logged in successfully!");

            return(fuser);
        }