Пример #1
0
 public TrainHub(TrainWorker worker)
 {
     _trainWorker = worker;
     if (!_eventsHooked)
     {
         _eventsHooked = true;
         _trainWorker.OnUpdatedTrains       += _trainWorker_OnUpdatedTrains;
         _trainWorker.OnGenerateStateChange += _trainWorker_OnGenerateStateChange;
     }
 }
Пример #2
0
        private void setValues()
        {
            worker = new TrainWorker();

            cmb_export.Items.Add("Внутригосударственный");
            cmb_export.Items.Add("На экспорт");
            cmb_send_staions.Items.Add("Чукурсай");
            cmb_export.SelectedIndex       = 0;
            cmb_send_staions.SelectedIndex = 0;

            password = worker.mainTable.Rows[4].ItemArray[5].ToString();
            dollar   = worker.mainTable.Rows[5].ItemArray[5].ToString();
            yevro    = worker.mainTable.Rows[6].ItemArray[5].ToString();
            rubl     = worker.mainTable.Rows[7].ItemArray[5].ToString();

            txt_dollar.Text = "1 USD = " + dollar + " UZS";
            txt_yevro.Text  = "1 EUR = " + yevro + " UZS";
            txt_rubl.Text   = "1 RUB = " + rubl + " UZS";
        }
Пример #3
0
        private void _trainWorker_OnUpdatedTrains(TrainWorker sender, List <Train> updateTrains)
        {
            if (UserCenters == null)
            {
                return;
            }
            if (_trainWorker.GenerateState < GenerateState.Loading)
            {
                return;
            }

            var hubContext = GlobalHost.ConnectionManager.GetHubContext <TrainHub, ITrainHub>();

            foreach (var userBound in UserCenters)
            {
                var trains = updateTrains.Where(x => Maths.Distance(userBound.Value, x.Posistion) < MaxViewDistance)
                             .Select(x => new TrainUpdate(x.Posistion, x.TripId, x.TripHeadsign))
                             .ToList();
                hubContext.Clients.Client(userBound.Key).UpdateTrains(trains);
            }
        }
Пример #4
0
        private static void _trainWorker_OnGenerateStateChange(TrainWorker sender, Models.GenerateStateArgs args)
        {
            var hubContext = GlobalHost.ConnectionManager.GetHubContext <TrainHub, ITrainHub>();

            hubContext.Clients.All.GenerateStateChanged(args.NewState);
        }