private DataResult <string> ValidateContact(string contact, ContactTypeEnumModel contactType, UserAction userAction) { var isValid = m_contactValidatorManager.ValidateContact(contactType, contact); if (!isValid) { return(Error <string>(m_translator.Translate("save-user-contact-failed"), GetErrorCodeForValidation(contactType, userAction))); } return(Success(contact)); }
private DataResult <bool> ChangeContact(int userId, string newValue, string code, ContactTypeEnum contactType) { var isValid = m_contactValidatorManager.ValidateContact(contactType, newValue); if (!isValid) { return(Error <bool>(m_translator.Translate("save-contact-failed"), contactType == ContactTypeEnum.Email ? DataResultErrorCode.EmailNotValid : DataResultErrorCode.PhoneNumberNotValid)); } var formattedValue = FormatContact(contactType, newValue); var isUnique = m_contactValidatorManager.ValidateUniqueContact(contactType, formattedValue, userId); if (!isUnique) { return(Error <bool>(m_translator.Translate("save-contact-failed"), contactType == ContactTypeEnum.Email ? DataResultErrorCode.EmailNotUnique : DataResultErrorCode.PhoneNumberNotUnique)); } try { var newContact = new UserContactEntity { Value = formattedValue, Type = contactType, ConfirmCode = code, ConfirmCodeChangeTime = DateTime.UtcNow, }; m_userContactUoW.ChangeContact(userId, newContact); return(Success(true)); } catch (DatabaseException e) { m_logger.LogWarning(e); return(Error <bool>(e.Message)); } }