public static ServiceProcessingResult<ValidationResult> ValidateRoleAssignmentFor(ApplicationRole roleBeingAssigned, ApplicationRole loggedInUserRole) { var processingResult = new ServiceProcessingResult<ValidationResult> { IsSuccessful = true }; var validationResult = new ValidationResult { IsValid = true }; if (roleBeingAssigned == null) { validationResult.IsValid = false; validationResult.Errors.Add("Invalid role. Please select a valid role and try again."); } else if (!loggedInUserRole.CanAssign(roleBeingAssigned)) { validationResult.IsValid = false; validationResult.Errors.Add(CannotAssignRoleToUserUserHelp); } processingResult.Data = validationResult; return processingResult; }