/// <summary> /// Process RSDN partneship links. /// </summary> /// <param name="urlMatch"></param> /// <param name="link"></param> protected static bool ProcessPartnerLink(Match urlMatch, HtmlAnchor link) { var uriBuilder = new UriBuilder(link.HRef); var queryBuilder = new QueryBuilder(uriBuilder.Query); var partnerRecord = _partnresIDs[uriBuilder.Host]; queryBuilder[partnerRecord.QueryParameter] = partnerRecord.PartnerID; uriBuilder.Query = HttpUtility.HtmlEncode(queryBuilder.ToString()); link.HRef = uriBuilder.Uri.AbsoluteUri; return false; }
private static bool ProcessPiterLink(Match urlMatch, HtmlAnchor link) { var uriBuilder = new UriBuilder(link.HRef); var queryBuilder = new QueryBuilder(uriBuilder.Query); // ���� ���� ��������� �������� if (!string.IsNullOrEmpty(queryBuilder[null])) { queryBuilder["id"] = queryBuilder[null]; queryBuilder.Remove(null); uriBuilder.Query = HttpUtility.HtmlEncode(queryBuilder.ToString()); link.HRef = uriBuilder.Uri.AbsoluteUri; } // ����������� ��������� return ProcessPartnerLink(urlMatch, link); }