예제 #1
0
        private DataResult <string> ValidateUniqueContact(string contact, ContactTypeEnumModel contactType, int?userId, UserAction userAction)
        {
            var isUnique = m_contactValidatorManager.ValidateUniqueContact(contactType, contact, userId);

            if (!isUnique)
            {
                return(Error <string>(m_translator.Translate("save-user-contact-failed"),
                                      GetErrorCodeForUniqueValidation(contactType, userAction)));
            }

            return(Success(contact));
        }
예제 #2
0
        private string GetErrorCodeForValidation(ContactTypeEnumModel contactType, UserAction userAction)
        {
            switch (userAction)
            {
            case UserAction.Create:
                return(contactType == ContactTypeEnumModel.Email
                        ? DataResultErrorCode.CreateUserErrorContactEmailNotValid
                        : DataResultErrorCode.CreateUserErrorContactPhoneNotValid);

            case UserAction.Update:
                return(contactType == ContactTypeEnumModel.Email
                        ? DataResultErrorCode.SaveUserErrorContactEmailNotValid
                        : DataResultErrorCode.SaveUserErrorContactPhoneNotValid);

            default:
                throw new ArgumentOutOfRangeException(nameof(userAction), userAction, null);
            }
        }
예제 #3
0
        public DataResult <string> ValidateAndFormatContact(string contact, ContactTypeEnumModel contactType, UserAction userAction, int?userId = null)
        {
            var validationResult = ValidateContact(contact, contactType, userAction);

            if (validationResult.HasError)
            {
                return(validationResult);
            }

            var formattedContactValue = m_contactFormatterManager.FormatContact(contact, contactType);

            var uniqueValidationResult = ValidateUniqueContact(formattedContactValue, contactType, userId, userAction);

            if (uniqueValidationResult.HasError)
            {
                return(uniqueValidationResult);
            }

            return(Success(formattedContactValue));
        }
예제 #4
0
 public UserContactValueResolver(ContactTypeEnumModel contactType)
 {
     m_contactType = contactType;
 }
예제 #5
0
 public UserContactConfirmCodeResolver(ContactTypeEnumModel contactType)
 {
     m_contactType = contactType;
 }
예제 #6
0
 public string GenerateContactConfirmCode(ContactTypeEnumModel contactType)
 {
     return(m_confirmCodeGenerators[contactType].Generate());
 }
예제 #7
0
        private DataResult <string> GenerateConfirmCode(ContactTypeEnumModel contactTypeModel)
        {
            var code = m_codeGeneratorManager.GenerateContactConfirmCode(contactTypeModel);

            return(Success(code));
        }
 public UserContactLevelOfAssuranceResolver(ContactTypeEnumModel contactType)
 {
     m_contactType = contactType;
 }
        public string FormatContact(string value, ContactTypeEnumModel contactType)
        {
            var formattedValue = m_contactValidatorsDict[contactType].FormatContact(value);

            return(formattedValue);
        }
        public bool ValidateUniqueContact(ContactTypeEnumModel type, string value, int?userId = null)
        {
            var contactTypeEnum = Mapper.Map <ContactTypeEnum>(type);

            return(ValidateUniqueContact(contactTypeEnum, value, userId));
        }
 public bool ValidateContact(ContactTypeEnumModel type, string value)
 {
     return(m_contactValidatorsDict[type].Validate(value));
 }