public RemoveModershipResponse RemoveModership(ISession session, RemoveModershipRequest request) { var response = request.CreateResponse <RemoveModershipResponse>(); if (session.User.Role != UserRole.Admin) { //access denied return(response); } User targetUser = null; using (var uow = UnitOfWorkFactory.Create()) { targetUser = uow.UsersRepository.FirstMatching(UserSpecification.Id(request.TargetUserId)); if (targetUser == null) { //User not found return(response); } targetUser.RemoveModeratorship(); uow.Commit(); } response.Success = true; _sessionManager.SendToEachChatSessions(new ModershipRemovedInfo { ActorName = session.User.Name, TargetName = targetUser.Name, TargetId = targetUser.Id, }); //success return(response); }
public Task <RemoveModershipResponse> RemoveModership(RemoveModershipRequest request) { return(ConnectionManager.SendRequestAndWaitResponse <RemoveModershipResponse>(request)); }