Beispiel #1
0
        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;
        }
Beispiel #2
0
        private void fillUsers()
        {
            lvDongles.Items.Clear();

            lvClients.Items.Clear();
            ResponceItem ri = _reqSend.ExecuteMethod(MethodName.GetClients);

            foreach (sClient cl in (ri.Value as sClient[]))
            {
                ListViewItem lvi = lvClients.Items.Add(cl.Organization);
                lvi.SubItems.Add(cl.ContactMan);
                lvi.SubItems.Add(cl.Money);
                lvi.SubItems.Add(cl.Address);
                lvi.SubItems.Add(cl.SAAS ? "SAAS" : "BOX");
                lvi.Tag = cl;
            }
        }
Beispiel #3
0
        private static void dongleUpdate()
        {
            VenReqSender reqSend = new VenReqSender();

            reqSend.Url    = Helper.UriNormalize(_url);
            reqSend.UserID = 0;
            reqSend.Key    = new byte[GRD_Base.KEY_CODE_LENGTH];

            byte[] defPass = Encoding.UTF8.GetBytes(DEF_PWD);
            Array.Copy(defPass, reqSend.Key, defPass.Length);

            string       q  = _grd.GetTRUQuestion();
            ResponceItem ri = reqSend.ExecuteMethod(MethodName.ClientGetUpdate,
                                                    MPN.question, q);

            if (String.IsNullOrEmpty(ri.Value as String))
            {
                throw new Exception("Получен пустой ответ от сервера");
            }
            _grd.SetTRUAnswer(ri.Value as String);
        }
Beispiel #4
0
        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();
        }