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;
        }