/// <summary> /// Search UserRule by id. /// </summary> /// <param name="request">The UserRule Request Pivot to retrive.</param> /// <returns>UserRule Response Pivot response.</returns> public UserRuleResponsePivot FindUserRules(UserRuleRequestPivot request) { if (request?.UserRulePivot == null) { throw new ArgumentNullException(nameof(request)); } List <UserRulePivot> results = new List <UserRulePivot>(); UserRulePivot result = new UserRulePivot(); switch (request.FindUserRulePivot) { case FindUserRulePivot.UserRuleId: result = _unitOfWork.UserRuleRepository.Get(c => c.UserRuleId == request.UserRulePivot.UserRuleId, null, "User,Rule")?.FirstOrDefault().ToPivot(); break; case FindUserRulePivot.UserId: results = _unitOfWork.UserRuleRepository.Get(c => c.UserId == request.UserRulePivot.UserId, null, "User,Rule")?.ToList().ToPivotList(); break; } return(new UserRuleResponsePivot { UserRulePivotList = results, UserRulePivot = result }); }
/// <summary> /// Change UserRule values. /// </summary> /// <param name="request">The UserRule Request Pivot to change.</param> public void UpdateUserRule(UserRuleRequestPivot request) { if (request?.UserRulePivot == null) { throw new ArgumentNullException(nameof(request)); } UserRule userRule = _unitOfWork.UserRuleRepository.GetById(request.UserRulePivot.UserRuleId); userRule.UserRuleStatus = request.UserRulePivot.UserRuleStatus; _unitOfWork.Save(); }
/// <summary> /// Change UserRule values. /// </summary> /// <param name="request">The UserRule Request Pivot to change.</param> public void UpdateUserRuleRange(UserRuleRequestPivot request) { if (request?.UserRulePivotList == null) { throw new ArgumentNullException(nameof(request)); } foreach (var itemUserRule in request.UserRulePivotList.ToList()) { UserRule userRule = _unitOfWork.UserRuleRepository.GetById(itemUserRule.UserRuleId); userRule.UserRuleStatus = itemUserRule.UserRuleStatus; _unitOfWork.Save(); } }
/// <summary> /// Create new UserRule. /// </summary> /// <param name="request">The request.</param> /// <returns>UserRule Response Pivot added.</returns> public UserRuleResponsePivot CreateUserRule(UserRuleRequestPivot request) { if (request?.UserRulePivot == null) { throw new ArgumentNullException(nameof(request)); } UserRule userRule = request.UserRulePivot.ToEntity(); _unitOfWork.UserRuleRepository.Insert(userRule); _unitOfWork.Save(); return(new UserRuleResponsePivot { UserRulePivot = userRule.ToPivot() }); }