Beispiel #1
0
        /// <summary>
        /// Перейти на именованное сообщение.
        /// </summary>
        /// <param name="name">Имя сообщения.</param>
        /// <returns><c>true</c> - перейти удалось, иначе - <c>false</c>.</returns>
        public void SelectMessage(string name)
        {
            var found =
                DatabaseManager.GetMessageByName(
                    _provider,
                    name,
                    msg => new { msg.ID, msg.ForumID });

            if (found != null)
            {
                SelectMessage(found.ForumID, found.ID);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Получить отформатированный текст именованного сообщения (ФАКУ).
        /// </summary>
        /// <param name="messageName">Имя сообщения.</param>
        /// <returns>Отформатированный текст сообщения.</returns>
        public string GetMessageText(string messageName)
        {
            messageName = messageName.Trim();

            var id =
                messageName.Length != 0
                                        ? DatabaseManager.GetMessageByName(
                    _serviceProvider,
                    messageName,
                    msg => (int?)msg.ID)
                                        : null;

            return
                (id == null
                                        ? _pageBuilder.GetNotFoundMessage(messageName)
                                        : GetMessageText(id.Value));
        }
Beispiel #3
0
        private static string ProcessRsdnLinkInternal(
            IServiceProvider provider,
            string name,
            string text)
        {
            string link;
            string imageUrl;

            var msg =
                string.IsNullOrEmpty(name)
                                        ? null
                                        : DatabaseManager
                .GetMessageByName(
                    provider,
                    name,
                    m => new { m.ID, m.Subject, m.Date, m.UserNick });

            if (msg == null)
            {
                link     = SiteUrlHelper.GetInfoUrl(name);
                imageUrl = GetImageUri(provider, @"ForumImages\webref", StyleImageType.ConstSize);
            }
            else
            {
                link     = FormatUri(JanusProtocolResourceType.Message, msg.ID.ToString());
                imageUrl = GetImageUri(provider, "NameGroup", StyleImageType.ConstSize);
            }

            const string format =
                "<a class='m' href='{0}' title='{4}'><img border='0' align='absmiddle' src='{1}'></a>" +
                "&nbsp;<a class='m' href='{0}' title='{4}'>{2}</a>{3}";

            return
                (string.Format(
                     format,
                     link,
                     imageUrl,
                     text,
                     msg != null ? GetMsgInDbLinkPostfix(provider, msg.ID) : string.Empty,
                     msg != null
                                                ? FormatMsgLinkTitle(msg.Subject, msg.Date, msg.UserNick)
                                                : link));
        }