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

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

MessageQueue support class for Fixed Telecommunications Network (FTN) data model.

    1: using System;
    2: using System.Collections.Generic;
    3: using System.Threading.Tasks;
    4:  
    5: namespace Ia.Ftn.Cl.Models.Data
    6: {
    7:     ////////////////////////////////////////////////////////////////////////////
    8:  
    9:     /// <summary publish="true">
   10:     /// MessageQueue support class for Fixed Telecommunications Network (FTN) data model.
   11:     /// </summary>
   12:     /// 
   13:     /// <remarks> 
   14:     /// Copyright © 2018-2025 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   15:     /// </remarks> 
   16:     public abstract class MessageQueue
   17:     {
   18:         private static readonly string hostName = "localhost";
   19:  
   20:         ////////////////////////////////////////////////////////////////////////////
   21:         ////////////////////////////////////////////////////////////////////////////
   22:  
   23:         /// <summary>
   24:         ///
   25:         /// </summary>
   26:         public abstract class ServiceApplication
   27:         {
   28:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.ServiceApplication.Name;
   29:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
   30:  
   31:             /// <summary/>
   32:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
   33:             {
   34:                 get
   35:                 {
   36:                     return _DequeueAsync();
   37:                 }
   38:             }
   39:  
   40:             /// <summary/>
   41:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
   42:             {
   43:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
   44:  
   45:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
   46:             }
   47:  
   48:             /// <summary/>
   49:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
   50:             {
   51:                 get
   52:                 {
   53:                     var body = rabbitMq.Peek<string>(queueName);
   54:  
   55:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
   56:                 }
   57:             }
   58:  
   59:             /// <summary/>
   60:             public static List<string> List
   61:             {
   62:                 get
   63:                 {
   64:                     return rabbitMq.PeekList<string>(queueName);
   65:                 }
   66:             }
   67:  
   68:             /// <summary/>
   69:             public static Task<int> CountAsync
   70:             {
   71:                 get
   72:                 {
   73:                     return rabbitMq.CountAsync(queueName);
   74:                 }
   75:             }
   76:  
   77:             ////////////////////////////////////////////////////////////////////////////
   78:  
   79:             /// <summary>
   80:             ///
   81:             /// </summary>
   82:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, string service)
   83:             {
   84:                 var process = Ia.Ftn.Cl.Models.Business.MessageQueue.Process.ReadService;
   85:  
   86:                 Enqueue(sender, process, service);
   87:             }
   88:  
   89:             ////////////////////////////////////////////////////////////////////////////
   90:  
   91:             /// <summary>
   92:             ///
   93:             /// </summary>
   94:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
   95:             {
   96:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
   97:  
   98:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.ServiceApplication.List.Contains(message.Serialization))
   99:                 {
  100:                     rabbitMq.Send(queueName, message.Serialization);
  101:                 }
  102:             }
  103:  
  104:             ////////////////////////////////////////////////////////////////////////////
  105:  
  106:             /// <summary>
  107:             ///
  108:             /// </summary>
  109:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
  110:             {
  111:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
  112:                 var switchVendor = Ia.Ftn.Cl.Models.Data.NetworkDesignDocument.SwitchVendorByService(message.Service);
  113:  
  114:                 if (switchVendor == Ia.Ftn.Cl.Models.Business.NetworkDesignDocument.Vendor.Nokia || switchVendor == Ia.Ftn.Cl.Models.Business.NetworkDesignDocument.Vendor.Huawei)
  115:                 {
  116:                     if (!Ia.Ftn.Cl.Models.Data.MessageQueue.ServiceApplication.List.Contains(message.Serialization))
  117:                     {
  118:                         rabbitMq.Send(queueName, message.Serialization);
  119:                     }
  120:                 }
  121:             }
  122:  
  123:             ////////////////////////////////////////////////////////////////////////////
  124:  
  125:             /// <summary>
  126:             ///
  127:             /// </summary>
  128:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, int gatewayId)
  129:             {
  130:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, gatewayId);
  131:  
  132:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.ServiceApplication.List.Contains(message.Serialization))
  133:                 {
  134:                     rabbitMq.Send(queueName, message.Serialization);
  135:                 }
  136:             }
  137:  
  138:             ////////////////////////////////////////////////////////////////////////////
  139:         }
  140:  
  141:         ////////////////////////////////////////////////////////////////////////////
  142:         ////////////////////////////////////////////////////////////////////////////
  143:  
  144:         /// <summary>
  145:         ///
  146:         /// </summary>
  147:         public abstract class NetManagerApplication
  148:         {
  149:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.NetManagerApplication.Name;
  150:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  151:  
  152:             /// <summary/>
  153:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  154:             {
  155:                 get
  156:                 {
  157:                     return _DequeueAsync();
  158:                 }
  159:             }
  160:  
  161:             /// <summary/>
  162:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  163:             {
  164:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  165:  
  166:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  167:             }
  168:  
  169:             /// <summary/>
  170:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  171:             {
  172:                 get
  173:                 {
  174:                     var body = rabbitMq.Peek<string>(queueName);
  175:  
  176:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  177:                 }
  178:             }
  179:  
  180:             /// <summary/>
  181:             public static List<string> List
  182:             {
  183:                 get
  184:                 {
  185:                     return rabbitMq.PeekList<string>(queueName);
  186:                 }
  187:             }
  188:  
  189:             /// <summary/>
  190:             public static Task<int> CountAsync
  191:             {
  192:                 get
  193:                 {
  194:                     return rabbitMq.CountAsync(queueName);
  195:                 }
  196:             }
  197:  
  198:             ////////////////////////////////////////////////////////////////////////////
  199:  
  200:             /// <summary>
  201:             ///
  202:             /// </summary>
  203:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  204:             {
  205:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  206:  
  207:                 rabbitMq.Send(queueName, message.Serialization);
  208:             }
  209:  
  210:             ////////////////////////////////////////////////////////////////////////////
  211:  
  212:             /// <summary>
  213:             ///
  214:             /// </summary>
  215:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
  216:             {
  217:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
  218:  
  219:                 rabbitMq.Send(queueName, message.Serialization);
  220:             }
  221:  
  222:             ////////////////////////////////////////////////////////////////////////////
  223:         }
  224:  
  225:         ////////////////////////////////////////////////////////////////////////////
  226:         ////////////////////////////////////////////////////////////////////////////
  227:  
  228:         /// <summary>
  229:         ///
  230:         /// </summary>
  231:         public abstract class ServiceRequestApplication
  232:         {
  233:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.ServiceRequestApplication.Name;
  234:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  235:  
  236:             /// <summary/>
  237:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  238:             {
  239:                 get
  240:                 {
  241:                     return _DequeueAsync();
  242:                 }
  243:             }
  244:  
  245:             /// <summary/>
  246:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  247:             {
  248:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  249:  
  250:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  251:             }
  252:  
  253:             /// <summary/>
  254:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  255:             {
  256:                 get
  257:                 {
  258:                     var body = rabbitMq.Peek<string>(queueName);
  259:  
  260:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  261:                 }
  262:             }
  263:  
  264:             /// <summary/>
  265:             public static List<string> List
  266:             {
  267:                 get
  268:                 {
  269:                     return rabbitMq.PeekList<string>(queueName);
  270:                 }
  271:             }
  272:  
  273:             /// <summary/>
  274:             public static Task<int> CountAsync
  275:             {
  276:                 get
  277:                 {
  278:                     return rabbitMq.CountAsync(queueName);
  279:                 }
  280:             }
  281:  
  282:             ////////////////////////////////////////////////////////////////////////////
  283:  
  284:             /// <summary>
  285:             ///
  286:             /// </summary>
  287:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  288:             {
  289:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  290:  
  291:                 rabbitMq.Send(queueName, message.Serialization);
  292:             }
  293:  
  294:             ////////////////////////////////////////////////////////////////////////////
  295:  
  296:             /// <summary>
  297:             ///
  298:             /// </summary>
  299:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string accessName)
  300:             {
  301:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, accessName);
  302:  
  303:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.ServiceRequestApplication.List.Contains(message.Serialization))
  304:                 {
  305:                     rabbitMq.Send(queueName, message.Serialization);
  306:                 }
  307:             }
  308:  
  309:             ////////////////////////////////////////////////////////////////////////////
  310:         }
  311:  
  312:         ////////////////////////////////////////////////////////////////////////////
  313:         ////////////////////////////////////////////////////////////////////////////
  314:  
  315:         /// <summary>
  316:         ///
  317:         /// </summary>
  318:         public abstract class SpsApplication
  319:         {
  320:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.SpsApplication.Name;
  321:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  322:  
  323:             /// <summary/>
  324:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  325:             {
  326:                 get
  327:                 {
  328:                     return _DequeueAsync();
  329:                 }
  330:             }
  331:  
  332:             /// <summary/>
  333:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  334:             {
  335:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  336:  
  337:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  338:             }
  339:  
  340:             /// <summary/>
  341:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  342:             {
  343:                 get
  344:                 {
  345:                     var body = rabbitMq.Peek<string>(queueName);
  346:  
  347:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  348:                 }
  349:             }
  350:  
  351:             /// <summary/>
  352:             public static List<string> List
  353:             {
  354:                 get
  355:                 {
  356:                     return rabbitMq.PeekList<string>(queueName);
  357:                 }
  358:             }
  359:  
  360:             /// <summary/>
  361:             public static Task<int> CountAsync
  362:             {
  363:                 get
  364:                 {
  365:                     return rabbitMq.CountAsync(queueName);
  366:                 }
  367:             }
  368:  
  369:             ////////////////////////////////////////////////////////////////////////////
  370:  
  371:             /// <summary>
  372:             ///
  373:             /// </summary>
  374:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  375:             {
  376:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  377:  
  378:                 rabbitMq.Send(queueName, message.Serialization);
  379:             }
  380:  
  381:             ////////////////////////////////////////////////////////////////////////////
  382:  
  383:             /// <summary>
  384:             ///
  385:             /// </summary>
  386:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
  387:             {
  388:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
  389:  
  390:                 rabbitMq.Send(queueName, message.Serialization);
  391:             }
  392:  
  393:             ////////////////////////////////////////////////////////////////////////////
  394:         }
  395:  
  396:         ////////////////////////////////////////////////////////////////////////////
  397:         ////////////////////////////////////////////////////////////////////////////
  398:  
  399:         /// <summary>
  400:         ///
  401:         /// </summary>
  402:         public abstract class SoftXApplication
  403:         {
  404:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.SoftXApplication.Name;
  405:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  406:  
  407:             /// <summary/>
  408:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  409:             {
  410:                 get
  411:                 {
  412:                     return _DequeueAsync();
  413:                 }
  414:             }
  415:  
  416:             /// <summary/>
  417:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  418:             {
  419:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  420:  
  421:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  422:             }
  423:  
  424:             /// <summary/>
  425:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  426:             {
  427:                 get
  428:                 {
  429:                     var body = rabbitMq.Peek<string>(queueName);
  430:  
  431:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  432:                 }
  433:             }
  434:  
  435:             /// <summary/>
  436:             public static List<string> List
  437:             {
  438:                 get
  439:                 {
  440:                     return rabbitMq.PeekList<string>(queueName);
  441:                 }
  442:             }
  443:  
  444:             /// <summary/>
  445:             public static Task<int> CountAsync
  446:             {
  447:                 get
  448:                 {
  449:                     return rabbitMq.CountAsync(queueName);
  450:                 }
  451:             }
  452:  
  453:             ////////////////////////////////////////////////////////////////////////////
  454:  
  455:             /// <summary>
  456:             ///
  457:             /// </summary>
  458:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  459:             {
  460:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  461:  
  462:                 rabbitMq.Send(queueName, message.Serialization);
  463:             }
  464:  
  465:             ////////////////////////////////////////////////////////////////////////////
  466:  
  467:             /// <summary>
  468:             ///
  469:             /// </summary>
  470:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
  471:             {
  472:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
  473:  
  474:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.SoftXApplication.List.Contains(message.Serialization))
  475:                 {
  476:                     rabbitMq.Send(queueName, message.Serialization);
  477:                 }
  478:             }
  479:  
  480:             ////////////////////////////////////////////////////////////////////////////
  481:  
  482:             /// <summary>
  483:             ///
  484:             /// </summary>
  485:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, bool overrideRouterDomainRestriction, string staffUserId)
  486:             {
  487:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, overrideRouterDomainRestriction, staffUserId);
  488:  
  489:                 rabbitMq.Send(queueName, message.Serialization);
  490:             }
  491:  
  492:             ////////////////////////////////////////////////////////////////////////////
  493:  
  494:             /// <summary>
  495:             ///
  496:             /// </summary>
  497:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port, bool overrideRouterDomainRestriction, string staffUserId)
  498:             {
  499:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port, overrideRouterDomainRestriction, staffUserId);
  500:  
  501:                 rabbitMq.Send(queueName, message.Serialization);
  502:             }
  503:  
  504:             ////////////////////////////////////////////////////////////////////////////
  505:         }
  506:  
  507:         ////////////////////////////////////////////////////////////////////////////
  508:         ////////////////////////////////////////////////////////////////////////////
  509:  
  510:         /// <summary>
  511:         ///
  512:         /// </summary>
  513:         public abstract class AxeApplication
  514:         {
  515:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.AxeApplication.Name;
  516:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  517:  
  518:             /// <summary/>
  519:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  520:             {
  521:                 get
  522:                 {
  523:                     return _DequeueAsync();
  524:                 }
  525:             }
  526:  
  527:             /// <summary/>
  528:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  529:             {
  530:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  531:  
  532:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  533:             }
  534:  
  535:             /// <summary/>
  536:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  537:             {
  538:                 get
  539:                 {
  540:                     var body = rabbitMq.Peek<string>(queueName);
  541:  
  542:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  543:                 }
  544:             }
  545:  
  546:             /// <summary/>
  547:             public static List<string> List
  548:             {
  549:                 get
  550:                 {
  551:                     return rabbitMq.PeekList<string>(queueName);
  552:                 }
  553:             }
  554:  
  555:             /// <summary/>
  556:             public static Task<int> CountAsync
  557:             {
  558:                 get
  559:                 {
  560:                     return rabbitMq.CountAsync(queueName);
  561:                 }
  562:             }
  563:  
  564:             ////////////////////////////////////////////////////////////////////////////
  565:  
  566:             /// <summary>
  567:             ///
  568:             /// </summary>
  569:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  570:             {
  571:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  572:  
  573:                 rabbitMq.Send(queueName, message.Serialization);
  574:             }
  575:  
  576:             ////////////////////////////////////////////////////////////////////////////
  577:  
  578:             /// <summary>
  579:             ///
  580:             /// </summary>
  581:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
  582:             {
  583:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
  584:  
  585:                 rabbitMq.Send(queueName, message.Serialization);
  586:             }
  587:  
  588:             ////////////////////////////////////////////////////////////////////////////
  589:         }
  590:  
  591:         ////////////////////////////////////////////////////////////////////////////
  592:         ////////////////////////////////////////////////////////////////////////////
  593:  
  594:         /// <summary>
  595:         ///
  596:         /// </summary>
  597:         public abstract class AmsApplication
  598:         {
  599:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.AmsApplication.Name;
  600:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  601:  
  602:             /// <summary/>
  603:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  604:             {
  605:                 get
  606:                 {
  607:                     return _DequeueAsync();
  608:                 }
  609:             }
  610:  
  611:             /// <summary/>
  612:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  613:             {
  614:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  615:  
  616:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  617:             }
  618:  
  619:             /// <summary/>
  620:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  621:             {
  622:                 get
  623:                 {
  624:                     var body = rabbitMq.Peek<string>(queueName);
  625:  
  626:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  627:                 }
  628:             }
  629:  
  630:             /// <summary/>
  631:             public static List<string> List
  632:             {
  633:                 get
  634:                 {
  635:                     return rabbitMq.PeekList<string>(queueName);
  636:                 }
  637:             }
  638:  
  639:             /// <summary/>
  640:             public static Task<int> CountAsync
  641:             {
  642:                 get
  643:                 {
  644:                     return rabbitMq.CountAsync(queueName);
  645:                 }
  646:             }
  647:  
  648:             ////////////////////////////////////////////////////////////////////////////
  649:  
  650:             /// <summary>
  651:             ///
  652:             /// </summary>
  653:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  654:             {
  655:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  656:  
  657:                 rabbitMq.Send(queueName, message.Serialization);
  658:             }
  659:  
  660:             ////////////////////////////////////////////////////////////////////////////
  661:  
  662:             /// <summary>
  663:             ///
  664:             /// </summary>
  665:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
  666:             {
  667:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
  668:  
  669:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.AmsApplication.List.Contains(message.Serialization))
  670:                 {
  671:                     rabbitMq.Send(queueName, message.Serialization);
  672:                 }
  673:             }
  674:  
  675:             ////////////////////////////////////////////////////////////////////////////
  676:  
  677:             /// <summary>
  678:             ///
  679:             /// </summary>
  680:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port)
  681:             {
  682:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port);
  683:  
  684:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.AmsApplication.List.Contains(message.Serialization))
  685:                 {
  686:                     rabbitMq.Send(queueName, message.Serialization);
  687:                 }
  688:             }
  689:  
  690:             ////////////////////////////////////////////////////////////////////////////
  691:  
  692:             /// <summary>
  693:             ///
  694:             /// </summary>
  695:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, bool overrideRouterDomainRestriction, string staffUserId)
  696:             {
  697:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, overrideRouterDomainRestriction, staffUserId);
  698:  
  699:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.AmsApplication.List.Contains(message.Serialization))
  700:                 {
  701:                     rabbitMq.Send(queueName, message.Serialization);
  702:                 }
  703:             }
  704:  
  705:             ////////////////////////////////////////////////////////////////////////////
  706:  
  707:             /// <summary>
  708:             ///
  709:             /// </summary>
  710:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port, bool overrideRouterDomainRestriction, string staffUserId)
  711:             {
  712:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port, overrideRouterDomainRestriction, staffUserId);
  713:  
  714:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.AmsApplication.List.Contains(message.Serialization))
  715:                 {
  716:                     rabbitMq.Send(queueName, message.Serialization);
  717:                 }
  718:             }
  719:  
  720:             ////////////////////////////////////////////////////////////////////////////
  721:         }
  722:  
  723:         ////////////////////////////////////////////////////////////////////////////
  724:         ////////////////////////////////////////////////////////////////////////////
  725:  
  726:         /// <summary>
  727:         ///
  728:         /// </summary>
  729:         public abstract class NceApplication
  730:         {
  731:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.NceApplication.Name;
  732:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  733:  
  734:             /// <summary/>
  735:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  736:             {
  737:                 get
  738:                 {
  739:                     return _DequeueAsync();
  740:                 }
  741:             }
  742:  
  743:             /// <summary/>
  744:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  745:             {
  746:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  747:  
  748:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  749:             }
  750:  
  751:             /// <summary/>
  752:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  753:             {
  754:                 get
  755:                 {
  756:                     var body = rabbitMq.Peek<string>(queueName);
  757:  
  758:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  759:                 }
  760:             }
  761:  
  762:             /// <summary/>
  763:             public static List<string> List
  764:             {
  765:                 get
  766:                 {
  767:                     return rabbitMq.PeekList<string>(queueName);
  768:                 }
  769:             }
  770:  
  771:             /// <summary/>
  772:             public static Task<int> CountAsync
  773:             {
  774:                 get
  775:                 {
  776:                     return rabbitMq.CountAsync(queueName);
  777:                 }
  778:             }
  779:  
  780:             ////////////////////////////////////////////////////////////////////////////
  781:  
  782:             /// <summary>
  783:             ///
  784:             /// </summary>
  785:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  786:             {
  787:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  788:  
  789:                 rabbitMq.Send(queueName, message.Serialization);
  790:             }
  791:  
  792:             ////////////////////////////////////////////////////////////////////////////
  793:  
  794:             /// <summary>
  795:             ///
  796:             /// </summary>
  797:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string serviceOrAccessName)
  798:             {
  799:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, serviceOrAccessName);
  800:  
  801:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.NceApplication.List.Contains(message.Serialization))
  802:                 {
  803:                     rabbitMq.Send(queueName, message.Serialization);
  804:                 }
  805:             }
  806:  
  807:             ////////////////////////////////////////////////////////////////////////////
  808:  
  809:             /// <summary>
  810:             ///
  811:             /// </summary>
  812:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port)
  813:             {
  814:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port);
  815:  
  816:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.NceApplication.List.Contains(message.Serialization))
  817:                 {
  818:                     rabbitMq.Send(queueName, message.Serialization);
  819:                 }
  820:             }
  821:  
  822:             ////////////////////////////////////////////////////////////////////////////
  823:  
  824:             /// <summary>
  825:             ///
  826:             /// </summary>
  827:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, bool overrideRouterDomainRestriction, string staffUserId)
  828:             {
  829:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, overrideRouterDomainRestriction, staffUserId);
  830:  
  831:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.NceApplication.List.Contains(message.Serialization))
  832:                 {
  833:                     rabbitMq.Send(queueName, message.Serialization);
  834:                 }
  835:             }
  836:  
  837:             ////////////////////////////////////////////////////////////////////////////
  838:  
  839:             /// <summary>
  840:             ///
  841:             /// </summary>
  842:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port, bool overrideRouterDomainRestriction, string staffUserId)
  843:             {
  844:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port, overrideRouterDomainRestriction, staffUserId);
  845:  
  846:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.NceApplication.List.Contains(message.Serialization))
  847:                 {
  848:                     rabbitMq.Send(queueName, message.Serialization);
  849:                 }
  850:             }
  851:  
  852:             ////////////////////////////////////////////////////////////////////////////
  853:  
  854:             /// <summary>
  855:             ///
  856:             /// </summary>
  857:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string msanDevId, int fn, int sn, int pn, string service)
  858:             {
  859:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, msanDevId, fn, sn, pn, service);
  860:  
  861:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.NceApplication.List.Contains(message.Serialization))
  862:                 {
  863:                     rabbitMq.Send(queueName, message.Serialization);
  864:                 }
  865:             }
  866:  
  867:             ////////////////////////////////////////////////////////////////////////////
  868:         }
  869:  
  870:         ////////////////////////////////////////////////////////////////////////////
  871:         ////////////////////////////////////////////////////////////////////////////
  872:  
  873:         /// <summary>
  874:         ///
  875:         /// </summary>
  876:         public abstract class ProvisionApplication
  877:         {
  878:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.ProvisionApplication.Name;
  879:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
  880:  
  881:             /// <summary/>
  882:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
  883:             {
  884:                 get
  885:                 {
  886:                     return _DequeueAsync();
  887:                 }
  888:             }
  889:  
  890:             /// <summary/>
  891:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
  892:             {
  893:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
  894:  
  895:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  896:             }
  897:  
  898:             /// <summary/>
  899:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
  900:             {
  901:                 get
  902:                 {
  903:                     var body = rabbitMq.Peek<string>(queueName);
  904:  
  905:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
  906:                 }
  907:             }
  908:  
  909:             /// <summary/>
  910:             public static List<string> List
  911:             {
  912:                 get
  913:                 {
  914:                     return rabbitMq.PeekList<string>(queueName);
  915:                 }
  916:             }
  917:  
  918:             /// <summary/>
  919:             public static Task<int> CountAsync
  920:             {
  921:                 get
  922:                 {
  923:                     return rabbitMq.CountAsync(queueName);
  924:                 }
  925:             }
  926:  
  927:             ////////////////////////////////////////////////////////////////////////////
  928:  
  929:             /// <summary>
  930:             ///
  931:             /// </summary>
  932:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
  933:             {
  934:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
  935:  
  936:                 rabbitMq.Send(queueName, message.Serialization);
  937:             }
  938:  
  939:             ////////////////////////////////////////////////////////////////////////////
  940:  
  941:             /// <summary>
  942:             ///
  943:             /// </summary>
  944:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
  945:             {
  946:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
  947:  
  948:                 rabbitMq.Send(queueName, message.Serialization);
  949:             }
  950:  
  951:             ////////////////////////////////////////////////////////////////////////////
  952:  
  953:             /// <summary>
  954:             ///
  955:             /// </summary>
  956:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, bool overrideRouterDomainRestriction, string staffUserId)
  957:             {
  958:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, overrideRouterDomainRestriction, staffUserId);
  959:  
  960:                 rabbitMq.Send(queueName, message.Serialization);
  961:             }
  962:  
  963:             ////////////////////////////////////////////////////////////////////////////
  964:  
  965:             /// <summary>
  966:             ///
  967:             /// </summary>
  968:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port, bool overrideRouterDomainRestriction, string staffUserId)
  969:             {
  970:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port, overrideRouterDomainRestriction, staffUserId);
  971:  
  972:                 rabbitMq.Send(queueName, message.Serialization);
  973:             }
  974:  
  975:             ////////////////////////////////////////////////////////////////////////////
  976:  
  977:             /// <summary>
  978:             ///
  979:             /// </summary>
  980:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, Ia.Ftn.Cl.Models.Business.Service.SupplementaryService supplementaryService, bool supplementaryServiceState, string staffUserId)
  981:             {
  982:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, supplementaryService, supplementaryServiceState, staffUserId);
  983:  
  984:                 rabbitMq.Send(queueName, message.Serialization);
  985:             }
  986:  
  987:             ////////////////////////////////////////////////////////////////////////////
  988:         }
  989:  
  990:         ////////////////////////////////////////////////////////////////////////////
  991:         ////////////////////////////////////////////////////////////////////////////
  992:  
  993:         /// <summary>
  994:         ///
  995:         /// </summary>
  996:         public abstract class FtnApplication
  997:         {
  998:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.FtnApplication.Name;
  999:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
 1000:  
 1001:             /// <summary/>
 1002:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
 1003:             {
 1004:                 get
 1005:                 {
 1006:                     return _DequeueAsync();
 1007:                 }
 1008:             }
 1009:  
 1010:             /// <summary/>
 1011:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
 1012:             {
 1013:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
 1014:  
 1015:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1016:             }
 1017:  
 1018:             /// <summary/>
 1019:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
 1020:             {
 1021:                 get
 1022:                 {
 1023:                     var body = rabbitMq.Peek<string>(queueName);
 1024:  
 1025:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1026:                 }
 1027:             }
 1028:  
 1029:             /// <summary/>
 1030:             public static List<string> List
 1031:             {
 1032:                 get
 1033:                 {
 1034:                     return rabbitMq.PeekList<string>(queueName);
 1035:                 }
 1036:             }
 1037:  
 1038:             /// <summary/>
 1039:             public static Task<int> CountAsync
 1040:             {
 1041:                 get
 1042:                 {
 1043:                     return rabbitMq.CountAsync(queueName);
 1044:                 }
 1045:             }
 1046:  
 1047:             ////////////////////////////////////////////////////////////////////////////
 1048:  
 1049:             /// <summary>
 1050:             ///
 1051:             /// </summary>
 1052:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
 1053:             {
 1054:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
 1055:  
 1056:                 rabbitMq.Send(queueName, message.Serialization);
 1057:             }
 1058:  
 1059:             ////////////////////////////////////////////////////////////////////////////
 1060:  
 1061:             /// <summary>
 1062:             ///
 1063:             /// </summary>
 1064:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string payload)
 1065:             {
 1066:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, payload);
 1067:  
 1068:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.FtnApplication.List.Contains(message.Serialization))
 1069:                 {
 1070:                     rabbitMq.Send(queueName, message.Serialization);
 1071:                 }
 1072:             }
 1073:  
 1074:             ////////////////////////////////////////////////////////////////////////////
 1075:  
 1076:             /// <summary>
 1077:             ///
 1078:             /// </summary>
 1079:             public static void EnqueueSerializedPayload<T>(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, T t)
 1080:             {
 1081:                 var payload = Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Serialize<T>(t);
 1082:  
 1083:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, payload);
 1084:  
 1085:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.FtnApplication.List.Contains(message.Serialization))
 1086:                 {
 1087:                     rabbitMq.Send(queueName, message.Serialization);
 1088:                 }
 1089:             }
 1090:  
 1091:             ////////////////////////////////////////////////////////////////////////////
 1092:         }
 1093:  
 1094:         ////////////////////////////////////////////////////////////////////////////
 1095:         ////////////////////////////////////////////////////////////////////////////
 1096:  
 1097:         /// <summary>
 1098:         ///
 1099:         /// </summary>
 1100:         public abstract class TelegramApplication
 1101:         {
 1102:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.TelegramApplication.Name;
 1103:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
 1104:  
 1105:             /// <summary/>
 1106:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
 1107:             {
 1108:                 get
 1109:                 {
 1110:                     return _DequeueAsync();
 1111:                 }
 1112:             }
 1113:  
 1114:             /// <summary/>
 1115:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
 1116:             {
 1117:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
 1118:  
 1119:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1120:             }
 1121:  
 1122:             /// <summary/>
 1123:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
 1124:             {
 1125:                 get
 1126:                 {
 1127:                     var body = rabbitMq.Peek<string>(queueName);
 1128:  
 1129:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1130:                 }
 1131:             }
 1132:  
 1133:             /// <summary/>
 1134:             public static List<string> List
 1135:             {
 1136:                 get
 1137:                 {
 1138:                     return rabbitMq.PeekList<string>(queueName);
 1139:                 }
 1140:             }
 1141:  
 1142:             /// <summary/>
 1143:             public static Task<int> CountAsync
 1144:             {
 1145:                 get
 1146:                 {
 1147:                     return rabbitMq.CountAsync(queueName);
 1148:                 }
 1149:             }
 1150:  
 1151:             ////////////////////////////////////////////////////////////////////////////
 1152:  
 1153:             /// <summary>
 1154:             ///
 1155:             /// </summary>
 1156:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
 1157:             {
 1158:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
 1159:  
 1160:                 rabbitMq.Send(queueName, message.Serialization);
 1161:             }
 1162:  
 1163:             ////////////////////////////////////////////////////////////////////////////
 1164:  
 1165:             /// <summary>
 1166:             ///
 1167:             /// </summary>
 1168:             public static void EnqueueSerializedPayload<T>(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, T t)
 1169:             {
 1170:                 var payload = Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Serialize<T>(t);
 1171:  
 1172:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, payload);
 1173:  
 1174:                 if (!Ia.Ftn.Cl.Models.Data.MessageQueue.TelegramApplication.List.Contains(message.Serialization))
 1175:                 {
 1176:                     rabbitMq.Send(queueName, message.Serialization);
 1177:                 }
 1178:             }
 1179:  
 1180:             ////////////////////////////////////////////////////////////////////////////
 1181:         }
 1182:  
 1183:         ////////////////////////////////////////////////////////////////////////////
 1184:         ////////////////////////////////////////////////////////////////////////////
 1185:  
 1186:         /// <summary>
 1187:         ///
 1188:         /// </summary>
 1189:         public abstract class SecretaryApplication
 1190:         {
 1191:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.SecretaryApplication.Name;
 1192:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
 1193:  
 1194:             /// <summary/>
 1195:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
 1196:             {
 1197:                 get
 1198:                 {
 1199:                     return _DequeueAsync();
 1200:                 }
 1201:             }
 1202:  
 1203:             /// <summary/>
 1204:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
 1205:             {
 1206:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
 1207:  
 1208:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1209:             }
 1210:  
 1211:             /// <summary/>
 1212:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
 1213:             {
 1214:                 get
 1215:                 {
 1216:                     var body = rabbitMq.Peek<string>(queueName);
 1217:  
 1218:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1219:                 }
 1220:             }
 1221:  
 1222:             /// <summary/>
 1223:             public static List<string> List
 1224:             {
 1225:                 get
 1226:                 {
 1227:                     return rabbitMq.PeekList<string>(queueName);
 1228:                 }
 1229:             }
 1230:  
 1231:             /// <summary/>
 1232:             public static Task<int> CountAsync
 1233:             {
 1234:                 get
 1235:                 {
 1236:                     return rabbitMq.CountAsync(queueName);
 1237:                 }
 1238:             }
 1239:  
 1240:             ////////////////////////////////////////////////////////////////////////////
 1241:  
 1242:             /// <summary>
 1243:             ///
 1244:             /// </summary>
 1245:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
 1246:             {
 1247:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
 1248:  
 1249:                 rabbitMq.Send(queueName, message.Serialization);
 1250:             }
 1251:  
 1252:             ////////////////////////////////////////////////////////////////////////////
 1253:  
 1254:             /// <summary>
 1255:             ///
 1256:             /// </summary>
 1257:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, bool state)
 1258:             {
 1259:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, state);
 1260:  
 1261:                 rabbitMq.Send(queueName, message.Serialization);
 1262:             }
 1263:  
 1264:             ////////////////////////////////////////////////////////////////////////////
 1265:  
 1266:             /// <summary>
 1267:             ///
 1268:             /// </summary>
 1269:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string serviceOrAccessName)
 1270:             {
 1271:                 serviceOrAccessName = serviceOrAccessName.ToUpper();
 1272:  
 1273:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, serviceOrAccessName);
 1274:  
 1275:                 rabbitMq.Send(queueName, message.Serialization);
 1276:             }
 1277:  
 1278:             ////////////////////////////////////////////////////////////////////////////
 1279:  
 1280:             /// <summary>
 1281:             ///
 1282:             /// </summary>
 1283:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, List<string> serviceOrAccessNameList)
 1284:             {
 1285:                 foreach (string serviceOrAccessName in serviceOrAccessNameList)
 1286:                 {
 1287:                     Enqueue(sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process.ReadAccess, serviceOrAccessName);
 1288:                 }
 1289:             }
 1290:  
 1291:             ////////////////////////////////////////////////////////////////////////////
 1292:  
 1293:             /// <summary>
 1294:             ///
 1295:             /// </summary>
 1296:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, int gatewayId)
 1297:             {
 1298:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, gatewayId);
 1299:  
 1300:                 rabbitMq.Send(queueName, message.Serialization);
 1301:             }
 1302:  
 1303:             ////////////////////////////////////////////////////////////////////////////
 1304:  
 1305:             /// <summary>
 1306:             ///
 1307:             /// </summary>
 1308:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, Ia.Ftn.Cl.Models.Business.Service.SupplementaryService supplementaryService, bool supplementaryServiceState, string staffUserId)
 1309:             {
 1310:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, supplementaryService, supplementaryServiceState, staffUserId);
 1311:  
 1312:                 rabbitMq.Send(queueName, message.Serialization);
 1313:             }
 1314:  
 1315:             ////////////////////////////////////////////////////////////////////////////
 1316:  
 1317:             /// <summary>
 1318:             ///
 1319:             /// </summary>
 1320:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, bool overrideRouterDomainRestriction, string staffUserId)
 1321:             {
 1322:                 accessName = accessName.ToUpper();
 1323:  
 1324:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, overrideRouterDomainRestriction, staffUserId);
 1325:  
 1326:                 rabbitMq.Send(queueName, message.Serialization);
 1327:             }
 1328:  
 1329:             ////////////////////////////////////////////////////////////////////////////
 1330:  
 1331:             /// <summary>
 1332:             ///
 1333:             /// </summary>
 1334:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port, bool overrideRouterDomainRestriction, string staffUserId)
 1335:             {
 1336:                 accessName = accessName.ToUpper();
 1337:  
 1338:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port, overrideRouterDomainRestriction, staffUserId);
 1339:  
 1340:                 rabbitMq.Send(queueName, message.Serialization);
 1341:             }
 1342:  
 1343:             ////////////////////////////////////////////////////////////////////////////
 1344:  
 1345:             /// <summary>
 1346:             ///
 1347:             /// </summary>
 1348:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service, string accessName, int port)
 1349:             {
 1350:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service, accessName, port);
 1351:  
 1352:                 rabbitMq.Send(queueName, message.Serialization);
 1353:             }
 1354:  
 1355:             ////////////////////////////////////////////////////////////////////////////
 1356:  
 1357:             /// <summary>
 1358:             ///
 1359:             /// </summary>
 1360:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string msanDevId, int fn, int sn, int pn, string service)
 1361:             {
 1362:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, msanDevId, fn, sn, pn, service);
 1363:  
 1364:                 rabbitMq.Send(queueName, message.Serialization);
 1365:             }
 1366:  
 1367:             ////////////////////////////////////////////////////////////////////////////
 1368:             ////////////////////////////////////////////////////////////////////////////
 1369:         }
 1370:  
 1371:         ////////////////////////////////////////////////////////////////////////////
 1372:         ////////////////////////////////////////////////////////////////////////////
 1373:  
 1374:         /// <summary>
 1375:         ///
 1376:         /// </summary>
 1377:         public abstract class EmailApplication
 1378:         {
 1379:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.EmailApplication.Name;
 1380:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
 1381:  
 1382:             /// <summary/>
 1383:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
 1384:             {
 1385:                 get
 1386:                 {
 1387:                     return _DequeueAsync();
 1388:                 }
 1389:             }
 1390:  
 1391:             /// <summary/>
 1392:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
 1393:             {
 1394:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
 1395:  
 1396:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1397:             }
 1398:  
 1399:             /// <summary/>
 1400:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
 1401:             {
 1402:                 get
 1403:                 {
 1404:                     var body = rabbitMq.Peek<string>(queueName);
 1405:  
 1406:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1407:                 }
 1408:             }
 1409:  
 1410:             /// <summary/>
 1411:             public static List<string> List
 1412:             {
 1413:                 get
 1414:                 {
 1415:                     return rabbitMq.PeekList<string>(queueName);
 1416:                 }
 1417:             }
 1418:  
 1419:             /// <summary/>
 1420:             public static Task<int> CountAsync
 1421:             {
 1422:                 get
 1423:                 {
 1424:                     return rabbitMq.CountAsync(queueName);
 1425:                 }
 1426:             }
 1427:  
 1428:             ////////////////////////////////////////////////////////////////////////////
 1429:  
 1430:             /// <summary>
 1431:             ///
 1432:             /// </summary>
 1433:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
 1434:             {
 1435:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
 1436:  
 1437:                 rabbitMq.Send(queueName, message.Serialization);
 1438:             }
 1439:  
 1440:             ////////////////////////////////////////////////////////////////////////////
 1441:         }
 1442:  
 1443:         ////////////////////////////////////////////////////////////////////////////
 1444:         ////////////////////////////////////////////////////////////////////////////
 1445:  
 1446:         /// <summary>
 1447:         ///
 1448:         /// </summary>
 1449:         public abstract class SdcApplication
 1450:         {
 1451:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.SdcApplication.Name;
 1452:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
 1453:  
 1454:             /// <summary/>
 1455:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
 1456:             {
 1457:                 get
 1458:                 {
 1459:                     return _DequeueAsync();
 1460:                 }
 1461:             }
 1462:  
 1463:             /// <summary/>
 1464:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
 1465:             {
 1466:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
 1467:  
 1468:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1469:             }
 1470:  
 1471:             /// <summary/>
 1472:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
 1473:             {
 1474:                 get
 1475:                 {
 1476:                     var body = rabbitMq.Peek<string>(queueName);
 1477:  
 1478:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1479:                 }
 1480:             }
 1481:  
 1482:             /// <summary/>
 1483:             public static List<string> List
 1484:             {
 1485:                 get
 1486:                 {
 1487:                     return rabbitMq.PeekList<string>(queueName);
 1488:                 }
 1489:             }
 1490:  
 1491:             /// <summary/>
 1492:             public static Task<int> CountAsync
 1493:             {
 1494:                 get
 1495:                 {
 1496:                     return rabbitMq.CountAsync(queueName);
 1497:                 }
 1498:             }
 1499:  
 1500:             ////////////////////////////////////////////////////////////////////////////
 1501:  
 1502:             /// <summary>
 1503:             ///
 1504:             /// </summary>
 1505:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
 1506:             {
 1507:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
 1508:  
 1509:                 rabbitMq.Send(queueName, message.Serialization);
 1510:             }
 1511:  
 1512:             ////////////////////////////////////////////////////////////////////////////
 1513:         }
 1514:  
 1515:         ////////////////////////////////////////////////////////////////////////////
 1516:         ////////////////////////////////////////////////////////////////////////////
 1517:  
 1518:         /// <summary>
 1519:         ///
 1520:         /// </summary>
 1521:         public abstract class SchedulerApplication
 1522:         {
 1523:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.SchedulerApplication.Name;
 1524:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
 1525:  
 1526:             /// <summary/>
 1527:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
 1528:             {
 1529:                 get
 1530:                 {
 1531:                     return _DequeueAsync();
 1532:                 }
 1533:             }
 1534:  
 1535:             /// <summary/>
 1536:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
 1537:             {
 1538:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
 1539:  
 1540:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1541:             }
 1542:  
 1543:             /// <summary/>
 1544:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
 1545:             {
 1546:                 get
 1547:                 {
 1548:                     var body = rabbitMq.Peek<string>(queueName);
 1549:  
 1550:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1551:                 }
 1552:             }
 1553:  
 1554:             /// <summary/>
 1555:             public static List<string> List
 1556:             {
 1557:                 get
 1558:                 {
 1559:                     return rabbitMq.PeekList<string>(queueName);
 1560:                 }
 1561:             }
 1562:  
 1563:             /// <summary/>
 1564:             public static Task<int> CountAsync
 1565:             {
 1566:                 get
 1567:                 {
 1568:                     return rabbitMq.CountAsync(queueName);
 1569:                 }
 1570:             }
 1571:  
 1572:             ////////////////////////////////////////////////////////////////////////////
 1573:  
 1574:             /// <summary>
 1575:             ///
 1576:             /// </summary>
 1577:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
 1578:             {
 1579:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
 1580:  
 1581:                 rabbitMq.Send(queueName, message.Serialization);
 1582:             }
 1583:  
 1584:             ////////////////////////////////////////////////////////////////////////////
 1585:         }
 1586:  
 1587:         ////////////////////////////////////////////////////////////////////////////
 1588:         ////////////////////////////////////////////////////////////////////////////
 1589:  
 1590:         /// <summary>
 1591:         ///
 1592:         /// </summary>
 1593:         public abstract class MdaaApplication
 1594:         {
 1595:             private static readonly string queueName = Ia.Ftn.Cl.Models.Business.MessageQueue.Application.MdaaApplication.Name;
 1596:             private static Ia.Cl.Models.RabbitMq rabbitMq = new Ia.Cl.Models.RabbitMq(hostName);
 1597:  
 1598:             /// <summary/>
 1599:             public static Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> DequeueAsync
 1600:             {
 1601:                 get
 1602:                 {
 1603:                     return _DequeueAsync();
 1604:                 }
 1605:             }
 1606:  
 1607:             /// <summary/>
 1608:             private static async Task<Ia.Ftn.Cl.Models.Business.MessageQueue.Message> _DequeueAsync()
 1609:             {
 1610:                 var body = await rabbitMq.ReceiveAsync<string>(queueName);
 1611:  
 1612:                 return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1613:             }
 1614:  
 1615:             /// <summary/>
 1616:             public static Ia.Ftn.Cl.Models.Business.MessageQueue.Message Peek
 1617:             {
 1618:                 get
 1619:                 {
 1620:                     var body = rabbitMq.Peek<string>(queueName);
 1621:  
 1622:                     return Ia.Ftn.Cl.Models.Business.MessageQueue.Message.Deserialize(body);
 1623:                 }
 1624:             }
 1625:  
 1626:             /// <summary/>
 1627:             public static List<string> List
 1628:             {
 1629:                 get
 1630:                 {
 1631:                     return rabbitMq.PeekList<string>(queueName);
 1632:                 }
 1633:             }
 1634:  
 1635:             /// <summary/>
 1636:             public static Task<int> CountAsync
 1637:             {
 1638:                 get
 1639:                 {
 1640:                     return rabbitMq.CountAsync(queueName);
 1641:                 }
 1642:             }
 1643:  
 1644:             ////////////////////////////////////////////////////////////////////////////
 1645:  
 1646:             /// <summary>
 1647:             ///
 1648:             /// </summary>
 1649:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process)
 1650:             {
 1651:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process);
 1652:  
 1653:                 rabbitMq.Send(queueName, message.Serialization);
 1654:             }
 1655:  
 1656:             ////////////////////////////////////////////////////////////////////////////
 1657:  
 1658:             /// <summary>
 1659:             ///
 1660:             /// </summary>
 1661:             public static void Enqueue(Ia.Ftn.Cl.Models.Business.MessageQueue.Application sender, Ia.Ftn.Cl.Models.Business.MessageQueue.Process process, string service)
 1662:             {
 1663:                 var message = new Ia.Ftn.Cl.Models.Business.MessageQueue.Message(sender, process, service);
 1664:  
 1665:                 rabbitMq.Send(queueName, message.Serialization);
 1666:             }
 1667:  
 1668:             ////////////////////////////////////////////////////////////////////////////
 1669:         }
 1670:  
 1671:         ////////////////////////////////////////////////////////////////////////////
 1672:         ////////////////////////////////////////////////////////////////////////////
 1673:     }
 1674:  
 1675:     ////////////////////////////////////////////////////////////////////////////
 1676:     ////////////////////////////////////////////////////////////////////////////
 1677: }
 1678: