private void btEditKey_Click(object sender, EventArgs e) { this.Enabled = false; try { if (lvDongles.SelectedItems.Count == 0) { throw new Exception("Не выбран ключ"); } if (lvClients.SelectedItems.Count == 0) { throw new Exception("Не выбран пользователь"); } sClient client = lvClients.SelectedItems[0].Tag as sClient; sDongle dongle = lvDongles.SelectedItems[0].Tag as sDongle; //GRDVendorKey key = new GRDVendorKey(); //if (key.ID == 0) //throw new Exception("Произошла ошибка подключения к ключу.\nПодробности в логах"); AddDongleForm dlg = new AddDongleForm(client, dongle, true); if (dlg.ShowDialog() == DialogResult.OK) { /*string q; * int retCode = key.GetTRUQuestion(out q); * if (retCode != 0) throw new Exception("Ощибка при генерировании числа-вопроса: " + retCode.ToString()); * ResponceItem s = _reqSend.ExecuteMethod(MethodName.VendorUpdateDongle, //MName.VendorSheduleDongle, * MPN.base64_question, q, * MPN.orgId, client.Id, * MPN.farms, dlg.Farms.ToString(), * MPN.flags, dlg.Flags.ToString(), * MPN.startDate, (lvDongles.SelectedItems[0].Tag as sDongle).StartDate, * MPN.endDate, dlg.EndDate.ToString("yyyy-MM-dd"), * MPN.dongleId, key.ID.ToString()); * * retCode = key.SetTRUAnswer(s.Value.ToString()); * if (retCode != 0) throw new Exception("Ощибка установки числа ответа: " + retCode.ToString()); * MessageBox.Show("Прошивка Завершена");*/ ResponceItem s = _reqSend.ExecuteMethod(MethodName.VendorSheduleDongle, MPN.orgId, client.Id, MPN.farms, dlg.Farms.ToString(), MPN.flags, dlg.Flags.ToString(), MPN.startDate, (lvDongles.SelectedItems[0].Tag as sDongle).StartDate, MPN.endDate, dlg.EndDate.ToString("yyyy-MM-dd"), MPN.dongleId, dongle.Id); MessageBox.Show("Отправлено"); } //key.Dispose(); } catch (Exception exc) { MessageBox.Show( (exc.InnerException != null) ? exc.InnerException.Message : exc.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } fillUsers(); this.Enabled = true; }
private void btAddKey_Click(object sender, System.EventArgs e) { GRDVendorKey key = null; try { int retCode = 0; if (lvClients.SelectedItems.Count == 0) { throw new Exception("Не выбран клиент"); } sClient client = lvClients.SelectedItems[0].Tag as sClient; key = new GRDVendorKey(); if (key.ID == 0) { throw new Exception("Произошла ошибка подключения к ключу.\nПодробности в логах"); } #if !DEBUG foreach (sDongle d in client.Dongles) { if (d.Id == key.ID.ToString()) { throw new Exception("Данный клиент уже имеет этот ключ"); } } #endif this.Enabled = false; AddDongleForm dlg = new AddDongleForm(client, key.ID, true); if (dlg.ShowDialog() == DialogResult.OK) { _reqSend.ExecuteMethod(MethodName.VendorAddDongle, MPN.dongleId, key.ID.ToString(), MPN.orgId, client.Id, MPN.model, key.Model.ToString()); retCode = key.SetTRUKey(); if (retCode != 0) { throw new Exception("Ощибка при инициализации ключа: " + retCode.ToString()); } string q = ""; retCode = key.GetTRUQuestion(out q); if (retCode != 0) { throw new Exception("Ощибка при генерировании числа-вопроса: " + retCode.ToString()); } ResponceItem s = _reqSend.ExecuteMethod(MethodName.VendorUpdateDongle, MPN.base64_question, q, MPN.orgId, client.Id, MPN.farms, dlg.Farms.ToString(), MPN.flags, dlg.Flags.ToString(), MPN.startDate, dlg.StartDate.ToString("yyyy-MM-dd"), MPN.endDate, dlg.EndDate.ToString("yyyy-MM-dd"), MPN.dongleId, key.ID.ToString()); string ans = s.Value.ToString(); if (ans == "") { throw new Exception("Пустое число-ответ"); } key.SetTRUAnswer(ans); MessageBox.Show("Прошивка Завершена"); } } catch (Exception exc) { MessageBox.Show( (exc.InnerException != null) ? exc.InnerException.Message : exc.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } if (key != null) { key.Dispose(); } this.Enabled = true; fillUsers(); }