private DataResult <bool> ConfirmContact(int userId, string code, ContactTypeEnum contactType)
        {
            try
            {
                var contact = m_userContactUoW.GetUserContact(userId, contactType);

                if (!m_contactValidatorManager.ValidateUniqueContact(contactType, contact.Value, userId))
                {
                    return(Error <bool>(m_translator.Translate("confirm-contact-failed"),
                                        contactType == ContactTypeEnum.Email
                            ? DataResultErrorCode.EmailNotUnique
                            : DataResultErrorCode.PhoneNumberNotUnique));
                }

                var confirmedSuccessfully = m_userContactUoW.ConfirmCode(userId, code, contactType);

                return(Success(confirmedSuccessfully));
            }
            catch (NoResultException <UserContactEntity> e)
            {
                m_logger.LogWarning(e);
                return(Error <bool>(e.Message));
            }
            catch (DatabaseException e)
            {
                m_logger.LogWarning(e);
                return(Error <bool>(e.Message));
            }
        }
        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));
        }