)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Home » Code Library » Miscellaneous (Ia.Ftn.Cl.Models.Data)

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

Miscellaneous Entity Framework class for Fixed Telecommunications Network (FTN) data model.

    1: using System;
    2: using System.Collections.Generic;
    3: using System.Linq;
    4: using System.Text.Json;
    5:  
    6: namespace Ia.Ftn.Cl.Models.Data
    7: {
    8:     ////////////////////////////////////////////////////////////////////////////
    9:  
   10:     /// <summary publish="true">
   11:     /// Miscellaneous Entity Framework class for Fixed Telecommunications Network (FTN) data model.
   12:     /// </summary>
   13:     /// 
   14:     /// <remarks> 
   15:     /// Copyright © 2006-2020 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   16:     /// </remarks> 
   17:     public class Miscellaneous
   18:     {
   19:         /// <summary/>
   20:         public Miscellaneous() { }
   21:  
   22:         ////////////////////////////////////////////////////////////////////////////
   23:  
   24:         /// <summary>
   25:         ///
   26:         /// </summary>
   27:         public static void Create(Ia.Ftn.Cl.Models.Miscellaneous item)
   28:         {
   29:             if (item != null)
   30:             {
   31:                 using (var db = new Ia.Ftn.Cl.Db())
   32:                 {
   33:                     item.Created = item.Updated = DateTime.UtcNow.AddHours(3);
   34:  
   35:                     db.Miscellaneous.Add(item);
   36:                     db.SaveChanges();
   37:                 }
   38:             }
   39:             else throw new System.ArgumentOutOfRangeException("item is null");
   40:         }
   41:  
   42:         ////////////////////////////////////////////////////////////////////////////
   43:  
   44:         /// <summary>
   45:         ///
   46:         /// </summary>
   47:         public static void Create(string name, string value)
   48:         {
   49:             Ia.Ftn.Cl.Models.Miscellaneous misc;
   50:  
   51:             if (!string.IsNullOrEmpty(name))
   52:             {
   53:                 misc = new Ia.Ftn.Cl.Models.Miscellaneous
   54:                 {
   55:                     Name = name,
   56:                     Value = value
   57:                 };
   58:  
   59:                 using (var db = new Ia.Ftn.Cl.Db())
   60:                 {
   61:                     misc.Created = misc.Updated = DateTime.UtcNow.AddHours(3);
   62:  
   63:                     db.Miscellaneous.Add(misc);
   64:                     db.SaveChanges();
   65:                 }
   66:             }
   67:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
   68:         }
   69:  
   70:         ////////////////////////////////////////////////////////////////////////////
   71:  
   72:         /// <summary>
   73:         ///
   74:         /// </summary>
   75:         public static void Create(string name, bool flag)
   76:         {
   77:             Ia.Ftn.Cl.Models.Miscellaneous misc;
   78:  
   79:             if (!string.IsNullOrEmpty(name))
   80:             {
   81:                 misc = new Ia.Ftn.Cl.Models.Miscellaneous
   82:                 {
   83:                     Name = name,
   84:                     Flag = flag
   85:                 };
   86:  
   87:                 using (var db = new Ia.Ftn.Cl.Db())
   88:                 {
   89:                     misc.Created = misc.Updated = DateTime.UtcNow.AddHours(3);
   90:  
   91:                     db.Miscellaneous.Add(misc);
   92:                     db.SaveChanges();
   93:                 }
   94:             }
   95:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
   96:         }
   97:  
   98:         ////////////////////////////////////////////////////////////////////////////
   99:  
  100:         /// <summary>
  101:         ///
  102:         /// </summary>
  103:         public static Ia.Ftn.Cl.Models.Miscellaneous Read(long id)
  104:         {
  105:             Ia.Ftn.Cl.Models.Miscellaneous item;
  106:  
  107:             using (var db = new Ia.Ftn.Cl.Db())
  108:             {
  109:                 item = (from m in db.Miscellaneous where m.Id == id select m).SingleOrDefault();
  110:             }
  111:  
  112:             return item;
  113:         }
  114:  
  115:         ////////////////////////////////////////////////////////////////////////////
  116:  
  117:         /// <summary>
  118:         ///
  119:         /// </summary>
  120:         public static string Read(string name)
  121:         {
  122:             string value;
  123:  
  124:             if (!string.IsNullOrEmpty(name))
  125:             {
  126:                 using (var db = new Ia.Ftn.Cl.Db())
  127:                 {
  128:                     value = (from m in db.Miscellaneous where m.Name == name select m.Value).SingleOrDefault();
  129:                 }
  130:             }
  131:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
  132:  
  133:             return value;
  134:         }
  135:  
  136:         ////////////////////////////////////////////////////////////////////////////
  137:  
  138:         /// <summary>
  139:         ///
  140:         /// </summary>
  141:         public static T Read<T>(string name)
  142:         {
  143:             string json;
  144:             T t;
  145:  
  146:             if (!string.IsNullOrEmpty(name))
  147:             {
  148:                 using (var db = new Ia.Ftn.Cl.Db())
  149:                 {
  150:                     json = (from m in db.Miscellaneous where m.Name == name select m.Value).SingleOrDefault();
  151:  
  152:                     if (json != null) t = JsonSerializer.Deserialize<T>(json);
  153:                     else t = default(T);
  154:                 }
  155:             }
  156:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
  157:  
  158:             return t;
  159:         }
  160:  
  161:         ////////////////////////////////////////////////////////////////////////////
  162:  
  163:         /// <summary>
  164:         ///
  165:         /// </summary>
  166:         public static DateTime ReadUpdatedDateTime(string name)
  167:         {
  168:             DateTime dateTime;
  169:  
  170:             if (!string.IsNullOrEmpty(name))
  171:             {
  172:                 using (var db = new Ia.Ftn.Cl.Db())
  173:                 {
  174:                     dateTime = (from m in db.Miscellaneous where m.Name == name select m.Updated).SingleOrDefault();
  175:                 }
  176:             }
  177:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
  178:  
  179:             return dateTime;
  180:         }
  181:  
  182:         ////////////////////////////////////////////////////////////////////////////
  183:  
  184:         /// <summary>
  185:         ///
  186:         /// </summary>
  187:         public static bool ReadFlag(string name)
  188:         {
  189:             bool flag;
  190:  
  191:             if (!string.IsNullOrEmpty(name))
  192:             {
  193:                 using (var db = new Ia.Ftn.Cl.Db())
  194:                 {
  195:                     flag = (from m in db.Miscellaneous where m.Name == name select m.Flag).SingleOrDefault();
  196:                 }
  197:             }
  198:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
  199:  
  200:             return flag;
  201:         }
  202:  
  203:         ////////////////////////////////////////////////////////////////////////////
  204:  
  205:         /// <summary>
  206:         ///
  207:         /// </summary>
  208:         public static List<Ia.Ftn.Cl.Models.Miscellaneous> ReadList()
  209:         {
  210:             List<Ia.Ftn.Cl.Models.Miscellaneous> itemList;
  211:  
  212:             using (var db = new Ia.Ftn.Cl.Db())
  213:             {
  214:                 itemList = (from m in db.Miscellaneous select m).ToList();
  215:             }
  216:  
  217:             return itemList;
  218:         }
  219:  
  220:         ////////////////////////////////////////////////////////////////////////////
  221:  
  222:         /// <summary>
  223:         ///
  224:         /// </summary>
  225:         public static void Update(Ia.Ftn.Cl.Models.Miscellaneous item)
  226:         {
  227:             if (item != null)
  228:             {
  229:                 using (var db = new Ia.Ftn.Cl.Db())
  230:                 {
  231:                     item = (from m in db.Miscellaneous where m.Id == item.Id select m).SingleOrDefault();
  232:  
  233:                     item.Updated = DateTime.UtcNow.AddHours(3);
  234:  
  235:                     db.Miscellaneous.Attach(item);
  236:  
  237:                     db.Entry(item).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
  238:                     db.SaveChanges();
  239:                 }
  240:             }
  241:             else throw new System.ArgumentOutOfRangeException("item is null");
  242:         }
  243:  
  244:         ////////////////////////////////////////////////////////////////////////////
  245:  
  246:         /// <summary>
  247:         ///
  248:         /// </summary>
  249:         public static void CreateOrUpdate(string name, string value)
  250:         {
  251:             Ia.Ftn.Cl.Models.Miscellaneous misc;
  252:  
  253:             if (!string.IsNullOrEmpty(name))
  254:             {
  255:                 using (var db = new Ia.Ftn.Cl.Db())
  256:                 {
  257:                     misc = (from m in db.Miscellaneous where m.Name == name select m).SingleOrDefault();
  258:  
  259:                     if (misc == null)
  260:                     {
  261:                         misc = new Ia.Ftn.Cl.Models.Miscellaneous
  262:                         {
  263:                             Name = name,
  264:                             Value = value
  265:                         };
  266:                         misc.Created = misc.Updated = DateTime.UtcNow.AddHours(3);
  267:  
  268:                         db.Miscellaneous.Add(misc);
  269:                     }
  270:                     else
  271:                     {
  272:                         misc.Updated = DateTime.UtcNow.AddHours(3);
  273:  
  274:                         misc.Value = value;
  275:  
  276:                         db.Miscellaneous.Attach(misc);
  277:  
  278:                         db.Entry(misc).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
  279:                     }
  280:  
  281:                     db.SaveChanges();
  282:                 }
  283:             }
  284:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
  285:         }
  286:  
  287:         ////////////////////////////////////////////////////////////////////////////
  288:  
  289:         /// <summary>
  290:         ///
  291:         /// </summary>
  292:         public static void CreateOrUpdate(string name, object value)
  293:         {
  294:             string json;
  295:             Ia.Ftn.Cl.Models.Miscellaneous misc;
  296:  
  297:             if (!string.IsNullOrEmpty(name))
  298:             {
  299:                 var jsonSerializerOptions = new JsonSerializerOptions
  300:                 {
  301:                     WriteIndented = true
  302:                 };
  303:  
  304:                 json = JsonSerializer.Serialize(value, jsonSerializerOptions);
  305:  
  306:                 using (var db = new Ia.Ftn.Cl.Db())
  307:                 {
  308:                     misc = (from m in db.Miscellaneous where m.Name == name select m).SingleOrDefault();
  309:  
  310:                     if (misc == null)
  311:                     {
  312:                         misc = new Ia.Ftn.Cl.Models.Miscellaneous
  313:                         {
  314:                             Name = name,
  315:                             Value = json
  316:                         };
  317:                         misc.Created = misc.Updated = DateTime.UtcNow.AddHours(3);
  318:  
  319:                         db.Miscellaneous.Add(misc);
  320:                     }
  321:                     else
  322:                     {
  323:                         misc.Updated = DateTime.UtcNow.AddHours(3);
  324:  
  325:                         misc.Value = json;
  326:  
  327:                         db.Miscellaneous.Attach(misc);
  328:  
  329:                         db.Entry(misc).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
  330:                     }
  331:  
  332:                     db.SaveChanges();
  333:                 }
  334:             }
  335:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
  336:         }
  337:  
  338:         ////////////////////////////////////////////////////////////////////////////
  339:  
  340:         /// <summary>
  341:         ///
  342:         /// </summary>
  343:         public static void CreateOrUpdateFlag(string name, bool flag)
  344:         {
  345:             Ia.Ftn.Cl.Models.Miscellaneous misc;
  346:  
  347:             if (!string.IsNullOrEmpty(name))
  348:             {
  349:                 using (var db = new Ia.Ftn.Cl.Db())
  350:                 {
  351:                     misc = (from m in db.Miscellaneous where m.Name == name select m).SingleOrDefault();
  352:  
  353:                     if (misc == null)
  354:                     {
  355:                         misc = new Ia.Ftn.Cl.Models.Miscellaneous
  356:                         {
  357:                             Name = name,
  358:                             Flag = flag
  359:                         };
  360:                         misc.Created = misc.Updated = DateTime.UtcNow.AddHours(3);
  361:  
  362:                         db.Miscellaneous.Add(misc);
  363:                     }
  364:                     else
  365:                     {
  366:                         misc.Updated = DateTime.UtcNow.AddHours(3);
  367:  
  368:                         misc.Flag = flag;
  369:  
  370:                         db.Miscellaneous.Attach(misc);
  371:  
  372:                         db.Entry(misc).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
  373:                     }
  374:  
  375:                     db.SaveChanges();
  376:                 }
  377:             }
  378:             else throw new System.ArgumentOutOfRangeException("name is null or empty");
  379:         }
  380:  
  381:         ////////////////////////////////////////////////////////////////////////////
  382:  
  383:         /// <summary>
  384:         ///
  385:         /// </summary>
  386:         public static void SetFlag(string name)
  387:         {
  388:             CreateOrUpdateFlag(name, true);
  389:         }
  390:  
  391:         ////////////////////////////////////////////////////////////////////////////
  392:  
  393:         /// <summary>
  394:         ///
  395:         /// </summary>
  396:         public static void ResetFlag(string name)
  397:         {
  398:             CreateOrUpdateFlag(name, false);
  399:         }
  400:  
  401:         ////////////////////////////////////////////////////////////////////////////
  402:  
  403:         /// <summary>
  404:         ///
  405:         /// </summary>
  406:         public static void Delete(long id)
  407:         {
  408:             using (var db = new Ia.Ftn.Cl.Db())
  409:             {
  410:                 var v = (from m in db.Miscellaneous where m.Id == id select m).FirstOrDefault();
  411:  
  412:                 db.Miscellaneous.Remove(v);
  413:                 db.SaveChanges();
  414:             }
  415:         }
  416:  
  417:         ////////////////////////////////////////////////////////////////////////////
  418:         ////////////////////////////////////////////////////////////////////////////
  419:     }
  420:  
  421:     ////////////////////////////////////////////////////////////////////////////
  422:     ////////////////////////////////////////////////////////////////////////////
  423: }