/// <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); } }
/// <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)); }
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>" + " <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)); }