public RemoveFromBlacklistResponse RemoveFromBlacklist(ISession session, RemoveFromBlacklistRequest request) { var response = request.CreateResponse<RemoveFromBlacklistResponse>(); response.Success = true; if (session.User.PersonalBlackList.All(i => i.Id != request.TargetUserId)) { response.Success = false; return response; } using (var uow = UnitOfWorkFactory.Create()) { uow.Attach(session.User); var target = uow.UsersRepository.FirstMatching(UserSpecification.Id(request.TargetUserId)); if (target == null) { response.Success = false; } else { session.User.PersonalBlackList.Remove(target); uow.Commit(); } } //TODO: notify target about it somehow return response; }
public Task<RemoveFromBlacklistResponse> RemoveFromBlacklist(RemoveFromBlacklistRequest request) { return ConnectionManager.SendRequestAndWaitResponse<RemoveFromBlacklistResponse>(request); }