public async Task ChangePassword(Guid token, PasswordChangeData passwordChangeData) { UserModel user = await _context.Users.FirstOrDefaultAsync(x => x.Token == token && x.IsActive); if (user != null) { if (passwordChangeData.newPassword != passwordChangeData.newPasswordRepeat) { InvalidOperationException ex = new InvalidOperationException(); ex.Data.Add("message", "PASSWORS_EQUAL_ERROR"); throw ex; } if (user.Password != passwordChangeData.oldPassword) { InvalidOperationException ex = new InvalidOperationException(); ex.Data.Add("message", "PASSWORD_INCORRECT"); throw ex; } user.Password = passwordChangeData.newPassword; _context.Update(user); await _context.SaveChangesAsync(); } else { NullReferenceException ex = new NullReferenceException(); ex.Data.Add("message", "USER_NOT_FOUND"); throw ex; } }
public async Task UpdateFolder(FolderViewModel folderData) { if (folderData.id == 1) { throw new InvalidOperationException(); } FolderModel folder = await _context.Folders.FirstOrDefaultAsync(x => x.Id == folderData.id && x.IsActive); folder = FoldersConverter.UpdateDbFolderWithViewFolderData(folder, folderData); _context.Update(folder); await _context.SaveChangesAsync(); }