public FrmLogin(IHermesDevice device) : base(device) { _device = device; PinNameIdOrderman user; if (!AllUser.AllUseraList.TryGetValue(_device.SerialNumber, out user)) { Logger.Info("ERROR, new FrmLogin for ORDERMAN: {0}", _device.SerialNumber); FormMain.SendMail("ERROR, new FrmLogin for ORDERMAN:" + _device.SerialNumber.ToString(), "ERROR"); var recordbuild = new BusinessForm(this._device); recordbuild.BuildRecordSets(this._device); Dg = new DGobject { Device = _device, IdOrderman = _device.SerialNumber, FrmLogin = this, SleepForm = RecSets.CurrentForm.FrmLogin, Menu = recordbuild.Menu, CurrentOrder = recordbuild.CurrentOrder, TableReservation = false }; AllUser.AllUseraList.Add(_device.SerialNumber, new PinNameIdOrderman() { DgObject = this.Dg, Id = _device.SerialNumber, Sleep = false }); } else { Dg = user.DgObject; Dg.FrmLogin = this; Dg.SleepForm = RecSets.CurrentForm.FrmLogin; Dg.TableReservation = false; } Theme = "custom"; }
protected override void OnLoaded() { //Проверяем допустимое количество ордерманов if (SeeNumber(FormMain.NumOrderman)) return; //обнаружить, если мы находимся в синхронизации int oldResSum; int oldDataSum; var resInSync = false; var dataInSync = false; if (ReadChecksum(out oldResSum, out oldDataSum) == true && this._device is ISol) { var sol = (ISol)this._device; if (sol.ResourceChecksum == oldResSum) _resInSync = true; if (sol.DataChecksum == oldDataSum) _dataInSync = true; } //Раскоментировать, если нехотим каждый раз грузить рекордсеты //if (_dataInSync != true || _resInSync != true) //{ // if (_connectionType != HermesManager.ConnectionType.IP) // { // var text = "Ресурсы не синхронизированы. Прибор на радиоканале." + // Environment.NewLine + "Поставте прибор на станцию!"; // FormMain.ConsolePrint(text); // //RemoveUser(); // return; // } // _lblProgress.Visible = true; //} if (_connectionType == HermesManager.ConnectionType.IP) RemoveUser(); // Раскоментировать/закоментировать следующий, если нехотим каждый раз грузить рекордсеты //if (_dataInSync == false) if (_connectionType == HermesManager.ConnectionType.IP) { //RemoveUser(); var recordbuild = new BusinessForm(this._device); recordbuild.BuildRecordSets(this._device); _dg.CurrentOrder = recordbuild.CurrentOrder; _dg.Menu = recordbuild.Menu; _lblHeader.Text = "Загрузка меню и официантов .."; _lblProgress.Text = "0%"; _lblProgress.Visible = true; _pBar.Value = 0; _pBar.Visible = true; _lblHeader.Visible = true; var count = recordbuild.RecordSets.Count; var pos = 0; // NO --> let's download the record sets foreach (RecordSet set in recordbuild.RecordSets.Values) { this._device.Data.Download(set); pos++; _pBar.Value = 100 * pos / count; SetProgress((pos - 1) * 100 / count); this._device.Transmit(); } //Загрузка StringTables Menu/Modifiers this._device.Data.Download(recordbuild.MenuStringTables[RecSets.StringTables.Menu.ToString()]); this._device.Transmit(); SetProgress(100); } if (_resInSync == false) { _lblHeader.Text = "Загрузка оформления..."; _lblProgress.Text = "0%"; _pBar.Value = 0; this._device.Resources.Download(UpdateProgress); } else if (_dataInSync == false) RequestNewChecksums(); else { //Проверяем если вышли из SLEEP if (SeeSleep(_device.SerialNumber)) return; DeviceIsInSync(); } }