Example #1
0
 public void OnSuccess(YotaParser parser)
 {
     _context.DisableReconnectOnError();
     if (_context._deviceId.Equals("") || !parser.DeviceIdExists(_context._deviceId))
     {
         _context._deviceId = parser.GetProductInfos()[0].deviceId;
         _context._yota.SetDeviceId(_context._deviceId);
         Settings.Default.DeviceID = _context._deviceId;
     }
     int rateNum = parser.GetCurrentRateNum(_context._deviceId);
     String days = parser.GetDays(_context._deviceId);
     String name = parser.GetShortRateName(_context._deviceId, rateNum);
     if (days == "0")
     {
         _context._animMgr.Stop("!");
         _context._notifyIcon.Text = "Не осталось оплаченных дней";
     }
     else
     {
         _context._animMgr.Stop(name);
         _context._notifyIcon.Text = parser.GetRateName(_context._deviceId, rateNum);
     }
     _context.UpdateContextMenu(parser);
     var fullName = parser.GetRateName(_context._deviceId, rateNum);
     if (_context._yota.GetLastRateNumber() == -1)
         Log.RateChecked(fullName);
     else
         Log.RateChanged(fullName);
 }
Example #2
0
 public void UpdateContextMenu(YotaParser parser, bool needSelection = true)
 {
     _contextMenuStrip.Items.Clear();
     if (parser != null && parser.IsParsed() && parser.DeviceIdExists(_deviceId))
     {
         // баланс
         var balance = parser.GetBalance();
         if (balance != "")
         {
             _contextMenuStrip.Items.Add("Баланс: " + balance);
             _contextMenuStrip.Items[_contextMenuStrip.Items.Count - 1].Tag = KeyBalance;
             _contextMenuStrip.Items.Add("-");
         }
         // тарифы
         int count = parser.GetRateCount(_deviceId);
         int current = parser.GetCurrentRateNum(_deviceId);
         for (int i = 0; i < count; ++i)
         {
             String code = parser.GetRateCode(_deviceId, i);
             if (Array.IndexOf(_excludeRatesCodes, code) == -1)
             {
                 String name = parser.GetRateName(_deviceId, i);
                 _contextMenuStrip.Items.Add(name);
                 _contextMenuStrip.Items[_contextMenuStrip.Items.Count - 1].Tag = i;
                 if (i == current && needSelection)
                     (_contextMenuStrip.Items[_contextMenuStrip.Items.Count - 1] as ToolStripMenuItem).Checked =
                         true;
             }
         }
         _contextMenuStrip.Items.Add("-");
     }
     var yet = new ToolStripMenuItem("Другое");
     yet.Tag = KeyOther;
     yet.DropDownItemClicked += OnItemClick;
     _contextMenuStrip.Items.Add(yet);
     var exit = new ToolStripMenuItem("Выход");
     exit.Tag = KeyExit;
     _contextMenuStrip.Items.Add(exit);
     if (_scheduler != null && _scheduler.NeedChangeOnEvent(Scheduler.KeyOnExitApp))
     {
         exit.DropDownItemClicked += OnItemClick;
         var directExit = new ToolStripMenuItem("Выход без изменения скорости");
         directExit.Tag = KeyDirectExit;
         exit.DropDownItems.Add(directExit);
     }
     // другое
     if (parser != null && _scheduler != null)
     {
         var schedule = new ToolStripMenuItem("Планировщик");
         schedule.Tag = KeySchedule;
         yet.DropDownItems.Add(schedule);
     }
     if (_needLog)
     {
         var log = new ToolStripMenuItem("Журнал");
         log.Tag = KeyLog;
         yet.DropDownItems.Add(log);
     }
     var settings = new ToolStripMenuItem("Настройки");
     settings.Tag = KeySettings;
     yet.DropDownItems.Add(settings);
     if (parser != null)
     {
         var device = new ToolStripMenuItem("Устройство");
         device.Tag = KeyDevice;
         device.DropDownItemClicked += OnDeviceChange;
         yet.DropDownItems.Add(device);
         String[] deviceIds = parser.GetProductInfos().Select(pi => pi.deviceId).ToArray();
         foreach (var deviceId in deviceIds)
         {
             var nextDeviceItem = new ToolStripMenuItem(parser.GetDeviceName(deviceId));
             nextDeviceItem.Tag = deviceId;
             if (deviceId == _deviceId)
                 nextDeviceItem.Checked = true;
             device.DropDownItems.Add(nextDeviceItem);
         }
     }
     var about = new ToolStripMenuItem("О программе");
     about.Tag = KeyAbout;
     yet.DropDownItems.Add(about);
 }