public string DongleUpdate(string base64_question, int orgId, string orgName, int farms, int flags, string startDate, string endDate, string base64key, string endSupport, string address) { try { DateTime dtStart, dtEnd, dtSupport; if (!DateTime.TryParse(startDate, out dtStart) || !DateTime.TryParse(endDate, out dtEnd)) { throw new XmlRpcFaultException(-2, "Не верный форматы даты начала или конца."); } if (!DateTime.TryParse(endSupport, out dtSupport)) { throw new XmlRpcFaultException(-3, "Не верный форматы даты окончания поддержки."); } byte[] keyCode = Convert.FromBase64String(base64key); _log.Info(String.Format("Request For UpdateDongle {5:d} {0:s} {1:d} {2:d} {3:s} {4:s}", orgName, farms, flags, startDate, endDate, orgId)); GRDVendorKey key = new GRDVendorKey(); string ans = key.GetTRUAnswer(base64_question, orgId, orgName, farms, flags, dtStart, dtEnd, keyCode, dtSupport, address); key.Dispose(); if (ans == "") { throw new XmlRpcFaultException(-1, "Сервис обновления ключей не смог создать число-ответ"); } return(ans); } catch (GrdException gexc) { throw new XmlRpcFaultException((int)gexc.ErrorCode, gexc.Message); } }
private void button1_Click(object sender, EventArgs e) { int ret; GRDVendorKey key = new GRDVendorKey(); ret = key.GetOrgID(); try { /*ret = key.SetTRUKey(); * if (ret != 0) * throw new Exception(ret.ToString()); ; * * ret = key.WriteMask( * "Мистер-Кролл", * 110, * 21, * DateTime.Parse("2011-01-11"), * DateTime.Parse("2012-07-11")); * throw new Exception(ret.ToString());*/ } catch (Exception exc) { MessageBox.Show(exc.Message); } key.Dispose(); }
private void miTRUHostDongle_Click(object sender, EventArgs e) { GRDVendorKey key = new GRDVendorKey(); int p = key.SetTRUKey(); p = key.WriteTRUHostMask(); key.Dispose(); }
static void Main(string[] args) { log4net.Config.XmlConfigurator.Configure(); _logger = LogManager.GetLogger("RabDongleFirmuper"); int errCode = 0; try { if (args.Length == 0 || args[0] == "-h") { _logger.Debug("print help"); printHelp(); Environment.Exit(0); } _logger.Debug("---------- START ----------"); _grd = new GRDVendorKey(); if (args[0] == "-s") { _grd.WriteTRUHostMask(); } else if (args[0] == "-c") { if (args.Length > 1 && args[1] == "-u" && !String.IsNullOrEmpty(args[2])) { _url = args[2]; } _grd.SetTRUKey(); dongleUpdate(); Console.WriteLine("Success"); } } catch (GrdException exc) { _logger.Error(exc); Console.WriteLine("Grd Error: " + exc.Message); errCode = 1; } catch (Exception exc) { _logger.Fatal(exc); if (exc.InnerException != null) { exc = exc.InnerException; } Console.WriteLine("Error: " + exc.Message); errCode = 2; } finally { if (_grd != null) { _grd.Dispose(); } _logger.Debug("---------- END ----------"); Environment.Exit(errCode); } }
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(); }