Public general use code classes and xml files that we've compiled and used over the years:
Contains functions that relate to posting and receiving data from remote Internet/Intranet pages
1: using System;
2: using System.IO;
3: using System.Net;
4: using System.Text;
5: using System.Threading.Tasks;
6: using System.Net.Http;
7: using System.Net.Http.Headers;
8: using System.Net.Http.Json;
9: using Newtonsoft.Json;
10:
11: namespace Ia.Cl.Models
12: {
13: ////////////////////////////////////////////////////////////////////////////
14:
15: /// <summary publish="true">
16: /// Contains functions that relate to posting and receiving data from remote Internet/Intranet pages
17: /// </summary>
18: /// <remarks>
19: /// Copyright � 2001-2020 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
20: ///
21: /// 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
22: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
23: ///
24: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
25: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
26: ///
27: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
28: ///
29: /// Copyright notice: This notice may not be removed or altered from any source distribution.
30: /// </remarks>
31: public class Http
32: {
33: ////////////////////////////////////////////////////////////////////////////
34:
35: /// <summary>
36: ///
37: /// </summary>
38: private static bool range = false;
39:
40: ////////////////////////////////////////////////////////////////////////////
41:
42: /// <summary>
43: ///
44: /// </summary>
45: public Http() { }
46:
47: // Note that "https://" and "http://" are different. Wrong protocol could produce a "(403) Forbidden" response.
48:
49: // Include custom cookies, start and end points, and posting of data to remove server.
50:
51: // See https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/calling-a-web-api-from-a-net-client
52:
53: // Remember to "synch all the way"
54:
55: ////////////////////////////////////////////////////////////////////////////
56:
57: /// <summary>
58: ///
59: /// </summary>
60: public static async Task<string> PostAsync<T>(string baseAddress, string serviceUrl, T t)
61: {
62: HttpResponseMessage httpResponseMessage;
63: var s = string.Empty;
64:
65: serviceUrl = SuffixUrlWithSlashIfItContainsDot(serviceUrl);
66:
67: using (var httpClient = new HttpClient())
68: {
69: httpClient.BaseAddress = new Uri(baseAddress);
70: httpClient.DefaultRequestHeaders.Accept.Clear();
71: httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
72:
73: HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(t), Encoding.UTF8, "application/json");
74:
75: try
76: {
77: httpResponseMessage = await httpClient.PostAsJsonAsync(serviceUrl, httpContent);
78: // e.g. httpResponseMessage = await httpClient.PostAsJsonAsync("api/products", product);
79:
80: httpResponseMessage.EnsureSuccessStatusCode();
81:
82: s = await httpResponseMessage.Content.ReadAsStringAsync();
83: }
84: catch (Exception e)
85: {
86: }
87: }
88:
89: return s;
90: }
91:
92: ////////////////////////////////////////////////////////////////////////////
93:
94: /// <summary>
95: ///
96: /// </summary>
97: public static async Task<string> PostAsync(string baseAddress, string serviceUrl)
98: {
99: HttpResponseMessage httpResponseMessage;
100: var s = string.Empty;
101:
102: serviceUrl = SuffixUrlWithSlashIfItContainsDot(serviceUrl);
103:
104: using (var httpClient = new HttpClient())
105: {
106: httpClient.BaseAddress = new Uri(baseAddress);
107: httpClient.DefaultRequestHeaders.Accept.Clear();
108: httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
109:
110: try
111: {
112: HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(string.Empty), Encoding.UTF8, "application/json"); // dummy
113:
114: httpResponseMessage = await httpClient.PostAsJsonAsync(serviceUrl, httpContent);
115: // e.g. httpResponseMessage = await httpClient.PostAsJsonAsync("api/products", product);
116:
117: httpResponseMessage.EnsureSuccessStatusCode();
118:
119: s = await httpResponseMessage.Content.ReadAsStringAsync();
120: }
121: catch (Exception e)
122: {
123: }
124: }
125:
126: return s;
127: }
128:
129: ////////////////////////////////////////////////////////////////////////////
130:
131: /// <summary>
132: ///
133: /// </summary>
134: public static async Task<T> GetAsync<T>(string baseAddress, string serviceUrl)
135: {
136: HttpResponseMessage httpResponseMessage;
137: T t;
138:
139: t = default;
140:
141: serviceUrl = SuffixUrlWithSlashIfItContainsDot(serviceUrl);
142:
143: using (var httpClient = new HttpClient())
144: {
145: httpClient.BaseAddress = new Uri(baseAddress);
146: httpClient.DefaultRequestHeaders.Accept.Clear();
147: httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
148:
149: try
150: {
151: httpResponseMessage = await httpClient.GetAsync(serviceUrl);
152:
153: if (httpResponseMessage.IsSuccessStatusCode)
154: {
155: t = await httpResponseMessage.Content.ReadFromJsonAsync<T>(); //.ReadAsAsync<T>();
156: // see https://stackoverflow.com/questions/63108280/has-httpcontent-readasasynct-method-been-superceded-in-net-core
157: }
158: else
159: {
160:
161: }
162: }
163: catch (Exception e)
164: {
165: }
166: }
167:
168: return t;
169: }
170:
171: ////////////////////////////////////////////////////////////////////////////
172:
173: /// <summary>
174: ///
175: /// </summary>
176: public static async Task<string> GetAsync(string baseAddress, string serviceUrl)
177: {
178: HttpResponseMessage httpResponseMessage;
179: var s = string.Empty;
180:
181: serviceUrl = SuffixUrlWithSlashIfItContainsDot(serviceUrl);
182:
183: using (var httpClient = new HttpClient())
184: {
185: try
186: {
187: httpClient.BaseAddress = new Uri(baseAddress);
188: httpClient.DefaultRequestHeaders.Accept.Clear();
189: httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
190:
191: httpResponseMessage = await httpClient.GetAsync(serviceUrl);
192:
193: httpResponseMessage.EnsureSuccessStatusCode();
194:
195: s = await httpResponseMessage.Content.ReadAsStringAsync();
196: }
197: catch (Exception e)
198: {
199: }
200: }
201:
202: return s;
203: }
204:
205: ////////////////////////////////////////////////////////////////////////////
206:
207: /// <summary>
208: ///
209: /// </summary>
210: public static async Task<string> PutAsync<T>(string baseAddress, string serviceUrl, T t)
211: {
212: HttpResponseMessage httpResponseMessage;
213: var s = string.Empty;
214:
215: serviceUrl = SuffixUrlWithSlashIfItContainsDot(serviceUrl);
216:
217: using (var httpClient = new HttpClient())
218: {
219: try
220: {
221: httpClient.BaseAddress = new Uri(baseAddress);
222: httpClient.DefaultRequestHeaders.Accept.Clear();
223: httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
224:
225: HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(t), Encoding.UTF8, "application/json");
226:
227: httpResponseMessage = await httpClient.PutAsJsonAsync(serviceUrl, httpContent);
228: // e.g. httpResponseMessage = await httpClient.PutAsJsonAsync($"api/products/{product.Id}", product);
229:
230: httpResponseMessage.EnsureSuccessStatusCode();
231:
232: s = await httpResponseMessage.Content.ReadAsStringAsync();
233: }
234: catch (Exception e)
235: {
236: }
237: }
238:
239: return s;
240: }
241:
242: ////////////////////////////////////////////////////////////////////////////
243:
244: /// <summary>
245: ///
246: /// </summary>
247: public static async Task<string> PutAsync(string baseAddress, string serviceUrl)
248: {
249: HttpResponseMessage httpResponseMessage;
250: var s = string.Empty;
251:
252: serviceUrl = SuffixUrlWithSlashIfItContainsDot(serviceUrl);
253:
254: using (var httpClient = new HttpClient())
255: {
256: try
257: {
258: httpClient.BaseAddress = new Uri(baseAddress);
259: httpClient.DefaultRequestHeaders.Accept.Clear();
260: httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
261:
262: HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(string.Empty), Encoding.UTF8, "application/json"); // dummy
263:
264: httpResponseMessage = await httpClient.PutAsJsonAsync(serviceUrl, httpContent);
265: // e.g. httpResponseMessage = await httpClient.PutAsJsonAsync($"api/products/{product.Id}", product);
266:
267: httpResponseMessage.EnsureSuccessStatusCode();
268:
269: s = await httpResponseMessage.Content.ReadAsStringAsync();
270: }
271: catch (Exception e)
272: {
273: }
274: }
275:
276: return s;
277: }
278:
279: ////////////////////////////////////////////////////////////////////////////
280:
281: /// <summary>
282: ///
283: /// </summary>
284: public static async Task<string> DeleteAsync(string baseAddress, string serviceUrl)
285: {
286: HttpResponseMessage httpResponseMessage;
287: var s = string.Empty;
288:
289: serviceUrl = SuffixUrlWithSlashIfItContainsDot(serviceUrl);
290:
291: using (var httpClient = new HttpClient())
292: {
293: try
294: {
295: httpClient.BaseAddress = new Uri(baseAddress);
296: httpClient.DefaultRequestHeaders.Accept.Clear();
297: httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
298:
299: httpResponseMessage = await httpClient.DeleteAsync(serviceUrl);
300: // e.g. httpResponseMessage = await client.DeleteAsync($"api/products/{id}");
301:
302: httpResponseMessage.EnsureSuccessStatusCode();
303:
304: s = await httpResponseMessage.Content.ReadAsStringAsync();
305: }
306: catch (Exception e)
307: {
308: }
309: }
310:
311: return s;
312: }
313:
314: ////////////////////////////////////////////////////////////////////////////
315:
316: /// <summary>
317: ///
318: /// </summary>
319: private static string SuffixUrlWithSlashIfItContainsDot(string url)
320: {
321: // - Suffix the URL with a slash e.g. http://somedomain.com/api/people/staff.33311/ instead of http://somedomain.com/api/people/staff.33311 to pass a dot '.'
322:
323: if (!string.IsNullOrEmpty(url))
324: {
325: if (url.Contains(".")) url += "/";
326: }
327:
328: return url;
329: }
330:
331: ////////////////////////////////////////////////////////////////////////////
332: ////////////////////////////////////////////////////////////////////////////
333:
334:
335:
336: ////////////////////////////////////////////////////////////////////////////
337: ////////////////////////////////////////////////////////////////////////////
338:
339: /// <summary>
340: ///
341: /// </summary>
342: public static string Request(string url)
343: {
344: range = false;
345:
346: return ProcessRequest(url, 0, false, null, null);
347: }
348:
349: ////////////////////////////////////////////////////////////////////////////
350:
351: /// <summary>
352: ///
353: /// </summary>
354: public static string Request(string url, int start)
355: {
356: range = true;
357:
358: return ProcessRequest(url, start, false, null, null);
359: }
360:
361: ////////////////////////////////////////////////////////////////////////////
362:
363: /// <summary>
364: ///
365: /// </summary>
366: public static string Request2(string url)
367: {
368: range = true;
369:
370: return ProcessRequest2(url, false);
371: }
372:
373: ////////////////////////////////////////////////////////////////////////////
374:
375: /// <summary>
376: ///
377: /// </summary>
378: public static string Request_Utf8(string url, int start)
379: {
380: range = true;
381:
382: return ProcessRequest(url, start, true, null, null);
383: }
384:
385: ////////////////////////////////////////////////////////////////////////////
386:
387: /// <summary>
388: ///
389: /// </summary>
390: public static string Request(string url, int start, System.Net.Cookie c)
391: {
392: range = true;
393:
394: return ProcessRequest(url, start, false, c, null);
395: }
396:
397: ////////////////////////////////////////////////////////////////////////////
398:
399: /// <summary>
400: ///
401: /// </summary>
402: public static string Request(string url, int start, System.Net.Cookie c1, System.Net.Cookie c2)
403: {
404: range = true;
405:
406: return ProcessRequest(url, start, false, c1, c2);
407: }
408:
409: ////////////////////////////////////////////////////////////////////////////
410:
411: /// <summary>
412: ///
413: /// </summary>
414: public static string Post(string URI, string Parameters)
415: {
416: System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
417: //req.Proxy = new System.Net.WebProxy(ProxyString, true);
418:
419: req.ContentType = "application/x-www-form-urlencoded";
420: req.Method = "POST";
421: //req.Timeout = 3000;
422:
423: byte[] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters);
424: req.ContentLength = bytes.Length;
425:
426: using (System.IO.Stream os = req.GetRequestStream())
427: {
428: os.Write(bytes, 0, bytes.Length);
429: //os.Close();
430: }
431:
432: System.Net.WebResponse resp = null;
433:
434: try
435: {
436: resp = req.GetResponse();
437:
438: if (resp == null) return null;
439:
440: System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream(), Encoding.GetEncoding(1256));
441: return sr.ReadToEnd().Trim();
442: }
443: catch (WebException ex)
444: {
445: string str = ex.Message;
446: }
447:
448: return null;
449: }
450:
451: ////////////////////////////////////////////////////////////////////////////
452:
453: /// <summary>
454: ///
455: /// </summary>
456: public static string Post(string URI, string Parameters, int code_page)
457: {
458: // Sometimes you need to POST in Windows 1256 code page for the process to run
459:
460: System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
461: //req.Proxy = new System.Net.WebProxy(ProxyString, true);
462:
463: req.ContentType = "application/x-www-form-urlencoded";
464: req.Method = "POST";
465: //req.Timeout = 3000;
466:
467: byte[] bytes = System.Text.Encoding.GetEncoding(code_page).GetBytes(Parameters);
468: req.ContentLength = bytes.Length;
469:
470: using (System.IO.Stream os = req.GetRequestStream())
471: {
472: os.Write(bytes, 0, bytes.Length);
473: //os.Close();
474: }
475:
476: System.Net.WebResponse resp = null;
477:
478: try
479: {
480: resp = req.GetResponse();
481:
482: if (resp == null) return null;
483:
484: System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream(), Encoding.GetEncoding(code_page));
485: return sr.ReadToEnd().Trim();
486: }
487: catch (WebException ex)
488: {
489: string str = ex.Message;
490: }
491:
492: return null;
493: }
494:
495: ////////////////////////////////////////////////////////////////////////////
496:
497: /// <summary>
498: ///
499: /// </summary>
500: private static string ProcessRequest(string url, int start, bool utf8, System.Net.Cookie c1, System.Net.Cookie c2)
501: {
502: string text = "";
503:
504: try
505: {
506: Uri ourUri = new Uri(url);
507: // Creates an HttpWebRequest for the specified URL.
508: HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(ourUri);
509:
510: // this code below is very important. It sends a request with a specific cookie in the collection
511: // to demonstrate to the remote server that we have his cookie and we should skip his advertisement.
512: if (c1 != null || c2 != null)
513: {
514: myHttpWebRequest.CookieContainer = new CookieContainer();
515: if (c1 != null) myHttpWebRequest.CookieContainer.Add(c1);
516: if (c2 != null) myHttpWebRequest.CookieContainer.Add(c2);
517: }
518:
519: myHttpWebRequest.Method = "POST";
520: //myHttpWebRequest.Timeout = 5000; // 5 sec
521: //myHttpWebRequest.MaximumResponseHeadersLength = 100; // *1024 (Kilobytes)
522:
523: // set the range of data to be returned if the start and end positions are given
524: if (range) myHttpWebRequest.AddRange(start);
525:
526: myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
527: myHttpWebRequest.ContentLength = 0;
528:
529: HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
530:
531: if (myHttpWebRequest.HaveResponse)
532: {
533: Stream receiveStream = myHttpWebResponse.GetResponseStream();
534: Encoding encode;
535:
536: if (utf8) encode = System.Text.Encoding.GetEncoding("utf-8");
537: else encode = System.Text.Encoding.GetEncoding(1252); // 1252 best for western char
538:
539: // Pipes the stream to a higher level stream reader with the required encoding format.
540: using (StreamReader readStream = new StreamReader(receiveStream, encode))
541: {
542: text = readStream.ReadToEnd().Trim(); // ONE
543:
544: /*
545: // TWO
546: Char[] read = new Char[256];
547: // Reads 256 characters at a time.
548: int count = readStream.Read( read, 0, 256 );
549:
550: while (count > 0)
551: {
552: // Dumps the 256 characters on a string and displays the string to the console.
553: String str = new String(read, 0, count);
554: text += str;
555: count = readStream.Read(read, 0, 256);
556: }
557: */
558:
559: // Releases the resources of the response.
560: //myHttpWebResponse.Close();
561: }
562: }
563: else
564: {
565: text = "\nResponse not received from server";
566: }
567: }
568: catch (WebException e)
569: {
570: HttpWebResponse response = (HttpWebResponse)e.Response;
571: if (response != null)
572: {
573: if (response.StatusCode == HttpStatusCode.Unauthorized)
574: {
575: string challenge = null;
576: challenge = response.GetResponseHeader("WWW-Authenticate");
577: if (challenge != null) text = "\nThe following challenge was raised by the server: " + challenge;
578: }
579: else text = "\nThe following WebException was raised : " + e.Message;
580: }
581: else text = "\nResponse Received from server was null";
582: }
583: catch (Exception e)
584: {
585: text = "\nThe following Exception was raised : " + e.Message;
586: }
587:
588: return text;
589: }
590:
591: ////////////////////////////////////////////////////////////////////////////
592:
593: /// <summary>
594: ///
595: /// </summary>
596: private static string ProcessRequest2(string url, bool utf8)
597: {
598: string text = "";
599:
600: try
601: {
602: Uri ourUri = new Uri(url);
603: // Creates an HttpWebRequest for the specified URL.
604: HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(ourUri);
605:
606: //myHttpWebRequest.Method = "POST";
607: //myHttpWebRequest.Timeout = 5000; // 5 sec
608: //myHttpWebRequest.MaximumResponseHeadersLength = 100; // *1024 (Kilobytes)
609:
610: // set the range of data to be returned if the start and end positions are given
611: //if (range) myHttpWebRequest.AddRange(start);
612:
613: myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
614: myHttpWebRequest.ContentLength = 0;
615:
616: HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
617:
618: if (myHttpWebRequest.HaveResponse)
619: {
620: Stream receiveStream = myHttpWebResponse.GetResponseStream();
621: Encoding encode;
622:
623: if (utf8) encode = System.Text.Encoding.GetEncoding("utf-8");
624: else encode = System.Text.Encoding.GetEncoding(1252); // 1252 best for western char
625:
626: // Pipes the stream to a higher level stream reader with the required encoding format.
627: using (StreamReader readStream = new StreamReader(receiveStream, encode))
628: {
629: text = readStream.ReadToEnd().Trim(); // ONE
630:
631: /*
632: // TWO
633: Char[] read = new Char[256];
634: // Reads 256 characters at a time.
635: int count = readStream.Read( read, 0, 256 );
636:
637: while (count > 0)
638: {
639: // Dumps the 256 characters on a string and displays the string to the console.
640: String str = new String(read, 0, count);
641: text += str;
642: count = readStream.Read(read, 0, 256);
643: }
644: */
645:
646: // Releases the resources of the response.
647: //myHttpWebResponse.Close();
648: }
649: }
650: else
651: {
652: text = "\nResponse not received from server";
653: }
654: }
655: catch (WebException e)
656: {
657: HttpWebResponse response = (HttpWebResponse)e.Response;
658: if (response != null)
659: {
660: if (response.StatusCode == HttpStatusCode.Unauthorized)
661: {
662: string challenge = null;
663: challenge = response.GetResponseHeader("WWW-Authenticate");
664: if (challenge != null) text = "\nThe following challenge was raised by the server: " + challenge;
665: }
666: else text = "\nThe following WebException was raised : " + e.Message;
667: }
668: else text = "\nResponse Received from server was null";
669: }
670: catch (Exception e)
671: {
672: text = "\nThe following Exception was raised : " + e.Message;
673: }
674:
675: return text;
676: }
677:
678: ////////////////////////////////////////////////////////////////////////////
679:
680: /// <summary>
681: ///
682: /// </summary>
683: private static int Get(string url, out string text, out string result)
684: {
685: int op;
686:
687: op = 0;
688: result = "";
689: text = "";
690:
691: try
692: {
693: Uri ourUri = new Uri(url);
694: // Creates an HttpWebRequest for the specified URL.
695: HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(ourUri);
696: HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
697:
698: Stream receiveStream = myHttpWebResponse.GetResponseStream();
699: Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
700:
701: // Pipes the stream to a higher level stream reader with the required encoding format.
702: using (StreamReader readStream = new StreamReader(receiveStream, encode))
703: {
704: Char[] read = new Char[256];
705: // Reads 256 characters at a time.
706: int count = readStream.Read(read, 0, 256);
707:
708: while (count > 0)
709: {
710: // Dumps the 256 characters on a string and displays the string to the console.
711: String str = new String(read, 0, count);
712: text += str;
713: count = readStream.Read(read, 0, 256);
714: }
715:
716: // Releases the resources of the response.
717: //myHttpWebResponse.Close();
718: }
719:
720: op = 1;
721: }
722: catch (WebException e)
723: {
724: HttpWebResponse response = (HttpWebResponse)e.Response;
725: if (response != null)
726: {
727: if (response.StatusCode == HttpStatusCode.Unauthorized)
728: {
729: string challenge = null;
730: challenge = response.GetResponseHeader("WWW-Authenticate");
731: if (challenge != null) result = "The following challenge was raised by the server: " + challenge;
732: }
733: else result = "The following WebException was raised : " + e.Message;
734: }
735: else result = "Response Received from server was null";
736:
737: op = -1;
738: }
739: catch (Exception e)
740: {
741: result = "The following Exception was raised : " + e.Message;
742: op = -1;
743: }
744:
745: return op;
746: }
747:
748: ////////////////////////////////////////////////////////////////////////////
749: ////////////////////////////////////////////////////////////////////////////
750: }
751: }
- 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) :