Ejemplo n.º 1
0
        /// <summary>
        /// Конструктор.
        /// </summary>
        /// <param name="resourceType">Тип внутреннего ресурса janus://</param>
        /// <param name="parameters">Необработанный параметр запроса.</param>
        /// <param name="url">Строка запроса.</param>
        public JanusProtocolInfo(JanusProtocolResourceType resourceType, string parameters, string url)
        {
            _originalUrl  = url;
            _resourceType = resourceType;
            _parameters   = parameters ?? string.Empty;
            _isId         = int.TryParse(parameters, out _id);

            switch (resourceType)
            {
            case JanusProtocolResourceType.Message:
                LinkType = _isId ? LinkType.Local : LinkType.External;
                break;

            case JanusProtocolResourceType.MessageAbsent:
                LinkType = _isId ? LinkType.Absent : LinkType.External;
                break;

            case JanusProtocolResourceType.Faq:
                LinkType = LinkType.Local;
                break;

            default:
                LinkType = LinkType.External;
                break;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Возвращает путь к иконке, ассоциированной с ресурсом.
        /// </summary>
        /// <param name="provider"></param>
        /// <param name="resourceType">Тип ресурса.</param>
        /// <returns>Путь к иконке, которая ассоциирована с ресурсом.</returns>
        public static string GetResourceImagePath(
            IServiceProvider provider,
            JanusProtocolResourceType resourceType)
        {
            string name;

            switch (resourceType)
            {
            case JanusProtocolResourceType.FaqList: name = "faqall";      break;

            case JanusProtocolResourceType.ArticleList: name = "articleall";  break;

            case JanusProtocolResourceType.UserInfo: name = "ExtBrowser";  break;

            case JanusProtocolResourceType.UserRating: name = "userratein";  break;

            case JanusProtocolResourceType.UserOutrating: name = "userrateout"; break;

            case JanusProtocolResourceType.UserMessages: name = "ShowAllMsgs"; break;

            case JanusProtocolResourceType.UserMessagesStat: name = "sh_all_msgs"; break;

            case JanusProtocolResourceType.TeamList: name = "admin";       break;

            case JanusProtocolResourceType.MessageRate:
                return(GetImageUri(provider, "RateGroup", StyleImageType.ConstSize));

            default:
                return(GetImageUri(provider, @"ForumImages\webref", StyleImageType.ConstSize));
            }

            return(GetImageUri(provider, name, StyleImageType.Small));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Возвращает внутреннее строковое имя ресурса для указанного типа.
        /// </summary>
        /// <param name="resourceType">Тип ресурса.</param>
        /// <returns>Строковое имя ресурса.</returns>
        public static string GetResourceName(JanusProtocolResourceType resourceType)
        {
            string resourceName;

            return(_resourceNames.TryGetValue(resourceType, out resourceName)
                                        ? resourceName
                                        : string.Empty);
        }
Ejemplo n.º 4
0
 private static bool Make(
     JanusProtocolResourceType resourceType,
     string parameters,
     string url,
     out JanusProtocolInfo protocolInfo)
 {
     protocolInfo = new JanusProtocolInfo(resourceType, parameters, url);
     return(true);
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Получить внешний формат ссылки для соответствующего ресурса.
        /// <seealso cref="SiteUrlHelper"/>
        /// </summary>
        /// <param name="resourceType">Тип ресурса.</param>
        /// <param name="parameters">Параметр ссылки.</param>
        /// <returns>Внешний формат ссылки на ресурс.</returns>
        public static string FormatExternalURI(
            JanusProtocolResourceType resourceType,
            string parameters)
        {
            string format;

            switch (resourceType)
            {
            case JanusProtocolResourceType.Faq:
                format = _externalFaq;
                break;

            case JanusProtocolResourceType.FaqList:
                format = _externalFaqList;
                break;

            case JanusProtocolResourceType.Message:
                format = _externalMessage;
                break;

            case JanusProtocolResourceType.UserInfo:
                format = _externalUserInfo;
                break;

            case JanusProtocolResourceType.UserRating:
                format = _externalUserRating;
                break;

            case JanusProtocolResourceType.UserMessages:
                format = _externalUserMessages;
                break;

            case JanusProtocolResourceType.ArticleList:
                format = _externalArticleList;
                break;

            case JanusProtocolResourceType.UserOutrating:
                format = _externalUserOutrating;
                break;

            default:
                return(string.Empty);
            }

            return(string.Format(format, Config.Instance.SiteUrl, parameters));
        }
Ejemplo n.º 6
0
 private static bool Make(
     JanusProtocolResourceType resourceType,
     string parameters,
     string url,
     out JanusProtocolInfo protocolInfo)
 {
     protocolInfo = new JanusProtocolInfo(resourceType, parameters, url);
     return true;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Возвращает внутреннее строковое имя ресурса для указанного типа.
 /// </summary>
 /// <param name="resourceType">Тип ресурса.</param>
 /// <returns>Строковое имя ресурса.</returns>
 public static string GetResourceName(JanusProtocolResourceType resourceType)
 {
     string resourceName;
     return _resourceNames.TryGetValue(resourceType, out resourceName)
             ? resourceName
             : string.Empty;
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Получить внутренний формат ссылки для соответствующего <paramref name="resourceType"/>.
 /// </summary>
 /// <param name="resourceType">Тип ресурса.</param>
 /// <param name="parameters">Параметр ссылки.</param>
 /// <returns>Внутренний формат ссылки.</returns>
 public static string FormatURI(JanusProtocolResourceType resourceType, string parameters)
 {
     return string.Format(_janusProtocolTemplate,
                          _janusProtocolPrefix, GetResourceName(resourceType),
                          _janusProtocolSeparator, parameters);
 }
Ejemplo n.º 9
0
        /// <summary>
        /// Получить внешний формат ссылки для соответствующего ресурса. 
        /// <seealso cref="SiteUrlHelper"/>
        /// </summary>
        /// <param name="resourceType">Тип ресурса.</param>
        /// <param name="parameters">Параметр ссылки.</param>
        /// <returns>Внешний формат ссылки на ресурс.</returns>
        public static string FormatExternalURI(
            JanusProtocolResourceType resourceType,
            string parameters)
        {
            string format;

            switch (resourceType)
            {
                case JanusProtocolResourceType.Faq:
                    format = _externalFaq;
                    break;
                case JanusProtocolResourceType.FaqList:
                    format = _externalFaqList;
                    break;
                case JanusProtocolResourceType.Message:
                    format = _externalMessage;
                    break;
                case JanusProtocolResourceType.UserInfo:
                    format = _externalUserInfo;
                    break;
                case JanusProtocolResourceType.UserRating:
                    format = _externalUserRating;
                    break;
                case JanusProtocolResourceType.UserMessages:
                    format = _externalUserMessages;
                    break;
                case JanusProtocolResourceType.ArticleList:
                    format = _externalArticleList;
                    break;
                case JanusProtocolResourceType.UserOutrating:
                    format = _externalUserOutrating;
                    break;

                default:
                    return string.Empty;
            }

            return string.Format(format, Config.Instance.SiteUrl, parameters);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Конструктор.
        /// </summary>
        /// <param name="resourceType">Тип внутреннего ресурса janus://</param>
        /// <param name="parameters">Необработанный параметр запроса.</param>
        /// <param name="url">Строка запроса.</param>
        public JanusProtocolInfo(JanusProtocolResourceType resourceType, string parameters, string url)
        {
            _originalUrl = url;
            _resourceType = resourceType;
            _parameters = parameters ?? string.Empty;
            _isId = int.TryParse(parameters, out _id);

            switch (resourceType)
            {
                case JanusProtocolResourceType.Message:
                    LinkType = _isId ? LinkType.Local : LinkType.External;
                    break;

                case JanusProtocolResourceType.MessageAbsent:
                    LinkType = _isId ? LinkType.Absent : LinkType.External;
                    break;

                case JanusProtocolResourceType.Faq:
                    LinkType = LinkType.Local;
                    break;

                default:
                    LinkType = LinkType.External;
                    break;
            }
        }
Ejemplo n.º 11
0
		private static string FormatURI(
			JanusProtocolResourceType resourceType, string parameters)
		{
			return JanusProtocolDispatcher.FormatURI(resourceType, parameters);
		}
Ejemplo n.º 12
0
		/// <summary>
		/// Возвращает путь к иконке, ассоциированной с ресурсом.
		/// </summary>
		/// <param name="provider"></param>
		/// <param name="resourceType">Тип ресурса.</param>
		/// <returns>Путь к иконке, которая ассоциирована с ресурсом.</returns>
		public static string GetResourceImagePath(
			IServiceProvider provider,
			JanusProtocolResourceType resourceType)
		{
			string name;

			switch (resourceType)
			{
				case JanusProtocolResourceType.FaqList         : name = "faqall";      break;
				case JanusProtocolResourceType.ArticleList     : name = "articleall";  break;
				case JanusProtocolResourceType.UserInfo        : name = "ExtBrowser";  break;
				case JanusProtocolResourceType.UserRating      : name = "userratein";  break;
				case JanusProtocolResourceType.UserOutrating   : name = "userrateout"; break;
				case JanusProtocolResourceType.UserMessages    : name = "ShowAllMsgs"; break;
				case JanusProtocolResourceType.UserMessagesStat: name = "sh_all_msgs"; break;
				case JanusProtocolResourceType.TeamList        : name = "admin";       break;
				case JanusProtocolResourceType.MessageRate: 
					return GetImageUri(provider, "RateGroup", StyleImageType.ConstSize);
				default:
					return GetImageUri(provider, @"ForumImages\webref", StyleImageType.ConstSize);
			}

			return GetImageUri(provider, name, StyleImageType.Small);
		}
Ejemplo n.º 13
0
 /// <summary>
 /// Получить внешний формат ссылки для соответствующего ресурса.
 /// <seealso cref="SiteUrlHelper"/>
 /// </summary>
 /// <param name="resourceType">Тип ресурса.</param>
 /// <param name="parameters">Параметр ссылки.</param>
 /// <returns>Внешний формат ссылки на ресурс.</returns>
 public static string FormatExternalURI(JanusProtocolResourceType resourceType, string parameters)
 {
     return(JanusProtocolInfo
            .FormatExternalURI(resourceType, parameters));
 }
Ejemplo n.º 14
0
 /// <summary>
 /// Получить внутренний формат ссылки для соответствующего <paramref name="resourceType"/>.
 /// </summary>
 /// <param name="resourceType">Тип ресурса.</param>
 /// <param name="parameters">Параметр ссылки.</param>
 /// <returns>Внутренний формат ссылки.</returns>
 public static string FormatURI(JanusProtocolResourceType resourceType, string parameters)
 {
     return(string.Format(_janusProtocolTemplate,
                          _janusProtocolPrefix, GetResourceName(resourceType),
                          _janusProtocolSeparator, parameters));
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Получить внешний формат ссылки для соответствующего ресурса.
 /// <seealso cref="SiteUrlHelper"/>
 /// </summary>
 /// <param name="resourceType">Тип ресурса.</param>
 /// <param name="parameters">Параметр ссылки.</param>
 /// <returns>Внешний формат ссылки на ресурс.</returns>
 private static string FormatExternalUri(JanusProtocolResourceType resourceType, string parameters)
 {
     return(JanusProtocolDispatcher.FormatExternalURI(resourceType, parameters));
 }
Ejemplo n.º 16
0
		/// <summary>
		/// Получить внешний формат ссылки для соответствующего ресурса. 
		/// <seealso cref="SiteUrlHelper"/>
		/// </summary>
		/// <param name="resourceType">Тип ресурса.</param>
		/// <param name="parameters">Параметр ссылки.</param>
		/// <returns>Внешний формат ссылки на ресурс.</returns>
		public static string FormatExternalURI(JanusProtocolResourceType resourceType, string parameters)
		{
			return JanusProtocolInfo
				.FormatExternalURI(resourceType, parameters);
		}