)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Skip Navigation LinksHome » Code Library » FeatureDesignation

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

FeatureDesignation Support class for TentPlay Trek data model

    1: using System;
    2: using System.Collections.Generic;
    3: using System.Linq;
    4: using System.Text;
    5: using System.Xml.Linq;
    6: using System.IO;
    7: using System.Reflection;
    8: using System.Collections;
    9:  
   10: namespace Ia.TentPlay.Cl.Model.Data.Trek
   11: {
   12:     ////////////////////////////////////////////////////////////////////////////
   13:  
   14:     /// <summary publish="true">
   15:     /// FeatureDesignation Support class for TentPlay Trek data model
   16:     /// </summary>
   17:     /// 
   18:     /// <remarks> 
   19:     /// Copyright © 2006-2017 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 FeatureDesignation
   32:     {
   33:         private static XDocument xDocument;
   34:         private static List<Ia.TentPlay.Cl.Model.Trek.FeatureDesignation> list;
   35:         private static List<Ia.Cl.Model.Language> languageList;
   36:  
   37:         ////////////////////////////////////////////////////////////////////////////
   38:  
   39:         /// <summary>
   40:         ///
   41:         /// </summary>
   42:         public FeatureDesignation() { }
   43:  
   44:         ////////////////////////////////////////////////////////////////////////////
   45:  
   46:         /// <summary>
   47:         ///
   48:         /// </summary>
   49:         public static List<Ia.TentPlay.Cl.Model.Trek.FeatureDesignation> ListFromDatabase(out Ia.Cl.Model.Result result)
   50:         {
   51:             result = new Ia.Cl.Model.Result();
   52:  
   53:             list = new List<Ia.TentPlay.Cl.Model.Trek.FeatureDesignation>();
   54:  
   55:             using (var db = new Ia.TentPlay.Db())
   56:             {
   57:                 list = (from nfdc in db.FeatureDesignations select nfdc).ToList();
   58:             }
   59:  
   60:             result.AddSuccess("FeatureDesignation count: " + list.Count);
   61:  
   62:             return list;
   63:         }
   64:  
   65:         ////////////////////////////////////////////////////////////////////////////
   66:  
   67:         /// <summary>
   68:         ///
   69:         /// </summary>
   70:         public static List<Ia.Cl.Model.Language> LanguageList
   71:         {
   72:             get
   73:             {
   74:                 if (languageList == null || languageList.Count == 0)
   75:                 {
   76:                     languageList = new List<Ia.Cl.Model.Language>();
   77:  
   78:                     languageList.Add(new Ia.Cl.Model.Language("en"));
   79:                     languageList.Add(new Ia.Cl.Model.Language("ar"));
   80:                     languageList.Add(new Ia.Cl.Model.Language("da"));
   81:  
   82:                     languageList.Add(new Ia.Cl.Model.Language("zh_traditional"));
   83:                     languageList.Add(new Ia.Cl.Model.Language("zh_simplified"));
   84:  
   85:                     languageList.Add(new Ia.Cl.Model.Language("hi"));
   86:                     languageList.Add(new Ia.Cl.Model.Language("ja"));
   87:                     languageList.Add(new Ia.Cl.Model.Language("de"));
   88:                     languageList.Add(new Ia.Cl.Model.Language("ru"));
   89:                     languageList.Add(new Ia.Cl.Model.Language("pt"));
   90:                     languageList.Add(new Ia.Cl.Model.Language("id"));
   91:                     languageList.Add(new Ia.Cl.Model.Language("fr"));
   92:                     languageList.Add(new Ia.Cl.Model.Language("es"));
   93:                     languageList.Add(new Ia.Cl.Model.Language("it"));
   94:                     languageList.Add(new Ia.Cl.Model.Language("ko"));
   95:                     languageList.Add(new Ia.Cl.Model.Language("tr"));
   96:                     languageList.Add(new Ia.Cl.Model.Language("fa"));
   97:                     languageList.Add(new Ia.Cl.Model.Language("th"));
   98:                     languageList.Add(new Ia.Cl.Model.Language("ha"));
   99:                     languageList.Add(new Ia.Cl.Model.Language("ig"));
  100:                     languageList.Add(new Ia.Cl.Model.Language("yo"));
  101:                     languageList.Add(new Ia.Cl.Model.Language("pl"));
  102:                     languageList.Add(new Ia.Cl.Model.Language("ur"));
  103:                     languageList.Add(new Ia.Cl.Model.Language("nl"));
  104:                     languageList.Add(new Ia.Cl.Model.Language("ms"));
  105:                     languageList.Add(new Ia.Cl.Model.Language("tl"));
  106:                     languageList.Add(new Ia.Cl.Model.Language("af"));
  107:                     languageList.Add(new Ia.Cl.Model.Language("zu"));
  108:                     languageList.Add(new Ia.Cl.Model.Language("xh"));
  109:                     languageList.Add(new Ia.Cl.Model.Language("bn"));
  110:                     languageList.Add(new Ia.Cl.Model.Language("vi"));
  111:                     languageList.Add(new Ia.Cl.Model.Language("kk"));
  112:                     languageList.Add(new Ia.Cl.Model.Language("ro"));
  113:                     languageList.Add(new Ia.Cl.Model.Language("no"));
  114:                     languageList.Add(new Ia.Cl.Model.Language("uk"));
  115:                     languageList.Add(new Ia.Cl.Model.Language("cs"));
  116:                     languageList.Add(new Ia.Cl.Model.Language("he"));
  117:                     languageList.Add(new Ia.Cl.Model.Language("el"));
  118:                     languageList.Add(new Ia.Cl.Model.Language("my"));
  119:                     languageList.Add(new Ia.Cl.Model.Language("hu"));
  120:                     languageList.Add(new Ia.Cl.Model.Language("ga"));
  121:                     languageList.Add(new Ia.Cl.Model.Language("si"));
  122:                     languageList.Add(new Ia.Cl.Model.Language("ta"));
  123:                     languageList.Add(new Ia.Cl.Model.Language("fi"));
  124:                     languageList.Add(new Ia.Cl.Model.Language("uz"));
  125:                     languageList.Add(new Ia.Cl.Model.Language("az"));
  126:                     languageList.Add(new Ia.Cl.Model.Language("be"));
  127:                     languageList.Add(new Ia.Cl.Model.Language("sk"));
  128:                     languageList.Add(new Ia.Cl.Model.Language("am"));
  129:                     languageList.Add(new Ia.Cl.Model.Language("sw"));
  130:                     languageList.Add(new Ia.Cl.Model.Language("bg"));
  131:                     languageList.Add(new Ia.Cl.Model.Language("hr"));
  132:                     languageList.Add(new Ia.Cl.Model.Language("lt"));
  133:                     languageList.Add(new Ia.Cl.Model.Language("ne"));
  134:                     languageList.Add(new Ia.Cl.Model.Language("sl"));
  135:                     languageList.Add(new Ia.Cl.Model.Language("ps"));
  136:                     languageList.Add(new Ia.Cl.Model.Language("lb"));
  137:                     languageList.Add(new Ia.Cl.Model.Language("km"));
  138:                     languageList.Add(new Ia.Cl.Model.Language("lv"));
  139:                     languageList.Add(new Ia.Cl.Model.Language("bs"));
  140:                     languageList.Add(new Ia.Cl.Model.Language("et"));
  141:                     languageList.Add(new Ia.Cl.Model.Language("lo"));
  142:                     languageList.Add(new Ia.Cl.Model.Language("mn"));
  143:                     languageList.Add(new Ia.Cl.Model.Language("mg"));
  144:                     languageList.Add(new Ia.Cl.Model.Language("ka"));
  145:                     languageList.Add(new Ia.Cl.Model.Language("sq"));
  146:                     languageList.Add(new Ia.Cl.Model.Language("mk"));
  147:                     languageList.Add(new Ia.Cl.Model.Language("hy"));
  148:                     languageList.Add(new Ia.Cl.Model.Language("tg"));
  149:                     languageList.Add(new Ia.Cl.Model.Language("ky"));
  150:                     languageList.Add(new Ia.Cl.Model.Language("is"));
  151:                     languageList.Add(new Ia.Cl.Model.Language("mt"));
  152:                     languageList.Add(new Ia.Cl.Model.Language("ca"));
  153:                 }
  154:  
  155:                 return languageList;
  156:             }
  157:         }
  158:  
  159:         ////////////////////////////////////////////////////////////////////////////
  160:  
  161:         /// <summary>
  162:         ///
  163:         /// </summary>
  164:         public static List<Ia.TentPlay.Cl.Model.Trek.FeatureDesignation> List
  165:         {
  166:             get
  167:             {
  168:                 if (list == null || list.Count == 0)
  169:                 {
  170:                     Ia.TentPlay.Cl.Model.Trek.FeatureDesignation featureDesignationCode;
  171:  
  172:                     list = new List<Ia.TentPlay.Cl.Model.Trek.FeatureDesignation>();
  173:  
  174:                     foreach (XElement xe in XDocument.Element("featureDesignationList").Elements("featureDesignation"))
  175:                     {
  176:                         featureDesignationCode = new Ia.TentPlay.Cl.Model.Trek.FeatureDesignation();
  177:  
  178:                         featureDesignationCode.Id = xe.Attribute("id").Value;
  179:  
  180:                         featureDesignationCode.En = xe.Attribute("en").Value;
  181:                         featureDesignationCode.Ar = xe.Attribute("ar").Value;
  182:                         featureDesignationCode.Da = xe.Attribute("da").Value;
  183:                         featureDesignationCode.Zh_Simplified = xe.Attribute("zh_simplified").Value;
  184:                         featureDesignationCode.Zh_Traditional = xe.Attribute("zh_traditional").Value;
  185:                         featureDesignationCode.Hi = xe.Attribute("hi").Value;
  186:                         featureDesignationCode.Ja = xe.Attribute("ja").Value;
  187:                         featureDesignationCode.De = xe.Attribute("de").Value;
  188:                         featureDesignationCode.Ru = xe.Attribute("ru").Value;
  189:                         featureDesignationCode.Pt = xe.Attribute("pt").Value;
  190:                         featureDesignationCode._Id = xe.Attribute("_id").Value;
  191:                         featureDesignationCode.Fr = xe.Attribute("fr").Value;
  192:                         featureDesignationCode.Es = xe.Attribute("es").Value;
  193:                         featureDesignationCode.It = xe.Attribute("it").Value;
  194:                         featureDesignationCode.Ko = xe.Attribute("ko").Value;
  195:                         featureDesignationCode.Tr = xe.Attribute("tr").Value;
  196:                         featureDesignationCode.Fa = xe.Attribute("fa").Value;
  197:                         featureDesignationCode.Th = xe.Attribute("th").Value;
  198:                         featureDesignationCode.Ha = xe.Attribute("ha").Value;
  199:                         featureDesignationCode.Ig = xe.Attribute("ig").Value;
  200:                         featureDesignationCode.Yo = xe.Attribute("yo").Value;
  201:                         featureDesignationCode.Pl = xe.Attribute("pl").Value;
  202:                         featureDesignationCode.Ur = xe.Attribute("ur").Value;
  203:                         featureDesignationCode.Nl = xe.Attribute("nl").Value;
  204:                         featureDesignationCode.Ms = xe.Attribute("ms").Value;
  205:                         featureDesignationCode.Tl = xe.Attribute("tl").Value;
  206:                         featureDesignationCode.Af = xe.Attribute("af").Value;
  207:                         featureDesignationCode.Zu = xe.Attribute("zu").Value;
  208:                         featureDesignationCode.Xh = xe.Attribute("xh").Value;
  209:                         featureDesignationCode.Bn = xe.Attribute("bn").Value;
  210:                         featureDesignationCode.Vi = xe.Attribute("vi").Value;
  211:                         featureDesignationCode.Kk = xe.Attribute("kk").Value;
  212:                         featureDesignationCode.Ro = xe.Attribute("ro").Value;
  213:                         featureDesignationCode.No = xe.Attribute("no").Value;
  214:                         featureDesignationCode.Uk = xe.Attribute("uk").Value;
  215:                         featureDesignationCode.Cs = xe.Attribute("cs").Value;
  216:                         featureDesignationCode.He = xe.Attribute("he").Value;
  217:                         featureDesignationCode.El = xe.Attribute("el").Value;
  218:                         featureDesignationCode.My = xe.Attribute("my").Value;
  219:                         featureDesignationCode.Hu = xe.Attribute("hu").Value;
  220:                         featureDesignationCode.Ga = xe.Attribute("ga").Value;
  221:                         featureDesignationCode.Si = xe.Attribute("si").Value;
  222:                         featureDesignationCode.Ta = xe.Attribute("ta").Value;
  223:                         featureDesignationCode.Fi = xe.Attribute("fi").Value;
  224:                         featureDesignationCode.Uz = xe.Attribute("uz").Value;
  225:                         featureDesignationCode.Az = xe.Attribute("az").Value;
  226:                         featureDesignationCode.Be = xe.Attribute("be").Value;
  227:                         featureDesignationCode.Sk = xe.Attribute("sk").Value;
  228:                         featureDesignationCode.Am = xe.Attribute("am").Value;
  229:                         featureDesignationCode.Sw = xe.Attribute("sw").Value;
  230:                         featureDesignationCode.Bg = xe.Attribute("bg").Value;
  231:                         featureDesignationCode.Hr = xe.Attribute("hr").Value;
  232:                         featureDesignationCode.Lt = xe.Attribute("lt").Value;
  233:                         featureDesignationCode.Ne = xe.Attribute("ne").Value;
  234:                         featureDesignationCode.Sl = xe.Attribute("sl").Value;
  235:                         featureDesignationCode.Ps = xe.Attribute("ps").Value;
  236:                         featureDesignationCode.Lb = xe.Attribute("lb").Value;
  237:                         featureDesignationCode.Km = xe.Attribute("km").Value;
  238:                         featureDesignationCode.Lv = xe.Attribute("lv").Value;
  239:                         featureDesignationCode.Bs = xe.Attribute("bs").Value;
  240:                         featureDesignationCode.Et = xe.Attribute("et").Value;
  241:                         featureDesignationCode.Lo = xe.Attribute("lo").Value;
  242:                         featureDesignationCode.Mn = xe.Attribute("mn").Value;
  243:                         featureDesignationCode.Mg = xe.Attribute("mg").Value;
  244:                         featureDesignationCode.Ka = xe.Attribute("ka").Value;
  245:                         featureDesignationCode.Sq = xe.Attribute("sq").Value;
  246:                         featureDesignationCode.Mk = xe.Attribute("mk").Value;
  247:                         featureDesignationCode.Hy = xe.Attribute("hy").Value;
  248:                         featureDesignationCode.Tg = xe.Attribute("tg").Value;
  249:                         featureDesignationCode.Ky = xe.Attribute("ky").Value;
  250:                         featureDesignationCode.Is = xe.Attribute("is").Value;
  251:                         featureDesignationCode.Mt = xe.Attribute("mt").Value;
  252:                         featureDesignationCode.Ca = xe.Attribute("ca").Value;
  253:                         featureDesignationCode.Description = xe.Attribute("enDescription").Value;
  254:                         featureDesignationCode.Class = xe.Attribute("class").Value.Substring(0, 1); // read just the first letter of, say, "A - Administrative"
  255:  
  256:                         featureDesignationCode.Created = DateTime.UtcNow.AddHours(3);
  257:                         featureDesignationCode.Updated = DateTime.UtcNow.AddHours(3);
  258:  
  259:                         list.Add(featureDesignationCode);
  260:                     }
  261:                 }
  262:  
  263:                 return list;
  264:             }
  265:         }
  266:  
  267:         ////////////////////////////////////////////////////////////////////////////
  268:  
  269:         /// <summary>
  270:         ///
  271:         /// </summary>
  272:         public static Hashtable DesignationIdToClassIdHashtable
  273:         {
  274:             get
  275:             {
  276:                 Hashtable ht;
  277:  
  278:                 ht = new Hashtable();
  279:  
  280:                 foreach (Ia.TentPlay.Cl.Model.Trek.FeatureDesignation fd in Ia.TentPlay.Cl.Model.Data.Trek.FeatureDesignation.List)
  281:                 {
  282:                     ht[fd.Id] = fd.Class;
  283:                 }
  284:  
  285:                 return ht;
  286:             }
  287:         }
  288:  
  289:         ////////////////////////////////////////////////////////////////////////////
  290:  
  291:         /// <summary>
  292:         ///
  293:         /// </summary>
  294:         public static Hashtable DesignationIdToDesignationCaptionHashtable(string languageIso6391)
  295:         {
  296:             Hashtable ht;
  297:  
  298:             ht = new Hashtable();
  299:  
  300:             foreach (Ia.TentPlay.Cl.Model.Trek.FeatureDesignation fd in Ia.TentPlay.Cl.Model.Data.Trek.FeatureDesignation.List)
  301:             {
  302:                 switch (languageIso6391)
  303:                 {
  304:                     case "en": ht[fd.Id] = fd.En; break;
  305:                     case "ar": ht[fd.Id] = fd.Ar; break;
  306:                     case "da": ht[fd.Id] = fd.Da; break;
  307:                     case "zh_simplified": ht[fd.Id] = fd.Zh_Simplified; break;
  308:                     case "zh_traditional": ht[fd.Id] = fd.Zh_Traditional; break;
  309:                     case "hi": ht[fd.Id] = fd.Hi; break;
  310:                     case "ja": ht[fd.Id] = fd.Ja; break;
  311:                     case "de": ht[fd.Id] = fd.De; break;
  312:                     case "ru": ht[fd.Id] = fd.Ru; break;
  313:                     case "pt": ht[fd.Id] = fd.Pt; break;
  314:                     case "fr": ht[fd.Id] = fd.Fr; break;
  315:                     case "es": ht[fd.Id] = fd.Es; break;
  316:                     case "it": ht[fd.Id] = fd.It; break;
  317:                     case "ko": ht[fd.Id] = fd.Ko; break;
  318:                     case "tr": ht[fd.Id] = fd.Tr; break;
  319:                     case "fa": ht[fd.Id] = fd.Fa; break;
  320:                     case "th": ht[fd.Id] = fd.Th; break;
  321:                     case "ha": ht[fd.Id] = fd.Ha; break;
  322:                     case "ig": ht[fd.Id] = fd.Ig; break;
  323:                     case "yo": ht[fd.Id] = fd.Yo; break;
  324:                     case "pl": ht[fd.Id] = fd.Pl; break;
  325:                     case "ur": ht[fd.Id] = fd.Ur; break;
  326:                     case "nl": ht[fd.Id] = fd.Nl; break;
  327:                     case "ms": ht[fd.Id] = fd.Ms; break;
  328:                     case "tl": ht[fd.Id] = fd.Tl; break;
  329:                     case "af": ht[fd.Id] = fd.Af; break;
  330:                     case "zu": ht[fd.Id] = fd.Zu; break;
  331:                     case "xh": ht[fd.Id] = fd.Xh; break;
  332:                     case "bn": ht[fd.Id] = fd.Bn; break;
  333:                     case "vi": ht[fd.Id] = fd.Vi; break;
  334:                     case "kk": ht[fd.Id] = fd.Kk; break;
  335:                     case "ro": ht[fd.Id] = fd.Ro; break;
  336:                     case "no": ht[fd.Id] = fd.No; break;
  337:                     case "uk": ht[fd.Id] = fd.Uk; break;
  338:                     case "cs": ht[fd.Id] = fd.Cs; break;
  339:                     case "he": ht[fd.Id] = fd.He; break;
  340:                     case "el": ht[fd.Id] = fd.El; break;
  341:                     case "my": ht[fd.Id] = fd.My; break;
  342:                     case "hu": ht[fd.Id] = fd.Hu; break;
  343:                     case "ga": ht[fd.Id] = fd.Ga; break;
  344:                     case "si": ht[fd.Id] = fd.Si; break;
  345:                     case "ta": ht[fd.Id] = fd.Ta; break;
  346:                     case "fi": ht[fd.Id] = fd.Fi; break;
  347:                     case "uz": ht[fd.Id] = fd.Uz; break;
  348:                     case "az": ht[fd.Id] = fd.Az; break;
  349:                     case "be": ht[fd.Id] = fd.Be; break;
  350:                     case "sk": ht[fd.Id] = fd.Sk; break;
  351:                     case "am": ht[fd.Id] = fd.Am; break;
  352:                     case "sw": ht[fd.Id] = fd.Sw; break;
  353:                     case "bg": ht[fd.Id] = fd.Bg; break;
  354:                     case "hr": ht[fd.Id] = fd.Hr; break;
  355:                     case "lt": ht[fd.Id] = fd.Lt; break;
  356:                     case "ne": ht[fd.Id] = fd.Ne; break;
  357:                     case "sl": ht[fd.Id] = fd.Sl; break;
  358:                     case "ps": ht[fd.Id] = fd.Ps; break;
  359:                     case "lb": ht[fd.Id] = fd.Lb; break;
  360:                     case "km": ht[fd.Id] = fd.Km; break;
  361:                     case "lv": ht[fd.Id] = fd.Lv; break;
  362:                     case "bs": ht[fd.Id] = fd.Bs; break;
  363:                     case "et": ht[fd.Id] = fd.Et; break;
  364:                     case "lo": ht[fd.Id] = fd.Lo; break;
  365:                     case "mn": ht[fd.Id] = fd.Mn; break;
  366:                     case "mg": ht[fd.Id] = fd.Mg; break;
  367:                     case "ka": ht[fd.Id] = fd.Ka; break;
  368:                     case "sq": ht[fd.Id] = fd.Sq; break;
  369:                     case "mk": ht[fd.Id] = fd.Mk; break;
  370:                     case "hy": ht[fd.Id] = fd.Hy; break;
  371:                     case "tg": ht[fd.Id] = fd.Tg; break;
  372:                     case "ky": ht[fd.Id] = fd.Ky; break;
  373:                     case "is": ht[fd.Id] = fd.Is; break;
  374:                     case "mt": ht[fd.Id] = fd.Mt; break;
  375:                     case "ca": ht[fd.Id] = fd.Ca; break;
  376:  
  377:                     default: ht[fd.Id] = fd.En; break;
  378:                 }
  379:             }
  380:  
  381:             return ht;
  382:         }
  383:  
  384:         ////////////////////////////////////////////////////////////////////////////
  385:         ////////////////////////////////////////////////////////////////////////////
  386:  
  387:         /// <summary>
  388:         /// 
  389:         /// How to embed and access resources by using Visual C# http://support.microsoft.com/kb/319292/en-us
  390:         /// 
  391:         /// 1. Change the "Build Action" property of your XML file from "Content" to "Embedded Resource".
  392:         /// 2. Add "using System.Reflection".
  393:         /// 3. Manifest resource stream will start with the project namespace, the location of XML file.
  394:         /// 
  395:         /// </summary>
  396:  
  397:         private static XDocument XDocument
  398:         {
  399:             get
  400:             {
  401:                 Assembly _assembly;
  402:                 StreamReader streamReader;
  403:  
  404:                 if (xDocument == null)
  405:                 {
  406:                     _assembly = Assembly.GetExecutingAssembly();
  407:                     streamReader = new StreamReader(_assembly.GetManifestResourceStream("cl.model.data.trek.feature-designation.xml"));
  408:  
  409:                     try
  410:                     {
  411:                         if (streamReader.Peek() != -1) xDocument = System.Xml.Linq.XDocument.Load(streamReader);
  412:                     }
  413:                     catch (Exception)
  414:                     {
  415:                     }
  416:                     finally
  417:                     {
  418:                     }
  419:                 }
  420:  
  421:                 return xDocument;
  422:             }
  423:         }
  424:  
  425:         ////////////////////////////////////////////////////////////////////////////
  426:         ////////////////////////////////////////////////////////////////////////////    
  427:     }
  428: }