Beispiel #1
0
        public async Task <UserModel> FindAndUpdateUser(int id, UpdateMeViewModel updateMeViewModel)
        {
            var user = db.Users.FirstOrDefault(u => u.Id == id);


            if (user != null)
            {
                db.Entry(user).State = EntityState.Modified;
                db.Entry(user).CurrentValues.SetValues(updateMeViewModel.ExceptNull());

                if (updateMeViewModel.Password != null)
                {
                    user.Password = Crypto.HashPassword(updateMeViewModel.Password);
                }

                await db.SaveChangesAsync();

                return(user);
            }

            return(null);
        }