コード例 #1
0
ファイル: MainForm.cs プロジェクト: x-plora/miakro911
        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;
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: x-plora/miakro911
        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();
        }