Exemplo n.º 1
0
        /// <summary>
        /// Adds a new user
        /// </summary>
        /// <param name="form">User data</param>
        /// <returns>success</returns>
        public bool add(Form_User_Add form)
        {
            user newUser = new user();
            newUser.username = form["username"].getValue();
            newUser.rolesid = long.Parse(form["role"].getValue());
            newUser.email = form["email"].getValue();

            SHA1Managed sha = new SHA1Managed();
            string hash = BitConverter.ToString(sha.ComputeHash(Encoding.Default.GetBytes(form["password"].getValue()))).Replace("-", String.Empty).ToLower();

            newUser.password = hash;
            newUser.date = DateTime.Now;

            using (UserDataContext u = new UserDataContext())
            {
                try
                {
                    u.users.InsertOnSubmit(newUser);
                    u.SubmitChanges();
                }
                catch (Exception e)
                {
                    CMS.Services.CMS_Services_Message.getInstance().addError(e.Message);
                    return false;
                }
            }

            return true;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Deletes a user with the given id
        /// </summary>
        /// <param name="id">user id</param>
        /// <returns>success</returns>
        public bool delete(long id)
        {
            using (UserDataContext u = new UserDataContext())
            {
                try
                {
                    u.users.DeleteAllOnSubmit(u.users.Where(x => x.id == id));
                    u.SubmitChanges();
                }
                catch
                {
                    return false;
                }

                return true;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Save changes to the given user
        /// </summary>
        /// <param name="form">User data</param>
        /// <param name="edited">Edited user</param>
        /// <returns>success</returns>
        public bool save(Form_User_Add form, user edited)
        {
            user toSave = new user();
            toSave.id = edited.id;
            toSave.password = edited.password;
            if (form["password"].getValue() != String.Empty)
            {
                SHA1Managed sha = new SHA1Managed();
                string hash = BitConverter.ToString(sha.ComputeHash(Encoding.Default.GetBytes(form["password"].getValue()))).Replace("-", String.Empty).ToLower();
                toSave.password = hash;
            }
            toSave.rolesid = long.Parse(form["role"].getValue());
            toSave.email = form["email"].getValue();
            toSave.username = form["username"].getValue();
            toSave.date = edited.date;

            using (UserDataContext u = new UserDataContext())
            {
                u.users.Attach(toSave, edited);
                try
                {
                    u.SubmitChanges();
                }
                catch (Exception e)
                {
                    return false;
                }
            }

            return true;
        }
Exemplo n.º 4
0
        /// <summary>
        /// Returns count of users matching given username and password
        /// expected count should be 0 or 1
        /// </summary>
        /// <param name="username">Username</param>
        /// <param name="password">Pasword</param>
        /// <returns>Amount of users matching given credentials</returns>
        public int getCountByUsernameAndPassword(string username, string password)
        {
            SHA1Managed sha = new SHA1Managed();
            string hash = BitConverter.ToString(sha.ComputeHash(Encoding.Default.GetBytes(password))).Replace("-", String.Empty).ToLower();

            using (UserDataContext users = new UserDataContext())
            {
                int authuser = users.users
                    .Where(u => (u.password == hash && u.username == username))
                    .Select(u => u).Count();

                if (authuser < 0 || authuser > 1)
                {
                    throw new Exception("Unexpected count of users matching given credentials");
                }

                return authuser;
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// Gets count of users
 /// </summary>
 /// <returns>Count of users</returns>
 public int getCount()
 {
     using (UserDataContext u = new UserDataContext())
     {
         return u.users.Count();
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// Gets a user by the specified username and password
        /// </summary>
        /// <param name="username">username</param>
        /// <param name="password">password</param>
        /// <returns>user</returns>
        public user getByUsernameAndPassword(string username, string password)
        {
            SHA1Managed sha = new SHA1Managed();
            string hash = BitConverter.ToString(sha.ComputeHash(Encoding.Default.GetBytes(password))).Replace("-", String.Empty).ToLower();

            using (UserDataContext users = new UserDataContext())
            {
                try
                {
                    return users.users
                        .Where(u => (u.password == hash && u.username == username))
                        .Single();
                }
                catch (Exception)
                {
                    return null;
                }
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Returns user identified by the specified ID
        /// </summary>
        /// <param name="id">User id</param>
        /// <returns>User</returns>
        public user getById(long id)
        {
            using (UserDataContext u = new UserDataContext())
            {
                try
                {
                    var data = u.users
                        .Where(x => x.id == id)
                        .Single();

                    return data;
                }
                catch (Exception)
                {
                    return null;
                }
            }
        }
Exemplo n.º 8
0
 /// <summary>
 /// Gets a list of all users
 /// </summary>
 /// <returns>List of users</returns>
 public List<user> get()
 {
     using (UserDataContext u = new UserDataContext())
     {
         return u.users.ToList();
     }
 }