شركة التطبيقات المتكاملة لتصميم النظم البرمجية الخاصة ش.ش.و.

Integrated Applications Programming Company

Skip Navigation LinksHome » Code Library » CompanyInformation

Public general use code classes and xml files that we've compiled and used over the years:

CompanyInformation Support class for TentPlay data model

   1:  using System;
   2:  using System.Xml.Linq;
   3:  using System.IO;
   4:  using System.Reflection;
   5:   
   6:  namespace Ia.TentPlay.Cl.Model.Data
   7:  {
   8:      ////////////////////////////////////////////////////////////////////////////
   9:   
  10:      /// <summary publish="true">
  11:      /// CompanyInformation Support class for TentPlay data model
  12:      /// </summary>
  13:      /// 
  14:      /// <remarks> 
  15:      /// Copyright © 2006-2018 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
  16:      ///
  17:      /// 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
  18:      /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  19:      ///
  20:      /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  21:      /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  22:      /// 
  23:      /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
  24:      /// 
  25:      /// Copyright notice: This notice may not be removed or altered from any source distribution.
  26:      /// </remarks> 
  27:      public static class CompanyInformation
  28:      {
  29:          private static string companyName, companyEmail, companyUrl, applicationCompanyName, applicationCompanyEmail, applicationCompanyUrl, facebookProfileUrl, facebookProfileId, instagramUserName, twitterUserName, pinterestUserName, applicationDownloadLink;
  30:          private static XDocument xDocument;
  31:   
  32:          /// <summary/>
  33:          public static string CompanyName
  34:          {
  35:              get
  36:              {
  37:                  if (string.IsNullOrEmpty(companyName)) RetrieveCompanyInformationFromXml();
  38:   
  39:                  return companyName;
  40:              }
  41:          }
  42:   
  43:          /// <summary/>
  44:          public static string CompanyEmail
  45:          {
  46:              get
  47:              {
  48:                  if (string.IsNullOrEmpty(companyEmail)) RetrieveCompanyInformationFromXml();
  49:   
  50:                  return companyEmail;
  51:              }
  52:          }
  53:   
  54:          /// <summary/>
  55:          public static string CompanyUrl
  56:          {
  57:              get
  58:              {
  59:                  if (string.IsNullOrEmpty(companyUrl)) RetrieveCompanyInformationFromXml();
  60:   
  61:                  return companyUrl;
  62:              }
  63:          }
  64:   
  65:          /// <summary/>
  66:          public static string ApplicationCompanyName
  67:          {
  68:              get
  69:              {
  70:                  if (string.IsNullOrEmpty(applicationCompanyName)) RetrieveCompanyInformationFromXml();
  71:   
  72:                  return applicationCompanyName;
  73:              }
  74:          }
  75:   
  76:          /// <summary/>
  77:          public static string ApplicationCompanyEmail
  78:          {
  79:              get
  80:              {
  81:                  if (string.IsNullOrEmpty(applicationCompanyEmail)) RetrieveCompanyInformationFromXml();
  82:   
  83:                  return applicationCompanyEmail;
  84:              }
  85:          }
  86:   
  87:          /// <summary/>
  88:          public static string ApplicationCompanyUrl
  89:          {
  90:              get
  91:              {
  92:                  if (string.IsNullOrEmpty(applicationCompanyUrl)) RetrieveCompanyInformationFromXml();
  93:   
  94:                  return applicationCompanyUrl;
  95:              }
  96:          }
  97:   
  98:          /// <summary/>
  99:          public static string FacebookProfileUrl
 100:          {
 101:              get
 102:              {
 103:                  if (string.IsNullOrEmpty(facebookProfileUrl)) RetrieveCompanyInformationFromXml();
 104:   
 105:                  return facebookProfileUrl;
 106:              }
 107:          }
 108:   
 109:          /// <summary/>
 110:          public static string FacebookProfileId
 111:          {
 112:              get
 113:              {
 114:                  if (string.IsNullOrEmpty(facebookProfileId)) RetrieveCompanyInformationFromXml();
 115:   
 116:                  return facebookProfileId;
 117:              }
 118:          }
 119:   
 120:          /// <summary/>
 121:          public static string InstagramUserName
 122:          {
 123:              get
 124:              {
 125:                  if (string.IsNullOrEmpty(instagramUserName)) RetrieveCompanyInformationFromXml();
 126:   
 127:                  return instagramUserName;
 128:              }
 129:          }
 130:   
 131:          /// <summary/>
 132:          public static string TwitterUserName
 133:          {
 134:              get
 135:              {
 136:                  if (string.IsNullOrEmpty(twitterUserName)) RetrieveCompanyInformationFromXml();
 137:   
 138:                  return twitterUserName;
 139:              }
 140:          }
 141:   
 142:          /// <summary/>
 143:          public static string PinterestUserName
 144:          {
 145:              get
 146:              {
 147:                  if (string.IsNullOrEmpty(pinterestUserName)) RetrieveCompanyInformationFromXml();
 148:   
 149:                  return pinterestUserName;
 150:              }
 151:          }
 152:   
 153:          /// <summary/>
 154:          public static string ApplicationDownloadLink
 155:          {
 156:              get
 157:              {
 158:                  if (string.IsNullOrEmpty(applicationDownloadLink)) RetrieveCompanyInformationFromXml();
 159:   
 160:                  return applicationDownloadLink;
 161:              }
 162:          }
 163:   
 164:          ////////////////////////////////////////////////////////////////////////////
 165:   
 166:          /// <summary>
 167:          ///
 168:          /// </summary>
 169:          private static void RetrieveCompanyInformationFromXml()
 170:          {
 171:              XElement xElement;
 172:   
 173:              xElement = XDocument.Element("companyInformation");
 174:   
 175:              companyName = xElement.Element("companyName").Value;
 176:              companyEmail = xElement.Element("companyEmail").Value;
 177:              companyUrl = xElement.Element("companyUrl").Value;
 178:   
 179:              applicationCompanyName = xElement.Element("applicationCompanyName").Value;
 180:              applicationCompanyEmail = xElement.Element("applicationCompanyEmail").Value;
 181:              applicationCompanyUrl = xElement.Element("applicationCompanyUrl").Value;
 182:   
 183:              facebookProfileUrl = xElement.Element("facebookProfileUrl").Value;
 184:              facebookProfileId = xElement.Element("facebookProfileId").Value;
 185:              instagramUserName = xElement.Element("instagramUserName").Value;
 186:              twitterUserName = xElement.Element("twitterUserName").Value;
 187:              pinterestUserName = xElement.Element("pinterestUserName").Value;
 188:   
 189:              applicationDownloadLink = xElement.Element("applicationDownloadLink").Value;
 190:          }
 191:   
 192:          ////////////////////////////////////////////////////////////////////////////
 193:          ////////////////////////////////////////////////////////////////////////////
 194:   
 195:          /// <summary>
 196:          /// 
 197:          /// How to embed and access resources by using Visual C# http://support.microsoft.com/kb/319292/en-us
 198:          /// 
 199:          /// 1. Change the "Build Action" property of your XML file from "Content" to "Embedded Resource".
 200:          /// 2. Add "using System.Reflection".
 201:          /// 3. Manifest resource stream will start with the project namespace, the location of XML file.
 202:          /// 
 203:          /// </summary>
 204:   
 205:          private static XDocument XDocument
 206:          {
 207:              get
 208:              {
 209:                  Assembly _assembly;
 210:                  StreamReader streamReader;
 211:   
 212:                  if (xDocument == null)
 213:                  {
 214:                      _assembly = Assembly.GetExecutingAssembly();
 215:                      streamReader = new StreamReader(_assembly.GetManifestResourceStream("Ia.TentPlay.Cl.model.data.company-information.xml"));
 216:   
 217:                      try
 218:                      {
 219:                          if (streamReader.Peek() != -1) xDocument = System.Xml.Linq.XDocument.Load(streamReader);
 220:                      }
 221:                      catch (Exception)
 222:                      {
 223:                      }
 224:                      finally
 225:                      {
 226:                      }
 227:                  }
 228:   
 229:                  return xDocument;
 230:              }
 231:          }
 232:   
 233:          ////////////////////////////////////////////////////////////////////////////
 234:          ////////////////////////////////////////////////////////////////////////////    
 235:      }
 236:  }