string bookTitle project Variables bookTitle Value originalTitle proje

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
string bookTitle = project.Variables["bookTitle"].Value, originalTitle=project.Variables["originalTitle"].Value, authorName=project.Variables["authorName"].Value, isbn10=project.Variables["isbn10"].Value, isbn13=project.Variables["isbn13"].Value, numberOfPages=project.Variables["numberOfPages"].Value, firstPublished=project.Variables["firstPublished"].Value, characters=project.Variables["characters"].Value, place=project.Variables["place"].Value, award=project.Variables["award"].Value, coverImage=project.Variables["coverImage"].Value, bookDescription=project.Variables["bookDescription"].Value;
string result_article = String.Empty;
// формируем html ссылку слива
string sliv = "<a target=\"_blank\" title=\"Download FREE now\" href=\""+project.Variables["link_sliv_1"].Value+"\"><img src=\"http://ambienceskincare.com/download_btn/btcdownload.png\" alt=\"Download FREE now\"></a><br/><br/>\r\n";
// проверяем данные на пустоту, если параметр книги не пустой, то добавляем его на страницу.
if (coverImage != String.Empty && coverImage != "none" && coverImage != null){
result_article += "<img src=\""+coverImage+"\" height=\"250\" alt=\""+bookTitle+"\"><br/>\r\n";
}
if (authorName != String.Empty && authorName != "none" && authorName != null){
result_article += "<b>author name:</b> "+authorName+"<br/>\r\n";
}
result_article += "<b>available formats:</b> PDF, EPUB, MOBI, ODF and others<br/><br/>\r\n"+sliv;
if (originalTitle != bookTitle && originalTitle != String.Empty && originalTitle != "none" && originalTitle != null){
result_article += "<b>original title:</b> \""+originalTitle+"\"<br/>\r\n";
}
if (isbn10 != String.Empty && isbn10 != "none" && isbn10 != null){
if (isbn13 != String.Empty && isbn13 != "none" && isbn13 != null){
isbn13 = " (<b>ISBN13:</b> "+isbn13+")<br/>\r\n";
}
else {
isbn13 = "<br/>\r\n";
}
result_article += "<b>ISBN:</b> "+isbn10+isbn13;
}
if (numberOfPages != String.Empty && numberOfPages != "none" && numberOfPages != null && numberOfPages != "0"){
result_article += "<b>pages:</b> "+numberOfPages+"<br/>\r\n";
}
if (firstPublished != String.Empty && firstPublished != "none" && firstPublished != null){
result_article += "<b>first published:</b> "+firstPublished+"<br/>\r\n";
}
if (characters != String.Empty && characters != "none" && characters != null){
result_article += "<b>characters:</b> "+characters.Substring(0, characters.Length-2)+"<br/>\r\n";
}
if (place != String.Empty && place != "none" && place != null){
result_article += "<b>setting:</b> "+place.Substring(0, place.Length-5)+"<br/>\r\n";
}
if (award != String.Empty && award != "none" && award != null){
result_article += "<b>literary awards:</b> "+award.Substring(0, award.Length-2)+"<br/>\r\n";
}
if (bookDescription != String.Empty && bookDescription != "none" && bookDescription != null){
result_article += "<br/>"+bookDescription+"<br/><br/>\r\n"+sliv;
}
// выводим перелинковку
Random rnd = new Random(); // создаем рандом
// обворачиваем в try, чтобы в случае ошибки, например, когда в списке нет ничего, программа не завершилась.
try {
var links = project.Lists["links"]; // получаем список с ссылками
int rndLinksNumber = new Random().Next(4, 13); // cколько ссылок выводить
List<string> Links2 = new List<string>(); // создаем список
Random rndList = new Random(); // создаем рандом
int countStrList = links.Count; // получаем к-во строк в списке
for(int i=0; i < rndLinksNumber; i++){
string input = links[rnd.Next(countStrList)];
Match match = Regex.Match(input, @"\[url\=([^\]]+)\](.+)\[/url\]");
Links2.Add("<a href=\""+match.Groups[1].Value+"\">"+match.Groups[2].Value+"</a>");
}
result_article += "<b>See also:</b><br/>\r\n"+String.Join("<br/>\r\n", Links2.ToArray()); // join список в строку с разделитем и добавляем на страницу.
}
catch (Exception){} // ничего не делаем в случае исключения, просто продолжаем выполнять код дальше.
// выводим случайные ключевики
var searchTagsList = project.Lists["search tags"]; // получаем список с ключами
int randSearchTags = new Random().Next(7, 16); // cколько ключей выводить
List<string> SearchTags = new List<string>(); // создаем список
int countStrList2 = searchTagsList.Count; // получаем к-во строк в списке
for(int i=0; i < randSearchTags; i++){
SearchTags.Add(searchTagsList[rnd.Next(countStrList2)]); // выбираем случайную строку из списка и add в список
}
result_article += "<br/><br/><b>Search tags:</b><br/>\r\n"+String.Join(", ", SearchTags.ToArray()); // join список в строку с разделитем и добавляем на страницу.
/*
lock(SyncObjects.ListSyncer){тут операции со списоком} - если список синхронизирован с файлом, то нужно операции с ним лочить, иначе можно получить ошибку, во время выполнения в многопотоке.
*/
return result_article;