示例#1
0
        public ModelUser CreateUser(ModelUser user, string password, string repeatedPassword)
        {
            if (user == null)
            {
                throw new ArgumentException("Parameter is null");
            }
            if (string.IsNullOrEmpty(password) || string.IsNullOrEmpty(repeatedPassword))
            {
                throw new ArgumentException("Parameter is null");
            }
            if (password != repeatedPassword)
            {
                throw new ArgumentException("Passwords doesn't match");
            }
            if (!CheckNonNullablePropertiesAreNotNull(user))
            {
                throw new ArgumentException("Non nullable properties are null");
            }
            if (UserNameExists(user.UserName))
            {
                throw new Exception("Username already exists");
            }
            EfUser u = user.ConvertObj <ModelUser, EfUser>();

            u.Password      = new Assets.Password();
            u.Password.Salt = Crypter.Blowfish.GenerateSalt();
            u.Password.Hash = HashPassword(password, u.Password.Salt);
            var s = db.UserSet.Add(u);

            db.SaveChanges();
            return(u.ConvertObj <EfUser, ModelUser>());
        }
示例#2
0
        public ModelUser GetUser(int id)
        {
            if (id == 0)
            {
                throw new Exception("ID is not set or 0");
            }
            if (!UserExists(id))
            {
                throw new Exception("User doesn't exist");
            }
            EfUser    user       = db.UserSet.Find(id);
            ModelUser returnUser = new ModelUser();

            returnUser = user.ConvertObj <EfUser, ModelUser>();
            return(returnUser);
        }
示例#3
0
        public bool DeleteUser(ModelUser user)
        {
            if (user == null)
            {
                throw new Exception("Parameter is null");
            }
            if (!UserExists(user.Id))
            {
                throw new Exception("User doesn't exist");
            }
            EfUser u = user.ConvertObj <ModelUser, EfUser>();

            db.UserSet.Attach(u);
            db.MarkAsChanged(u, EntityState.Deleted);
            db.SaveChanges();
            return(true);
        }