private void CheckSanctions(int userId, SanctionType sanctionType) { Ensure.Bool.IsFalse(_sanctionRepository.GetAllOfUser(userId).ToList() .Exists(s => s.Type.Equals(sanctionType) && s.IsActive), nameof(CheckSanctions), opt => opt.WithException( new ActionIsNotAllowWithSanctionsException(SanctionType.NotAllowToEditProfile))); }
public IEnumerable <SanctionView> GetAllActiveOfUser(int userId) { Ensure.Any.IsNotNull(_userRepository.GetUserById(userId), nameof(GetAllOfUser), opt => opt.WithException(new UserNotFoundException(userId))); var username = _userRepository.GetUserById(userId).UserProfile.Name; var sanctions = new List <SanctionView>(); _sanctionRepository.GetAllOfUser(userId).Where(s => s.IsActive).ToList().ForEach(s => { sanctions.Add(new SanctionView(s.Id, s.BrokenRule, s.UserId, username, s.ModeratorId, s.IsTemporary, s.ExpirationDate, s.Type, s.IsActive)); }); return(sanctions); }
private void CheckSanctions(int userId, int groupId) { var doesSanctionAllowAction = _sanctionRepository.GetAllOfUser(userId).ToList() .Exists(s => s.IsActive && s.Type.Equals(SanctionType.NotAllowToJoinGroup)); var hasUserInvitation = _userRepository.GetUserById(userId).Invitations.ToList() .Exists(i => i.GroupId == groupId); Ensure.Bool.IsFalse(doesSanctionAllowAction && !hasUserInvitation, nameof(CheckSanctions), opt => opt.WithException(new ActionIsNotAllowWithSanctionsException(SanctionType.NotAllowToJoinGroup))); }