Example #1
0
        public void HandleRequest(IRequest request)
        {
            using (var scope = Db.CreateTransaction())
            {
                foreach (var dockingBase in _dockingBaseHelper.GetDefaultDockingBases())
                {
                    var count = Db.Query().CommandText("select count(*) from channels where name=@terminalChannelName")
                                .SetParameter("@terminalChannelName", dockingBase.ChannelName)
                                .ExecuteScalar <int>();

                    if (count == 1)
                    {
                        Logger.Info($"docking base {dockingBase.Eid} already has terminal channel");
                        continue;
                    }

                    const string deleteSqlCmd = "delete channels where name=@terminalChannelName; insert channels ([name],[type]) values (@terminalChannelName,@type)";

                    Db.Query().CommandText(deleteSqlCmd)
                    .SetParameter("@terminalChannelName", dockingBase.ChannelName)
                    .SetParameter("@type", (int)ChannelType.Station)
                    .ExecuteNonQuery();

                    Logger.Info($"channel created for terminal {dockingBase.Eid} {dockingBase.ChannelName}");
                }

                Message.Builder.FromRequest(request).WithOk().Send();

                scope.Complete();
            }
        }
        public void Init()
        {
            var dockingBases = _dockingBaseHelper.GetDefaultDockingBases();

            foreach (var dockingBase in dockingBases)
            {
                var market = dockingBase.GetMarketOrThrow();
                GetPriceCollectorByMarket(market);//beiniteljuk
            }
        }
Example #3
0
 private IDictionary <string, object> LoadDefaultMarketsToDictionary()
 {
     return(_dockingBaseHelper.GetDefaultDockingBases().Select(b => b.GetMarket()).ToDictionary("m", m => m.ToDictionary()));
 }