Public general use code classes and xml files that we've compiled and used over the years:
Gmail API support class
1: using global::Google.Apis.Auth.OAuth2;
2: using global::Google.Apis.Gmail.v1;
3: using global::Google.Apis.Gmail.v1.Data;
4: using global::Google.Apis.Services;
5: using global::Google.Apis.Util.Store;
6: using System;
7: using System.Collections.Generic;
8: using System.IO;
9: using System.Text;
10: using System.Threading;
11:
12: namespace Ia.Cl.Models
13: {
14: ////////////////////////////////////////////////////////////////////////////
15:
16: /// <summary publish="true">
17: /// Gmail API support class
18: /// </summary>
19: ///
20: /// <remarks>
21: /// Copyright © 2017-2018 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
22: ///
23: /// 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
24: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
25: ///
26: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
27: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
28: ///
29: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
30: ///
31: /// Copyright notice: This notice may not be removed or altered from any source distribution.
32: /// </remarks>
33: public class Gmail
34: {
35: //private string serverUser, defaultMailbox;
36:
37: // If modifying these scopes, delete your previously saved credentials at ~/.credentials/gmail-dotnet-quickstart.json
38: private static string[] scopeList;
39: private static string applicationName;
40: private GmailService service;
41: private UsersResource.LabelsResource.ListRequest request;
42: private UsersResource.MessagesResource.SendRequest sendRequest;
43:
44: ////////////////////////////////////////////////////////////////////////////
45:
46: /// <summary>
47: ///
48: /// </summary>
49: public enum MailType
50: {
51: ////////////////////////////////////////////////////////////////////////////
52:
53: /// <summary>
54: ///
55: /// </summary>
56: Plain,
57:
58: ////////////////////////////////////////////////////////////////////////////
59:
60: /// <summary>
61: ///
62: /// </summary>
63: Html
64:
65: ////////////////////////////////////////////////////////////////////////////
66: ////////////////////////////////////////////////////////////////////////////
67: };
68:
69: ////////////////////////////////////////////////////////////////////////////
70:
71: /// <summary>
72: ///
73: /// </summary>
74: public Gmail()
75: {
76: /*
77: * app.config
78: * <add key="imapServerUser" value="*" />
79: */
80:
81: // serverUser = ConfigurationManager.AppSettings["imapServerUser"].ToString();
82:
83: UserCredential credential;
84:
85: //defaultMailbox = "Inbox";
86:
87: scopeList = new string[] { GmailService.Scope.GmailReadonly, GmailService.Scope.GmailSend };
88:
89: applicationName = "Gmail API .NET Quickstart";
90:
91: using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
92: {
93: string credPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
94:
95: credPath = Path.Combine(credPath, ".credentials/gmail-dotnet-quickstart.json");
96:
97: credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, scopeList, "ofn.gov.kw@gmail.com", CancellationToken.None, new FileDataStore(credPath, true)).Result;
98:
99: Console.WriteLine("Credential file saved to: " + credPath);
100: }
101:
102: // Create Gmail API service.
103: service = new GmailService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = applicationName });
104:
105: // Define parameters of request.
106: request = service.Users.Labels.List("me");
107: }
108:
109: ////////////////////////////////////////////////////////////////////////////
110:
111: /// <summary>
112: ///
113: /// </summary>
114: public void SendEmail(string name, string email, string subject, string content)
115: {
116: global::Google.Apis.Gmail.v1.Data.Message mailMessage = new global::Google.Apis.Gmail.v1.Data.Message();
117:
118: mailMessage.Payload = new MessagePart();
119: mailMessage.Payload.Headers = new List<MessagePartHeader>();
120:
121: mailMessage.Payload.Headers.Add(new MessagePartHeader() { Name = "From", Value = "ofn.gov.kw@gmail.com" });
122: mailMessage.Payload.Headers.Add(new MessagePartHeader() { Name = "Date", Value = DateTime.UtcNow.AddHours(3).ToString() });
123: mailMessage.Payload.Headers.Add(new MessagePartHeader() { Name = "Subject", Value = "Testing..." });
124: mailMessage.Payload.Headers.Add(new MessagePartHeader() { Name = "To", Value = email });
125:
126: mailMessage.Payload.Body = new MessagePartBody();
127: mailMessage.Payload.Body.Data = content;
128: //mailMessage.Payload.Body.Data...IsBodyHtml = (mailType == MailType.Html);
129:
130: /*
131: foreach (System.Net.Mail.Attachment attachment in email.Attachments)
132: {
133: mailMessage.Attachments.Add(attachment);
134: }
135: */
136:
137: //var mimeMessage = global::Google.Apis.Gmail.v1.Data.MimeMessage.CreateFromMailMessage(mailMessage);
138:
139: /*
140: var gmailMessage = new global::Google.Apis.Gmail.v1.Data.Message
141: {
142: Raw = Encode(mimeMessage.ToString())
143: };
144: */
145:
146: sendRequest = service.Users.Messages.Send(mailMessage, "ofn.gov.kw@gmail.com");
147:
148: sendRequest.Execute();
149: }
150:
151: ////////////////////////////////////////////////////////////////////////////
152:
153: /// <summary>
154: ///
155: /// </summary>
156: public static string Encode(string text)
157: {
158: byte[] bytes = System.Text.Encoding.UTF8.GetBytes(text);
159:
160: return System.Convert.ToBase64String(bytes)
161: .Replace('+', '-')
162: .Replace('/', '_')
163: .Replace("=", "");
164: }
165:
166: ////////////////////////////////////////////////////////////////////////////
167:
168: /// <summary>
169: ///
170: /// </summary>
171: public List<string> LabelList
172: {
173: get
174: {
175: // case sensitive
176:
177: List<string> labelList;
178: IList<Label> labelIList;
179:
180: labelList = new List<string>();
181: labelIList = request.Execute().Labels;
182:
183: Console.WriteLine("Labels:");
184:
185: if (labelIList != null && labelIList.Count > 0)
186: {
187: foreach (var labelItem in labelIList)
188: {
189: labelList.Add(labelItem.Name);
190: Console.WriteLine("{0}", labelItem.Name);
191: }
192: }
193: else
194: {
195: Console.WriteLine("No labels found.");
196: }
197:
198: return labelList;
199: }
200: }
201:
202: ////////////////////////////////////////////////////////////////////////////
203:
204: /// <summary>
205: ///
206: /// </summary>
207: public void Test()
208: {
209: string body, from, date, subject;
210: UsersResource.MessagesResource.ListRequest listRequest;
211: ListMessagesResponse listMessagesResponse;
212:
213: from = date = string.Empty;
214:
215: listRequest = service.Users.Messages.List("ofn.gov.kw@gmail.com");
216: listRequest.LabelIds = "SENT"; // case sensitive
217: listRequest.IncludeSpamTrash = false;
218:
219: listMessagesResponse = listRequest.Execute();
220:
221: if (listMessagesResponse != null && listMessagesResponse.Messages != null)
222: {
223: //loop through each email and get what fields you want...
224: foreach (var email in listMessagesResponse.Messages)
225: {
226: var emailInfoRequest = service.Users.Messages.Get("ofn.gov.kw@gmail.com", email.Id);
227: var emailInfoResponse = emailInfoRequest.Execute();
228:
229: if (emailInfoResponse != null)
230: {
231: //loop through the headers to get from, date, subject, body
232:
233: foreach (var messagePartHeader in emailInfoResponse.Payload.Headers)
234: {
235: if (messagePartHeader.Name == "Date") date = messagePartHeader.Value;
236: else if (messagePartHeader.Name == "From") from = messagePartHeader.Value;
237: else if (messagePartHeader.Name == "Subject") subject = messagePartHeader.Value;
238:
239: if (date != "" && from != "")
240: {
241: if (emailInfoResponse.Payload.MimeType == "text/html")
242: {
243: if (emailInfoResponse.Payload.Parts == null && emailInfoResponse.Payload.Body != null)
244: {
245: body = emailInfoResponse.Payload.Body.Data;
246: }
247: else
248: {
249: body = GetNestedParts(emailInfoResponse.Payload.Parts, "");
250: }
251:
252: byte[] data = FromBase64ForUrlString(body);
253: string decodedString = Encoding.UTF8.GetString(data);
254: }
255: }
256: else
257: {
258:
259: }
260: }
261: }
262: }
263: }
264: }
265:
266: ////////////////////////////////////////////////////////////////////////////
267:
268: /// <summary>
269: ///
270: /// </summary>
271: private static String GetNestedParts(IList<MessagePart> part, string curr)
272: {
273: string s;
274:
275: s = curr;
276:
277: if (part == null)
278: {
279: return s;
280: }
281: else
282: {
283: foreach (var partList in part)
284: {
285: if (partList.Parts == null)
286: {
287: if (partList.Body != null && partList.Body.Data != null)
288: {
289: s += partList.Body.Data;
290: }
291: }
292: else
293: {
294: return GetNestedParts(partList.Parts, s);
295: }
296: }
297:
298: return s;
299: }
300: }
301:
302: ////////////////////////////////////////////////////////////////////////////
303:
304: /// <summary>
305: ///
306: /// </summary>
307: public List<string> MailboxList
308: {
309: get
310: {
311: List<string> mailboxList;
312:
313: mailboxList = new List<string>();
314:
315: //foreach (Mailbox mailbox in imap.Mailboxes) mailboxList.Add(mailbox.Name);
316:
317: return mailboxList;
318: }
319: }
320:
321: /*
322: ////////////////////////////////////////////////////////////////////////////
323:
324: /// <summary>
325: ///
326: /// </summary>
327: public void CreateMailbox(string mailboxName)
328: {
329: imap.CreateMailbox(mailboxName);
330: }
331:
332: ////////////////////////////////////////////////////////////////////////////
333:
334: /// <summary>
335: ///
336: /// </summary>
337: public string DeleteMailbox(string mailboxName)
338: {
339: return imap.DeleteMailbox(mailboxName);
340: }
341:
342: ////////////////////////////////////////////////////////////////////////////
343:
344: /// <summary>
345: ///
346: /// </summary>
347: public Header ReadHeader(Mailbox mailbox, int i)
348: {
349: Header header;
350: ActiveUp.Net.Mail.Header aHeader;
351:
352: header = new Header();
353:
354: try
355: {
356: aHeader = mailbox.Fetch.HeaderObject(i);
357:
358: header.MessageId = aHeader.MessageId;
359: header.From = aHeader.From.Email;
360: header.Subject = aHeader.Subject;
361: }
362: catch (Imap4Exception iex)
363: {
364: }
365: catch (Exception ex)
366: {
367: }
368: finally
369: {
370: }
371:
372: return header;
373: }
374:
375: ////////////////////////////////////////////////////////////////////////////
376:
377: /// <summary>
378: ///
379: /// </summary>
380: public int MoveMessagesFromEmailToMailbox(string email, string destinationMailboxName)
381: {
382: int numberOfMessagesMoved;
383: int[] messageOrdinalList;
384: string searchPhrase;
385: Mailbox mailbox;
386:
387: numberOfMessagesMoved = 0;
388:
389: mailbox = imap.SelectMailbox(defaultMailbox);
390:
391: searchPhrase = @"FROM """ + email + @"""";
392:
393: messageOrdinalList = mailbox.Search(searchPhrase);
394:
395: if (messageOrdinalList != null && messageOrdinalList.Length > 0)
396: {
397: // read message and check that from-email value before moving
398: for (int i = messageOrdinalList.Length - 1; i >= 0; i--)
399: {
400: MoveMessage(mailbox, messageOrdinalList[i], destinationMailboxName);
401: numberOfMessagesMoved++;
402: }
403: }
404:
405: return numberOfMessagesMoved;
406: }
407:
408: ////////////////////////////////////////////////////////////////////////////
409:
410: /// <summary>
411: ///
412: /// </summary>
413: public void MoveMessage(string messageId, string destinationMailboxName)
414: {
415: int[] messageOrdinalList;
416: string searchPhrase;
417: Mailbox mailbox;
418: ActiveUp.Net.Mail.Header header;
419:
420: mailbox = imap.SelectMailbox(defaultMailbox);
421:
422: searchPhrase = @"ALL";
423:
424: messageOrdinalList = mailbox.Search(searchPhrase);
425:
426: if (messageOrdinalList != null && messageOrdinalList.Length > 0)
427: {
428: for (int i = messageOrdinalList.Length - 1; i >= 0; i--)
429: {
430: header = mailbox.Fetch.HeaderObject(messageOrdinalList[i]);
431:
432: if (header.MessageId == messageId)
433: {
434: MoveMessage(mailbox, messageOrdinalList[i], destinationMailboxName);
435:
436: break;
437: }
438: }
439: }
440: }
441:
442: ////////////////////////////////////////////////////////////////////////////
443:
444: /// <summary>
445: ///
446: /// </summary>
447: public void MoveMessage(Mailbox mailbox, int messageOrdinal, string destinationMailboxName)
448: {
449: mailbox.MoveMessage(messageOrdinal, destinationMailboxName);
450: }
451:
452: ////////////////////////////////////////////////////////////////////////////
453:
454: /// <summary>
455: /// Message list from Inbox
456: /// </summary>
457: public void MessageList(out List<Message> messageList)
458: {
459: string searchPhrase;
460:
461: searchPhrase = "ALL";
462:
463: SearchPhraseMessageList(searchPhrase, out messageList);
464: }
465:
466: ////////////////////////////////////////////////////////////////////////////
467:
468: /// <summary>
469: /// List of messages from Inbox that were sent from email
470: /// </summary>
471: public void MessageList(string email, out List<Message> messageList)
472: {
473: string searchPhrase;
474:
475: searchPhrase = @"FROM """ + email + @"""";
476:
477: SearchPhraseMessageList(searchPhrase, out messageList);
478: }
479:
480: ////////////////////////////////////////////////////////////////////////////
481:
482: /// <summary>
483: ///
484: /// </summary>
485: private void SearchPhraseMessageList(string searchPhrase, out List<Message> messageList)
486: {
487: Message message;
488: Mailbox mailbox;
489: MessageCollection messageCollection;
490:
491: messageList = new List<Message>();
492:
493: mailbox = imap.SelectMailbox(defaultMailbox);
494:
495: try
496: {
497: messageCollection = mailbox.SearchParse(searchPhrase);
498:
499: foreach (ActiveUp.Net.Mail.Message m in messageCollection)
500: {
501: message = new Message();
502:
503: message.MessageId = m.MessageId;
504: message.From = m.From.Email;
505: message.Subject = m.Subject;
506: message.BodyText = m.BodyText.TextStripped;
507: message.Date = m.Date;
508: message.ReceivedDate = m.ReceivedDate;
509:
510: foreach (ActiveUp.Net.Mail.MimePart mp in m.Attachments)
511: {
512: //if (mp.IsText)
513: //{
514: message.Attachments.Add(new Attachment
515: {
516: FileName = mp.Filename,
517: ContentType = mp.ContentType.MimeType,
518: Content = mp.TextContent
519: });
520: //}
521: }
522:
523: messageList.Add(message);
524:
525: this.Log(string.Format("Success: Message read: {0},{1},{2}", m.MessageId, m.From, m.Subject));
526: }
527: }
528: catch (Imap4Exception iex)
529: {
530: this.Log(string.Format("Imap4 Error: {0}", iex.Message));
531: }
532: catch (Exception ex)
533: {
534: this.Log(string.Format("Failed: {0}", ex.Message));
535: }
536: finally
537: {
538: }
539: }
540:
541: ////////////////////////////////////////////////////////////////////////////
542:
543: /// <summary>
544: ///
545: /// </summary>
546: public List<Header> HeaderList(Mailbox mailbox)
547: {
548: Header header;
549: List<Header> headerList;
550: ActiveUp.Net.Mail.Header aHeader;
551:
552: headerList = new List<Header>(mailbox.MessageCount);
553:
554: try
555: {
556: for (int i = 1; i <= mailbox.MessageCount; i++)
557: {
558: header = new Header();
559:
560: aHeader = mailbox.Fetch.MessageObject(i);
561:
562: header.MessageId = aHeader.MessageId;
563: header.From = aHeader.From.Email;
564: header.Subject = aHeader.Subject;
565:
566: this.Log(string.Format("Success: Header read: {0},{1},{2}", header.MessageId, header.From, header.Subject));
567: }
568: }
569: catch (Imap4Exception iex)
570: {
571: }
572: catch (Exception ex)
573: {
574: }
575: finally
576: {
577: }
578:
579: return headerList;
580: }
581:
582: ////////////////////////////////////////////////////////////////////////////
583:
584: /// <summary>
585: ///
586: /// </summary>
587: public void DeleteMessage(string messageId)
588: {
589: int[] messageOrdinalList;
590: string searchPhrase;
591: Mailbox mailbox;
592: ActiveUp.Net.Mail.Header header;
593:
594: mailbox = imap.SelectMailbox(defaultMailbox);
595:
596: searchPhrase = @"ALL";
597:
598: messageOrdinalList = mailbox.Search(searchPhrase);
599:
600: if (messageOrdinalList != null && messageOrdinalList.Length > 0)
601: {
602: for (int i = messageOrdinalList.Length - 1; i >= 0; i--)
603: {
604: header = mailbox.Fetch.HeaderObject(messageOrdinalList[i]);
605:
606: if (header.MessageId == messageId)
607: {
608: DeleteMessage(mailbox, messageOrdinalList[i]);
609: }
610: }
611: }
612: }
613:
614: ////////////////////////////////////////////////////////////////////////////
615:
616: /// <summary>
617: ///
618: /// </summary>
619: private void DeleteMessage(Mailbox mailbox, int messageOrdinal)
620: {
621: mailbox.DeleteMessage(messageOrdinal, true);
622: }
623: */
624:
625: ////////////////////////////////////////////////////////////////////////////
626:
627: /// <summary>
628: ///
629: /// </summary>
630: public static byte[] FromBase64ForUrlString(string base64ForUrlInput)
631: {
632: int padChars = (base64ForUrlInput.Length % 4) == 0 ? 0 : (4 - (base64ForUrlInput.Length % 4));
633: StringBuilder result = new StringBuilder(base64ForUrlInput, base64ForUrlInput.Length + padChars);
634:
635: result.Append(String.Empty.PadRight(padChars, '='));
636: result.Replace('-', '+');
637: result.Replace('_', '/');
638:
639: return Convert.FromBase64String(result.ToString());
640: }
641:
642: ////////////////////////////////////////////////////////////////////////////
643: ////////////////////////////////////////////////////////////////////////////
644: }
645: }
- 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) :