Public general use code classes and xml files that we've compiled and used over the years:
Koran Reference Network Windows Form support functions: Business model
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Xml.Linq;
5: using System.Text;
6: using System.Text.RegularExpressions;
7: using System.Data;
8: using Microsoft.EntityFrameworkCore;
9: using System.Linq.Expressions;
10:
11: namespace Ia.Islamic.Koran.Wfa.Model.Business
12: {
13: ////////////////////////////////////////////////////////////////////////////
14:
15: /// <summary publish="true">
16: /// Koran Reference Network Windows Form support functions: Business model
17: /// </summary>
18: /// <value>
19: /// https://msdn.microsoft.com/en-us/library/z1hkazw7(v=vs.100).aspx
20: /// </value>
21: /// <remarks>
22: /// Copyright © 1995-2024 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
23: ///
24: /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
25: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
26: ///
27: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
28: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
29: ///
30: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
31: ///
32: /// Copyright notice: This notice may not be removed or altered from any source distribution.
33: /// </remarks>
34: public class Default
35: {
36: private static readonly string websiteFilePath = @"C:\Users\Jasem\Documents\Visual Studio 2022\Projects\Islamic\krn.org\wwwroot\app_data\";
37:
38: ////////////////////////////////////////////////////////////////////////////
39:
40: /// <summary>
41: ///
42: /// </summary>
43: public Default()
44: {
45: }
46:
47: ////////////////////////////////////////////////////////////////////////////
48:
49: /// <summary>
50: ///
51: /// </summary>
52: public static void BuildLanguageComboBox(ref System.Windows.Forms.ComboBox cb)
53: {
54: cb.Items.Clear();
55:
56: var list = (from l in Ia.Cl.Models.Language.List
57: where Ia.Islamic.Cl.Model.Data.Default.UsedKoranLanguageSymbolList.Contains(l.Iso6391)
58: orderby l.Name
59: select new
60: {
61: Symbol = l.Iso6391,
62: l.Name
63: }).ToList();
64:
65: cb.DataSource = list;
66: cb.DisplayMember = "Name";
67: cb.ValueMember = "Symbol";
68:
69: cb.SelectedIndex = 0;
70: }
71:
72: ////////////////////////////////////////////////////////////////////////////
73:
74: /// <summary>
75: ///
76: /// </summary>
77: public static void CreateDatabaseTableRecords(Ia.Cl.Models.Language language, out Ia.Cl.Models.Result result)
78: {
79: int chapterNumber, verseNumber;
80: string name, arabicName, revealed, introduction;
81: string regularExpression, word0, content;
82: MatchCollection matchCollection;
83: Ia.Islamic.Cl.Model.Koran koran;
84: Ia.Islamic.Cl.Model.Chapter chapter;
85: Ia.Islamic.Cl.Model.Verse verse;
86: Ia.Islamic.Cl.Model.Word word;
87: Ia.Islamic.Cl.Model.WordVerse wordVerse;
88: List<Ia.Islamic.Cl.Model.Word> words;
89: List<Ia.Islamic.Cl.Model.WordVerse> wordVerses;
90:
91: arabicName = revealed = string.Empty;
92:
93: result = new Ia.Cl.Models.Result();
94:
95: var koranXDocument = Ia.Islamic.Koran.Wfa.Model.Data.Default.ReturnKoranByLanguage(language);
96:
97: var wordToVerseIdDictionary = new Dictionary<string, string>(10000); // assuming max num of words and derivatives in any one version of koran
98: var verseIdToVerseDictionary = new Dictionary<string, Ia.Islamic.Cl.Model.Verse>(10000);
99:
100: using (var db = new Ia.Islamic.Cl.KoranDbContext())
101: {
102: db.Database.EnsureCreated();
103:
104: db.Database.SetCommandTimeout(120); // process is complex, so I needed to increase timeout from 30 to 120
105:
106: db.Database.ExecuteSqlRaw("delete from Words where Id like '" + Ia.Islamic.Cl.Model.Business.Word.WordId(language.Id, string.Empty) + "%'");
107:
108: db.Database.ExecuteSqlRaw("delete from WordVerses where VerseId like '" + language.Id + "%'");
109: db.Database.ExecuteSqlRaw("delete from WordVerses where WordId like '" + language.Id + "%'");
110:
111: db.Database.ExecuteSqlRaw("delete from Verses where Id like '" + language.Id + "%'");
112: db.Database.ExecuteSqlRaw("delete from Chapters where Id like '" + language.Id + "%'");
113: db.Database.ExecuteSqlRaw("delete from Korans where Id like '" + language.Id + "%'");
114:
115: if (language.Id == "ja" || language.Id == "ko" || language.Id == "zh")
116: {
117: regularExpression = Ia.Cl.Models.Language.BasicWordsRegularExpression(language.Symbol) + "|[" + Ia.Cl.Models.Language.Ideograph(language.Symbol) + "]{1}";
118: regularExpression = regularExpression.Replace("|[]{1}", string.Empty);
119: }
120: else regularExpression = Ia.Cl.Models.Language.BasicWordsRegularExpression(language.Symbol);
121:
122: /*
123: // below: words regular
124: mc = Regex.Matches(content, @"(" + s + ")", RegexOptions.Compiled);
125: foreach (Match m in mc)
126: {
127: word0 = m.Groups[1].Captures[0].Value;
128:
129: if (ht[word0] == null) ht[word0] = verse.Id + " ";
130: else if (ht[word0].ToString().IndexOf(verse.Id) == -1) ht[word0] = ht[word0].ToString() + verse.Id + " ";
131: // above: exclude duplicate verse location values
132: }
133: */
134:
135: /*
136: mc = Regex.Matches(Ia.Cl.Models.Language.RemoveAccent(content), @"(" + s + ")", RegexOptions.Compiled);
137: foreach (Match m in mc)
138: {
139: word0 = m.Groups[1].Captures[0].Value;
140:
141: if (ht[word0] == null) ht[word0] = verse.Id + " ";
142: else if (ht[word0].ToString().IndexOf(verse.Id) == -1) ht[word0] = ht[word0].ToString() + verse.Id + " ";
143: }
144: */
145:
146: koran = new Ia.Islamic.Cl.Model.Koran
147: {
148: Id = language.Id,
149: Name = koranXDocument.Descendants("قرءان").Attributes("name").First().Value,
150: Introduction = string.Empty,
151: LanguageIso = language.Id
152: };
153:
154: db.Korans.Add(koran);
155:
156: chapterNumber = 1;
157:
158: foreach (XElement xe in koranXDocument.Descendants("قرءان").Descendants("سورة"))
159: {
160: if (chapterNumber == int.Parse(xe.Attributes("id").First().Value))
161: {
162: name = xe.Attributes("name").First().Value;
163:
164: if (language.Symbol != "ar")
165: {
166: arabicName = xe.Attributes("arabicName").First().Value;
167: revealed = xe.Attributes("revealed").First().Value;
168: }
169:
170: introduction = xe.Descendants("مقدمة").FirstOrDefault().Value;
171:
172: chapter = new Ia.Islamic.Cl.Model.Chapter
173: {
174: Id = language.Id + xe.Attributes("id").First().Value.PadLeft(3, '0'),
175: Number = chapterNumber,
176: Name = name,
177: Koran = (from q in db.Korans where q.Id == koran.Id select q).SingleOrDefault()
178: };
179:
180: // below: handle revealed according to language
181: if (revealed == "before") chapter.Revealed = false;
182: else chapter.Revealed = true;
183:
184: if (language.Symbol != "ar") chapter.ArabicName = arabicName;
185:
186: chapter.Introduction = introduction;
187:
188: koran.Chapters.Add(chapter);
189:
190: verseNumber = 1;
191:
192: foreach (XElement xElement in xe.Descendants("ءاية"))
193: {
194: if (verseNumber == int.Parse(xElement.Attributes("id").First().Value))
195: {
196: content = xElement.Value;
197:
198: verse = new Ia.Islamic.Cl.Model.Verse
199: {
200: Id = chapter.Id + xElement.Attributes("id").First().Value.PadLeft(3, '0'),
201: Chapter = chapter,
202: Number = verseNumber,
203: Content = content
204: };
205:
206: verseIdToVerseDictionary[verse.Id] = verse;
207:
208: // below: basic form lower case, no accents
209: matchCollection = Regex.Matches(Ia.Cl.Models.Language.BasicForm(content), @"(" + regularExpression + ")", RegexOptions.Compiled);
210:
211: foreach (Match match in matchCollection)
212: {
213: word0 = match.Groups[1].Captures[0].Value;
214:
215: if (!wordToVerseIdDictionary.ContainsKey(word0)) wordToVerseIdDictionary[word0] = verse.Id + " ";
216: else if (wordToVerseIdDictionary[word0].IndexOf(verse.Id) == -1) wordToVerseIdDictionary[word0] = wordToVerseIdDictionary[word0].ToString() + verse.Id + " ";
217: // above: this skips adding word if it already exists in this same verseId
218: }
219:
220: chapter.Verses.Add(verse);
221:
222: verseNumber++;
223: }
224: else
225: {
226: throw new ArgumentException("Inconsistant verse counter verse id=" + xElement.Attributes("id").First().Value + ", chapter id=" + xe.Attributes("id").First().Value);
227: }
228: }
229:
230: chapterNumber++;
231: }
232: else
233: {
234: throw new ArgumentException("Inconsistant chapter counter chapter id=" + xe.Attributes("id").First().Value);
235: }
236: }
237:
238: words = new List<Ia.Islamic.Cl.Model.Word>();
239: wordVerses = new List<Ia.Islamic.Cl.Model.WordVerse>();
240:
241: // below: populate the word table
242: foreach (string content2 in wordToVerseIdDictionary.Keys)
243: {
244: word = new Ia.Islamic.Cl.Model.Word
245: {
246: Id = Ia.Islamic.Cl.Model.Business.Word.WordId(language.Id, content2),
247: Content = content2
248: };
249:
250: // below: remove last " "
251: regularExpression = wordToVerseIdDictionary[content2].ToString().Trim();
252:
253: //foreach (string t in regularExpression.Split(' ')) word.Verses.Add((Ia.Islamic.Cl.Model.Verse)verseHashtable[t]);
254: foreach (string verseId in regularExpression.Split(' '))
255: {
256: wordVerse = new Ia.Islamic.Cl.Model.WordVerse
257: {
258: WordId = word.Id,
259: Word = word,
260: VerseId = verseId,
261: Verse = verseIdToVerseDictionary[verseId]
262: };
263:
264: wordVerses.Add(wordVerse);
265: }
266:
267: words.Add(word);
268: }
269:
270: db.Korans.Add(koran);
271: db.Words.AddRange(words);
272: db.WordVerses.AddRange(wordVerses);
273:
274: db.SaveChanges();
275: }
276: }
277:
278: ////////////////////////////////////////////////////////////////////////////
279:
280: /// <summary>
281: ///
282: /// </summary>
283: public static void DeleteDatabase(out Ia.Cl.Models.Result result)
284: {
285: bool databaseDeleted;
286:
287: result = new Ia.Cl.Models.Result();
288:
289: try
290: {
291: using (var db = new Ia.Islamic.Cl.KoranDbContext())
292: {
293: databaseDeleted = db.Database.EnsureDeleted();
294:
295: if (databaseDeleted) result.AddSuccess("Database deleted");
296: else result.AddError("Database delete error");
297: }
298: }
299: catch (Exception ex)
300: {
301: result.AddError("Database delete error. Exception: " + ex.ToString());
302: }
303: }
304:
305: ////////////////////////////////////////////////////////////////////////////
306:
307: /// <summary>
308: ///
309: /// </summary>
310: public static void WriteChapterFiles(Ia.Cl.Models.Language language, out Ia.Cl.Models.Result result)
311: {
312: bool b;
313: string className, fileName, u, content;
314:
315: result = new Ia.Cl.Models.Result();
316: var sb = new StringBuilder();
317:
318: var translation = new Ia.Islamic.Cl.Model.Translation(language.Id);
319: u = Ia.Cl.Models.Default.FirstLetterToUpper(language.Symbol);
320:
321: using (var db = new Ia.Islamic.Cl.KoranDbContext())
322: {
323: // db.Database.Connection.Open();
324:
325: var chapters = (from q in db.Chapters
326: where q.Koran.LanguageIso == language.Id
327: orderby q.Number
328: select q).ToList<Ia.Islamic.Cl.Model.Chapter>();
329:
330: if (chapters.Count() > 0)
331: {
332: foreach (var chapter in chapters)
333: {
334: sb.Length = 0;
335:
336: className = u + "_" + chapter.Number;
337:
338: //fileName = chapter.Number + ".aspx.cs";
339: sb.Append(ChapterFileHeader(className, translation.MainHome, translation.MainTitle, translation.MainBismillah, language, chapter.Number, chapter.Name, chapter.ArabicName, chapter.Revealed, chapter.Introduction));
340:
341: // below: handle revealed according to language
342: //if (revealed == "before") revealed = "1";
343: //else if (revealed == "after") revealed = "2";
344: //else revealed = "0";
345:
346: var verses = (from q in db.Verses
347: where q.Chapter.Koran.LanguageIso == language.Id && q.Chapter.Id == chapter.Id
348: orderby q.Number
349: select q).ToList<Ia.Islamic.Cl.Model.Verse>();
350:
351: foreach (var verse in verses)
352: {
353: content = verse.Content;
354:
355: sb.Append(ChapterFileVerse(language, verse.Number, content));
356:
357: // below: if a حزب, ربع, نصف, ثلاث occures here will will add a space
358: // جزء/حزب/ربع/نصف/ثلاث/
359:
360: /*
361: if (verseString != "1")
362: {
363: //xd = jza_xd.SelectSingleNode("جزء/جزء/descendant::*[@سورة='" + chapter + "' and @ءاية='" + verse + "']");
364:
365: verseStartsHizb = data.Jza.Elements("جزء").Elements("جزء").DescendantsAndSelf().Where(x => x.HasAttributes && x.Attribute("سورة").Value == chapter && x.Attribute("ءاية").Value == verseString).Any();
366:
367: if (verseStartsHizb) sb.Append(ChapterFileSpace(language));
368: }
369: */
370:
371: //dr["id"] = long.Parse(ch_id.ToString().PadLeft(3, '0') + v_id.ToString().PadLeft(3, '0'));
372: }
373:
374: sb.Append(ChapterFileFooter(language));
375:
376: // below: write to webpage file
377:
378: fileName = websiteFilePath + language.Symbol + @"\" + chapter.Number + ".html";
379:
380: b = Ia.Cl.Models.File.Write(fileName, sb.ToString());
381:
382: if (!b) { result.AddError("WriteChapterFiles: Can't write file " + fileName); break; }
383:
384: // below: write *.aspx.cs file in webpage
385: sb = new StringBuilder(100000)
386: {
387: Length = 0
388: };
389:
390: //sb.Append(ChapterFileCs(language, className));
391: //fileName = websiteFilePath + language.Symbol + @"\" + chapter.Number + ".aspx.cs";
392:
393: //b = Ia.Cl.Models.File.Write(fileName, sb.ToString());
394:
395: if (!b) { result.AddError("WriteChapterFiles: Can't write file " + fileName); break; }
396: }
397: }
398: else
399: {
400: result.AddError("No chapter files read from database");
401: }
402: }
403: }
404:
405: ////////////////////////////////////////////////////////////////////////////
406:
407: /// <summary>
408: ///
409: /// </summary>
410: public static string ChapterFileHeader(string className, string home, string koran, string bismilla, Ia.Cl.Models.Language language, int chapter, string name, string arabicName, bool revealed, string intro)
411: {
412: string s, title;
413:
414: title = string.Empty;
415:
416: if (language.Id == "ar") title = name;
417: else
418: {
419: if (name.Length > 0 && arabicName.Length > 0) title = name + " (" + arabicName + ")";
420: else if (name.Length > 0) title = name;
421: else if (arabicName.Length > 0) title = arabicName;
422: }
423:
424: s = @"<a href=""/"">" + home + @"</a> » <a href=""/" + language.Symbol + @""">" + koran + @"</a> » " + title;
425:
426: if (intro.Length > 0) s += @"<div class=""intro"">" + intro + @"</div>";
427:
428: s += @"<div class=""chapter"">";
429:
430: if (chapter != 1 && chapter != 9)
431: {
432: s += @"<span class=""bismilla"">" + bismilla + @"</span> ";
433: }
434:
435: // <p><a name=""1"">1</a>. In the name of Allah, Most Gracious, Most Merciful.</p>";
436:
437: return s;
438: }
439:
440: ////////////////////////////////////////////////////////////////////////////
441:
442: /// <summary>
443: ///
444: /// </summary>
445: public static string ChapterFileVerse(Ia.Cl.Models.Language language, int verse, string content)
446: {
447: string s;
448:
449: // below: I will keep no space between verse and number
450: if (language.Symbol == "ja") s = @"<div class=""verse"">" + content + @"<span class=""number""><a id=""" + verse + @""">" + verse + @"</a></span></div> ";
451: else s = @"<div class=""verse"">" + content + @" <span class=""number""><a id=""" + verse + @""">" + verse + @"</a></span></div> ";
452:
453: return s;
454: }
455:
456: ////////////////////////////////////////////////////////////////////////////
457:
458: /// <summary>
459: ///
460: /// </summary>
461: public string ChapterFileSpace(Ia.Cl.Models.Language language)
462: {
463: string s;
464:
465: s = @"<p><br/></p>";
466:
467: return s;
468: }
469:
470: ////////////////////////////////////////////////////////////////////////////
471:
472: /// <summary>
473: ///
474: /// </summary>
475: public static string ChapterFileFooter(Ia.Cl.Models.Language language)
476: {
477: string s;
478:
479: s = @"</div>";
480:
481: return s;
482: }
483:
484: ////////////////////////////////////////////////////////////////////////////
485: ////////////////////////////////////////////////////////////////////////////
486:
487: /// <summary>
488: ///
489: /// </summary>
490: public static void WriteDefaultAndSearchFiles(Ia.Cl.Models.Language language, out Ia.Cl.Models.Result result)
491: {
492: bool b;
493: string u, fileName;
494:
495: result = new Ia.Cl.Models.Result();
496: var sb = new StringBuilder(100000);
497:
498: var translation = new Ia.Islamic.Cl.Model.Translation(language.Id);
499:
500: u = Ia.Cl.Models.Default.FirstLetterToUpper(language.Symbol);
501:
502: /*
503: - "chapter": (id,chapter,language_id,name,arabicName,revealed_id,introduction)
504: */
505:
506: // below: write default.aspx file in webpage
507: sb = new StringBuilder(100000);
508: sb.Append(BuildDefaultFile(language, translation, u + "_Default"));
509: fileName = websiteFilePath + language.Symbol + @"\default.html";
510: b = Ia.Cl.Models.File.Write(fileName, sb.ToString());
511: if (!b) result.AddError("WriteDefaultAndSearchFiles: Can't write file " + fileName);
512: }
513:
514: ////////////////////////////////////////////////////////////////////////////
515:
516: /// <summary>
517: ///
518: /// </summary>
519: public static string DefaultFileHeader(Ia.Cl.Models.Language language, Ia.Islamic.Cl.Model.Translation translation, string className)
520: {
521: string s;
522:
523: // below is similar to Search.cshtml
524:
525: s = @"<a href=""/"">" + translation.MainHome + "</a> » " + translation.MainTitle + @"
526:
527: <p class=""enter-words"">" + translation.SearchInstruction + @"</p>
528:
529: <form method=""post"" action=""/" + language.Symbol + @"/search"" enctype=""multipart/form-data"">
530: <table class=""form"">
531: <tr>
532: <td>
533: <input name=""searchTextInput"" type=""text"" maxlength=""32"" />
534: <input name=""iso2"" type=""hidden"" value=""" + language.Symbol + @""" />
535: </td>
536: <td>
537: <input type=""submit"" value=""" + translation.SearchButton + @""" />
538: </td>
539: </tr>
540: </table>
541: </form>
542:
543: <p class=""hint"">
544: <span class=""head"">" + translation.SearchHintName + @"</span>: " + translation.SearchHint + @"
545: </p>
546:
547: <ol>
548: ";
549:
550: return s;
551: }
552:
553: ////////////////////////////////////////////////////////////////////////////
554:
555: /// <summary>
556: ///
557: /// </summary>
558: public static string DefaultAndSearchFileChapterTitle(Ia.Cl.Models.Language language, Ia.Islamic.Cl.Model.Translation translation, Ia.Islamic.Cl.Model.Chapter chapter)
559: {
560: string s;
561:
562: if (language.Id == "ar")
563: {
564: s = @"<li><a href=""/" + language.Symbol + "/" + chapter.Number + @""">" + chapter.Name + @"</a></li>" + "\r\n";
565:
566: //if (language.Symbol == "ar" && chapter % 38 == 0) s += @"</td><td style=""vertical-align:top;"">";
567: //else if (language != "ar" && n % 57 == 0) s += @"</td><td style=""vertical-align:top;"">";
568: }
569: else
570: {
571: if (chapter.Name.Length > 0 && chapter.ArabicName.Length > 0) s = @"<li><a href=""/" + language.Symbol + "/" + chapter.Number + @""">" + chapter.Name + @"</a> (<a href=""/" + language.Symbol + "/" + chapter.Number + @""">" + chapter.ArabicName + @"</a>)</li>" + "\r\n";
572: else if (chapter.Name.Length > 0) s = @"<li><a href=""/" + language.Symbol + "/" + chapter.Number + @""">" + chapter.Name + @"</a></li>" + "\r\n";
573: else /*if (arabicName.Length > 0)*/ s = @"<li><a href=""/" + language.Symbol + "/" + chapter.Number + @""">" + chapter.ArabicName + @"</a></li>" + "\r\n";
574: }
575:
576: return s;
577: }
578:
579: ////////////////////////////////////////////////////////////////////////////
580:
581: /// <summary>
582: ///
583: /// </summary>
584: public static string DefaultFileFooter(Ia.Cl.Models.Language language, Ia.Islamic.Cl.Model.Translation translation)
585: {
586: string s;
587:
588: s = @"
589: </ol>";
590:
591: return s;
592: }
593:
594: ////////////////////////////////////////////////////////////////////////////
595:
596: /// <summary>
597: ///
598: /// </summary>
599: public static string BuildDefaultFile(Ia.Cl.Models.Language language, Ia.Islamic.Cl.Model.Translation translation, string className)
600: {
601: var sb = new StringBuilder(100000);
602: sb.Length = 0;
603:
604: sb.Append(DefaultFileHeader(language, translation, className));
605:
606: using (var db = new Ia.Islamic.Cl.KoranDbContext())
607: {
608: var chapters = (from q in db.Chapters
609: where q.Koran.LanguageIso == language.Id
610: orderby q.Number
611: select q).ToList<Ia.Islamic.Cl.Model.Chapter>();
612:
613: foreach (Ia.Islamic.Cl.Model.Chapter chapter in chapters)
614: {
615: sb.Append(DefaultAndSearchFileChapterTitle(language, translation, chapter));
616: }
617: }
618:
619: sb.Append(DefaultFileFooter(language, translation));
620:
621: return sb.ToString();
622: }
623:
624: ////////////////////////////////////////////////////////////////////////////
625: ////////////////////////////////////////////////////////////////////////////
626: }
627:
628: ////////////////////////////////////////////////////////////////////////////
629: ////////////////////////////////////////////////////////////////////////////
630: }
- HomeController (Ia.Hsb.DrugOnCall.Wa.Controllers) :
- ErrorViewModel (Ia.Hsb.DrugOnCall.Wa.Models) :
- HomeViewModel (Ia.Hsb.DrugOnCall.Wa.Models) :
- Ui (Ia.Hsb.DrugOnCall.Wa.Models) :
- HomeController (Ia.Hsb.Pregnalact.Wa.Controllers) :
- ErrorViewModel (Ia.Hsb.Pregnalact.Wa.Models) :
- HomeViewModel (Ia.Hsb.Pregnalact.Wa.Models) :
- Ui (Ia.Hsb.Pregnalact.Wa.Models) :
- AgentController (Ia.Api.Wa.Controllers) : Agent API Controller class.
- AuthorizationHeaderHandler () :
- DefaultController (Ia.Api.Wa.Controllers) : Default API Controller class.
- GeoIpController (Ia.Api.Wa.Controllers) : GeoIp API Controller class of Internet Application project model.
- HeartbeatController (Ia.Api.Wa.Controllers) : Heartbeat API Controller class.
- HomeController (Ia.Api.Wa.Controllers) :
- PacketController (Ia.Api.Wa.Controllers) : Packet API Controller class.
- TempController (Ia.Api.Wa.Controllers.Db) : DB Temp API Controller class.
- TraceController (Ia.Api.Wa.Controllers) : Trace API Controller class.
- WeatherController (Ia.Api.Wa.Controllers) : OpenWeatherMap API Controller class.
- WebhookController (Ia.Api.Wa.Controllers) : Webhook API Controller class.
- Ui (Ia.Api.Wa.Models) :
- WeatherForecast (Ia.Api.Wa.Models) :
- Webhook (Ia.Api.Wa.Models) :
- HomeController (Ia.Cdn.Wa.Controllers) :
- ErrorViewModel (Ia.Cdn.Wa.Models) :
- ApplicationDbContext (Ia.Cl) :
- ApplicationUser (Ia.Cl) :
- Db (Ia.Cl) :
- DynamicSiteMapProvider () : Sitemap support class.
- Enumeration () : Enumeration class. Extends enumeration to class like behaviour.
- Extention () : Extention methods for different class objects.
- Agent (Ia.Cl.Models) : Agent model
- ApplicationConfiguration (Ia.Cl.Models) : ApplicationConfiguration class.
- Authentication (Ia.Cl.Model) : Manage and verify user logging and passwords. The administrator will define the user's password and logging website. The service will issue a true of false according to authentication.
- Storage (Ia.Cl.Model.Azure) : Azure Cloud related support functions.
- Default (Ia.Cl.Model.Business.Nfc) : Default NFC Near-Field Communication (NFC) Support Business functions
- Inventory (Ia.Cl.Model.Business.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Business functions
- Tag (Ia.Cl.Model.Business.Nfc) : TAG NFC Near-Field Communication (NFC) Support Business functions
- Country (Ia.Cl.Models) : Country geographic coordinates and standard UN naming conventions.
- Germany (Ia.Cl.Models) : German cities and states.
- Kuwait (Ia.Cl.Models) : Kuwait provinces, cities, and areas.
- SaudiArabia (Ia.Cl.Models) : Saudi Arabia provinces, cities, and areas.
- Encryption (Ia.Cl.Models.Cryptography) : Symmetric Key Algorithm (Rijndael/AES) to encrypt and decrypt data.
- Default (Ia.Cl.Models.Data) : Support class for data model
- Default (Ia.Cl.Model.Data.Nfc) : Default NFC Near-Field Communication (NFC) Support Data functions
- Inventory (Ia.Cl.Model.Data.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Data functions
- Project (Ia.Cl.Model.Nfc.Data) : Project Support class for NFC data model
- Tag (Ia.Cl.Model.Data.Nfc) : TAG NFC Near-Field Communication (NFC) Support Data functions
- Msmq (Ia.Cl.Model.Db) : MSMQ Database support class. This handles storing and retrieving MSMQ storage.
- MySql (Ia.Model.Db) : MySQL supporting class.
- Object (Ia.Cl.Model.Db) : Object entity class
- Odbc (Ia.Cl.Model.Db) : ODBC support class.
- OleDb (Ia.Cl.Models.Db) : OLEDB support class
- Oracle (Ia.Cl.Models.Db) : Oracle support class.
- Sqlite (Ia.Cl.Models.Db) : SQLite support class.
- SqlServer (Ia.Cl.Models.Db) : SQL Server support class.
- SqlServerCe (Ia.Cs.Db) : SQL Server CE support class.
- Temp (Ia.Cl.Models.Db) : Temporary Storage support class.
- Text (Ia.Cl.Models.Db) : Text Database support class. This handles storing and retrieving text storage.
- Xml (Ia.Cl.Models.Db) : XML Database support class. This handles storing and retrieving XDocument storage.
- Default (Ia.Cl.Models) : General use static class of common functions used by most applications.
- Gv (Ia.Cl.Models.Design) : ASP.NET design related support class.
- File (Ia.Cl.Models) : File manipulation related support class.
- Ftp (Ia.Cl.Models) : A wrapper class for .NET 2.0 FTP
- Location (Ia.Cl.Models.Geography) : Geographic location related function, location, coordinates (latitude, longitude), bearing, degree and radian conversions, CMap value for resolution, and country geographic info-IP from MaxMind.
- GeoIp (Ia.Cl.Models) : GeoIp class of Internet Application project model.
- Gmail (Ia.Cl.Models) : Gmail API support class
- StaticMap (Ia.Cl.Models.Google) : Google support class.
- Drive (Ia.Cl.Models.Google) : Google Drive Directory and File support class.
- Heartbeat (Ia.Cl.Models) : Heartbeat class.
- Hijri (Ia.Cl.Model) : Hijri date handler class.
- Html (Ia.Cl.Models) : Handle HTML encoding, decoding functions.
- HtmlHelper (Ia.Cl.Models) : HtmlHelper for ASP.Net Core.
- Http (Ia.Cl.Models) : Contains functions that relate to posting and receiving data from remote Internet/Intranet pages
- Identity (Ia.Cl.Models) : ASP.NET Identity support class.
- Image (Ia.Cl.Models) : Image processing support class.
- Imap (Ia.Cl.Models) : IMAP Server Support Class
- Language (Ia.Cl.Models) : Language related support class including langauge list and codes.
- Individual (Ia.Cl.Model.Life) : Individual object.
- Main (Ia.Cl.Models.Life) : General base class for life entities. Make it link through delegates to create and update database objects.
- Log (Ia.Cl.Models) : Log file support class.
- Mouse (Ia.Cl.Models) : Windows mouse movements and properties control support class.
- Newspaper (Ia.Cl.Models) : Newspaper and publication display format support class.
- Inventory (Ia.Cl.Model.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Entity functions
- Tag (Ia.Cl.Model.Nfc) : TAG NFC Near-Field Communication (NFC) Support Entity functions
- Ocr (Ia.Cl.Models) : Handles OCR operations.
- Packet (Ia.Cl.Models) : Packet model
- PrayerTime (Ia.Cl.Models) : Prayer times support class.
- Punycode (Ia.Cl.Models) : Punycode support class.
- QrCode (Ia.Cl.Models) : QR Code support class.
- RabbitMq (Ia.Cl.Models) : RabbitMQ Messaging and Streaming Broker Support Class.
- Result (Ia.Cl.Models) : Result support class.
- Seo (Ia.Cl.Models) : Search Engine Optimization (SEO) support class.
- Sms (Ia.Cl.Models) : SMS API service support class.
- Smtp (Ia.Cl.Models) : SMTP Server Support Class
- Socket (Ia.Cl.Models) : Search Engine Optimization (SEO) support class.
- Sound (Ia.Cl.Models) : Sound support class.
- Stopwatch (Ia.Cl.Models) : Stopwatch model
- TagHelper (Ia.Cl.Models) : TagHelper for ASP.Net Core.
- Telnet (Ia.Cl.Models) : Telnet communication support class.
- Trace (Ia.Cl.Models) : Trace function to try to identifiy a user using IP addresses, cookies, and session states.
- Default (Ia.Cl.Models.Ui) : Default support UI class
- Upload (Ia.Cl.Model) : Handle file uploading functions.
- Utf8 (Ia.Cl.Models) : Handle UTF8 issues.
- Weather (Ia.Cl.Models) : Weather class
- Winapi (Ia.Cl.Models) : WINAPI click events support class.
- Word (Ia.Cl.Models) : Word object.
- Twitter (Ia.Cl.Models) : Twitter API support class.
- Xml (Ia.Cl.Models) : XML support class.
- Zip (Ia.Cl.Models) : Zip
- AboutController (Ia.Wa.Controllers) :
- AccountController (Ia.Wa.Controllers) :
- ApplicationController (Ia.Wa.Controllers) :
- ContactController (Ia.Wa.Controllers) :
- HelpController (Ia.Wa.Controllers) :
- HomeController (Ia.Wa.Controllers) :
- IdentityController (Ia.Wa.Controllers) :
- LegalController (Ia.Wa.Controllers) :
- LibraryController (Ia.Wa.Controllers) :
- ManageController (Ia.Wa.Controllers) :
- NetworkController (Ia.Wa.Controllers) :
- NgossController (Ia.Wa.Controllers) :
- PortfolioController (Ia.Wa.Controllers) :
- ServiceController (Ia.Wa.Controllers) :
- ServiceDesignChartController (Ia.Wa.Controllers) :
- ServiceDesignController (Ia.Wa.Controllers) :
- ServiceMAndroidController (Ia.Wa.Controllers) :
- ServiceMController (Ia.Wa.Controllers) :
- ServiceMIosController (Ia.Wa.Controllers) :
- ServiceNfcController (Ia.Wa.Controllers) :
- SmsController (Ia.Wa.Controllers) :
- ExternalLoginConfirmationViewModel (Ia.Wa.Models.AccountViewModels) :
- ForgotPasswordViewModel (Ia.Wa.Models.AccountViewModels) :
- LoginViewModel (Ia.Wa.Models.AccountViewModels) :
- RegisterViewModel (Ia.Wa.Models.AccountViewModels) :
- ResetPasswordViewModel (Ia.Wa.Models.AccountViewModels) :
- SendCodeViewModel (Ia.Wa.Models.AccountViewModels) :
- UseRecoveryCodeViewModel (Ia.Wa.Models.AccountViewModels) :
- VerifyAuthenticatorCodeViewModel (Ia.Wa.Models.AccountViewModels) :
- VerifyCodeViewModel (Ia.Wa.Models.AccountViewModels) :
- Default (Ia.Wa.Models.Business) :
- ContactViewModel (Ia.Wa.Models) :
- Default (Ia.Wa.Models.Data) :
- Portfolio (Ia.Wa.Models.Data) :
- ErrorViewModel (Ia.Wa.Models) :
- AddPhoneNumberViewModel (Ia.Wa.Models.ManageViewModels) :
- ChangePasswordViewModel (Ia.Wa.Models.ManageViewModels) :
- ConfigureTwoFactorViewModel (Ia.Wa.Models.ManageViewModels) :
- DisplayRecoveryCodesViewModel (Ia.Wa.Models.ManageViewModels) :
- FactorViewModel (Ia.Wa.Models.ManageViewModels) :
- IndexViewModel (Ia.Wa.Models.ManageViewModels) :
- ManageLoginsViewModel (Ia.Wa.Models.ManageViewModels) :
- RemoveLoginViewModel (Ia.Wa.Models.ManageViewModels) :
- SetPasswordViewModel (Ia.Wa.Models.ManageViewModels) :
- VerifyPhoneNumberViewModel (Ia.Wa.Models.ManageViewModels) :
- MenuViewModel (Ia.Wa.Models) :
- ParameterViewModel (Ia.Wa.Models) :
- QrCodeViewModel (Ia.Wa.Models) :
- Default (Ia.Wa.Models.Ui) :
- ServiceAndroidApplicationTrekCountry (Ia.Wa.Models.Ui) :
- AuthMessageSender (IdentitySample.Services) :
- DefaultController (Ia.Ngn.Cl.Model.Api.Controller) : Service Suspension API Controller class of Next Generation Network'a (NGN's) model.
- KoranController (Ia.Islamic.Koran.Cl.Model.Api.Controller) : Koran API Controller class of Islamic Koran Reference Network project model.
- PrayerTimeController (Ia.Islamic.Koran.Cl.Model.Api.Controller) : Prayer Time API Controller class of Islamic Koran Reference Network project model.
- ApplicationController (Ia.Islamic.Koran.Belief.Wa.Controllers) :
- HomeController (Ia.Islamic.Koran.Belief.Wa.Controllers) :
- ApplicationViewModel (Ia.Islamic.Koran.Belief.Wa.Models) :
- Business (Ia.Islamic.Koran.Belief.Wa.Models) : Koran Reference Network support functions: Business model
- ErrorViewModel (Ia.Islamic.Koran.Belief.Wa.Models) :
- HomeViewModel (Ia.Islamic.Koran.Belief.Wa.Models) :
- VerseCheckboxViewModel (Ia.Islamic.Koran.Belief.Wa.Models) :
- KoranDbContext (Ia.Islamic.Cl) : Koran Reference Network Data Context
- Default (Ia.Islamic.Cl.Model.Business) : Koran Reference Network Class Library support functions: Business model
- PrayerTime (Ia.Islamic.Koran.Cl.Model.Business) : Prayer Time Business class of Islamic Koran Reference Network project model.
- Word (Ia.Islamic.Cl.Model.Business) : Koran Reference Network Class Library support functions: business model
- Chapter (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Default (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: Data model
- Koran (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Verse (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- VerseTopic (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Chapter (Ia.Islamic.Cl.Model) : Chapter Koran Reference Network Class Library support functions: Entity model
- Koran (Ia.Islamic.Cl.Model) : Koran Koran Reference Network Class Library support functions: Entity model
- Verse (Ia.Islamic.Cl.Model) : Verse Koran Reference Network Class Library support functions: Entity model
- VerseTopic (Ia.Islamic.Cl.Model) : VerseTopic Koran Reference Network Class Library support functions: Entity model
- Word (Ia.Islamic.Cl.Model) : Word Koran Reference Network Class Library support functions: Entity model
- WordVerse (Ia.Islamic.Cl.Model) : WordVerse Koran Reference Network Class Library support functions: Entity model
- Translation (Ia.Islamic.Cl.Model) : Koran Reference Network Class Library support functions: Data model
- VerseTopicUi (Ia.Islamic.Cl.Model.Ui) : Koran Reference Network Class Library support functions: UI model
- HomeController (Ia.Islamic.Koran.Wa.Controllers) :
- KoranController (Ia.Islamic.Koran.Wa.Controllers) :
- Default (Ia.Islamic.Koran.Wa.Model.Business) :
- ErrorViewModel (Ia.Islamic.Koran.Wa.Models) :
- KoranViewModel (Ia.Islamic.Koran.Wa.Models) :
- Default (Ia.Islamic.Koran.Wa.Models.Ui) :
- Default (Ia.Islamic.Koran.Wfa.Model.Business) : Koran Reference Network Windows Form support functions: Business model
- Preparation (Ia.Islamic.Koran.Wfa.Model.Business) : Koran Reference Network Windows Form support functions: Business model
- Default (Ia.Islamic.Koran.Wfa.Model.Data) : Koran Reference Network Windows Form support functions: Data model
- Kanji (Ia.Learning.Cl.Models.Business) : Kanji business support class
- Kanji (Ia.Learning.Cl.Models.Data) : Kanji support class
- Default (Ia.Learning.Cl.Models) : Default data support functions
- MoeBook (Ia.Learning.Cl.Models) : Ministry of Education Books support class for Learning data model.
- Default (Ia.Learning.Cl.Models.Ui) :
- Business (Ia.Learning.Kafiya.Models) : Default business support class.
- Data (Ia.Learning.Kafiya.Models) : Default data support class.
- HomeController (Ia.Learning.Manhag.Wa.Controllers) :
- ErrorViewModel (Ia.Learning.Manhag.Wa.Models) :
- IndexViewModel (Ia.Learning.Manhag.Wa.Models.Home) :
- DefaultController (Ia.Learning.Kanji.Wa.Controllers) :
- Default (Ia.Learning.Kanji.Models.Business) : Default business support class.
- Index (Ia.Learning.Kanji.Wa.Models.Default) :
- IndexViewModel (Ia.Learning.Kanji.Wa.Models.Default) :
- ErrorViewModel (Ia.Learning.Kanji.Wa.Models) :
- Default (Ia.Simple.Cl.Models.Business.SmartDeals) :
- Category (Ia.Simple.Cl.Models.Data.SmartDeals) :
- Default (Ia.Simple.Cl.Models.Data.SmartDeals) :
- Product (Ia.Simple.Cl.Models.Data.SmartDeals) :
- HomeController (Ia.Statistics.Cdn.Wa.Controllers) :
- Default (Ia.Statistics.Cl.Models.Boutiqaat) : Structure of the boutiqaat.com website.
- Category (Ia.Statistics.Cl.Models) :
- Default (Ia.Statistics.Cl.Models.Dabdoob) : Structure of the dabdoob.com website.
- Default (Ia.Statistics.Cl.Models) :
- Default (Ia.Statistics.Cl.Models.EnglishBookshop) : Structure of the theenglishbookshop.com website.
- Default (Ia.Statistics.Cl.Models.FantasyWorldToys) : Structure of the fantasyworldtoys.com website.
- Default (Ia.Statistics.Cl.Models.HsBookstore) : Structure of the hsbookstore.com website.
- Default (Ia.Statistics.Cl.Models.LuluHypermarket) : Structure of the lulutypermarket.com website.
- Default (Ia.Statistics.Cl.Models.Natureland) : Structure of the natureland.net website.
- Product (Ia.Statistics.Cl.Models) :
- ProductPriceSpot (Ia.Statistics.Cl.Models) :
- ProductPriceStockQuantitySold (Ia.Statistics.Cl.Models) :
- ProductStockSpot (Ia.Statistics.Cl.Models) :
- Site (Ia.Statistics.Cl.Models) : Site support class for Optical Fiber Network (OFN) data model.
- Default (Ia.Statistics.Cl.Models.SultanCenter) : Structure of the sultan-center.com website.
- Default (Ia.Statistics.Cl.Models.Taw9eel) : Structure of the taw9eel.com website.
- WebDriverExtensions () :
- AboutController (Ia.Statistics.Wa.Controllers) :
- ContactController (Ia.Statistics.Wa.Controllers) :
- HelpController (Ia.Statistics.Wa.Controllers) :
- HomeController (Ia.Statistics.Wa.Controllers) :
- IdentityController (Ia.Statistics.Wa.Controllers) :
- LegalController (Ia.Statistics.Wa.Controllers) :
- ListController (Ia.Statistics.Wa.Controllers) :
- SearchController (Ia.Statistics.Wa.Controllers) :
- ServiceController (Ia.Statistics.Wa.Controllers) :
- Default (Ia.Statistics.Wa.Models.Business) :
- ContactViewModel (Ia.Statistics.Wa.Models) :
- Default (Ia.Statistics.Wa.Models.Data) :
- ErrorViewModel (Ia.Statistics.Wa.Models) :
- Index (Ia.Statistics.Wa.Models.Home) :
- IndexViewModel (Ia.Statistics.Wa.Models.Home) :
- ProductViewModel (Ia.Statistics.Wa.Models.List) :
- Default (Ia.Statistics.Wa.Models.Ui) :
- ServiceAndroidApplicationTrekCountry (Ia.Statistics.Wa.Models.Ui) :
- DefaultController (Ia.TentPlay.Api.Wa.Controllers) : Trek API Controller class of Tent Play's model.
- ApplicationDbContext (Ia.TentPlay) :
- Db (Ia.TentPlay) :
- Default (Ia.TentPlay.Cl.Models.Business) : Support class for TentPlay business model
- Default (Ia.TentPlay.Cl.Models.Business.Trek) : Support class for TentPlay Trek business model
- Feature (Ia.TentPlay.Cl.Models.Business.Trek) : Feature class for TentPlay Trek business model
- FeatureClass (Ia.TentPlay.Cl.Models.Business.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureClassDistanceToCapital (Ia.TentPlay.Cl.Models.Business.Trek) : FeatureClassDistanceToCapital Support class for TentPlay business model
- FeatureDesignation (Ia.TentPlay.Cl.Models.Business.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureName (Ia.TentPlay.Cl.Models.Business.Trek) : Support class for TentPlay Trek business model
- CompanyInformation (Ia.TentPlay.Cl.Models.Data) : CompanyInformation Support class for TentPlay data model
- Default (Ia.TentPlay.Cl.Models.Data) : Support class for TentPlay data model
- ApplicationInformation (Ia.TentPlay.Cl.Models.Data.Trek) : ApplicationInformation Support class for TentPlay Trek data model
- Default (Ia.TentPlay.Cl.Models.Data.Trek) : Default class for TentPlay Trek data model
- Feature (Ia.TentPlay.Cl.Models.Data.Trek) : Feature Support class for TentPlay entity data
- FeatureClass (Ia.TentPlay.Cl.Models.Data.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureDesignation (Ia.TentPlay.Cl.Models.Data.Trek) : FeatureDesignation Support class for TentPlay Trek data model
- NgaCountryWaypoint (Ia.TentPlay.Cl.Models.Data.Trek) : NgaCountryWaypoint Support class for TentPlay Waypoint entity data
- Score (Ia.TentPlay.Cl.Models.Memorise) : Score entity functions
- Feature (Ia.TentPlay.Cl.Models.Trek) : Feature Support class for TentPlay entity model
- FeatureDesignation (Ia.TentPlay.Cl.Models.Trek) : FeatureDesignation Support class for TentPlay Trek entity model
- ApplicationInformation (Ia.TentPlay.Cl.Models.Memorise) : ApplicationInformation Support class for TentPlay Memorise model
- Default (Ia.TentPlay.Cl.Models.Memorise) : Default class for TentPlay Memorise data model
- German (Ia.TentPlay.Cl.Models.Memorise) : German class
- Kana (Ia.TentPlay.Cl.Models.Memorise) : Kana class
- Kanji (Ia.TentPlay.Cl.Models.Memorise) : Kanji class
- Math (Ia.TentPlay.Cl.Models.Memorise) : Math Class
- MorseCode (Ia.TentPlay.Cl.Models.Memorise) : Morse code class
- PhoneticAlphabet (Ia.TentPlay.Cl.Models.Memorise) : Phonetic Alphabet
- Russian (Ia.TentPlay.Cl.Models.Memorise) : Russian class
- Test (Ia.TentPlay.Cl.Models.Memorise) : Test Class
- Default (Ia.TentPlay.Cl.Models.Ui.Trek) : Default class for TentPlay Trek UI model
- AboutController (Ia.TentPlay.Wa.Controllers) :
- ContactController (Ia.TentPlay.Wa.Controllers) :
- HelpController (Ia.TentPlay.Wa.Controllers) :
- HomeController (Ia.TentPlay.Wa.Controllers) :
- LegalController (Ia.TentPlay.Wa.Controllers) :
- MemoriseController (Ia.TentPlay.Wa.Controllers) :
- TradeController (Ia.TentPlay.Wa.Controllers) :
- TrekController (Ia.TentPlay.Wa.Controllers) :
- ErrorViewModel (Ia.TentPlay.Wa.Models) :
- TrekViewModel (Ia.TentPlay.Wa.Models) :
- Default (Ia.TentPlay.Wa.Models.Ui) :