private void ValidateModel(User user, string password) { // validate email if (!EmailValidation.IsEmailFormatValid(user.Email)) { throw new ValidationException($"Email '{user.Email}' is not valid"); } //// student must have tenant //if (user.RoleId.EqualsEnum(Roles.Student) && user.TenantId.IsNotSet()) // throw new ValidationException("Tenant is required"); // check that a valid role is provided if (!user.RoleId.IsInEnum <Roles>() || user.RoleId.ToEnum <Roles>() == Roles.Undefined) { throw new ValidationException("Role is required"); } // validate login type Validator.Required(user.LoginTypeId, "Login Type"); if (user.LoginTypeId.EqualsEnum(LoginTypes.Default)) { // check password for new users if (user.Id.IsNotSet() || !string.IsNullOrWhiteSpace(password)) { ValidateNewPassword(user, password); } } else { // check social media fields set ValidateForSocialMediaLogin(user); } }