示例#1
0
        public UpdateInfoMessage GetUpdateInfo()
        {
            UpdateInfoMessage message = new UpdateInfoMessage();

            message.Size = _updateInfo.Size;
            message.Files.AddRange(_filesList);
            return(message);
        }
示例#2
0
        private void updateInfo(UpdateInfoMessage info)
        {
            if (!this.IsDisposed)
            {
                switch (info.status)
                {
                case "OK":
                    this.Invoke(new simplefunc(() =>
                    {
                        tssMessage.Text = info.message;
                        this.Cursor     = Cursors.Arrow;
                    }));
                    break;

                case "DEBUG":
                    this.Invoke(new simplefunc(() =>
                    {
                        Debug(info.message);
                    }));
                    break;

                case "TRIGGERS":
                    this.Invoke(new simplefunc(() =>
                    {
                        long ticks = long.Parse(info.message);
                        double ms  = ticks / 10000;
                        Debug("Triggers fetched in: " + ms.ToString() + "ms");
                        updateAlerts();
                    }));
                    break;

                case "HOSTS":
                    this.Invoke(new simplefunc(() =>
                    {
                        long ticks = long.Parse(info.message);
                        double ms  = ticks / 10000;
                        Debug("Hosts fetched in: " + ms.ToString() + "ms");
                    }));
                    break;

                case "REFRESH":
                    break;

                default:
                    this.Invoke(new simplefunc(() =>
                    {
                        tssMessage.Text = info.message;
                        Debug(info.message);
                    }));
                    break;
                }
            }
        }
示例#3
0
        private void update_info(UpdateInfoMessage info)
        {
            switch (info.status)
            {
            case "OK":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content = "Подготовка к отображению карты";
                    LoadMaps();
                    this.Cursor    = Cursors.Arrow;
                    Status.Content = "online";
                }));
                break;

            case "START":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content = "Подключение к серверу";
                }));
                break;

            case "LOGIN":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content = "Авторизация на сервере";
                }));
                break;

            case "HOSTS":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content = "Получение списка узлов сети...";
                }));
                break;

            case "TRIGGERS":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content      = "Получение списка триггеров";
                    trHosts.ItemsSource = zApi.hostgroups;
                }));
                break;

            case "MAPS":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content = "Инициализация карты сети";
                    //listBox1.ItemsSource = zApi.triggers.collection;
                    //foreach (Zabbix.Trigger tr in zApi.triggers)
                    //{
                    //    vTriggers.Items.Add(tr);
                    //}
                    vTriggers.ItemsSource = zApi.triggers;
                }));
                break;

            case "DEBUG":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content = "Сохранение отладочной информации";
                }));
                break;

            case "REFRESH":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Status.Content = "refresh#" + info.message;
                    //this.Title = zApi.triggers.result[0].value;
                    string actMap = ActiveMap.name;
                    LoadMaps();
                    foreach (TreeViewItem item in trMaps.Items)
                    {
                        if (item.Header.ToString() == actMap)
                        {
                            ActiveMap       = (Map)item.Tag;
                            item.IsSelected = true;
                        }
                    }
                    ShowMap(ActiveMap);
                }));
                break;

            case "REFRESH_ERROR":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    errors.Content = info.message + " errors";
                    Status.Content = "При получении информации произошла ошибка";
                }));
                break;

            case "INFO":
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Index.Content = info.message;;
                }));
                break;



            default:
                this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
                {
                    Index.Content  = info.status;
                    errors.Content = info.message;
                }));
                break;
            }
            this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
            {
                //txtLog.Text += "[" + DateTime.Now.ToString() + "] "+info.sender.ToString()+"\n\t" + info.status + ": " + info.message + "\n\n";
                vLog.Items.Insert(0, new
                {
                    time    = DateTime.Now.ToString(),
                    sender  = info.sender.ToString(),
                    status  = info.status,
                    message = info.message
                });
            }));


            //if (message == "OK")
            //{
            //    this.Dispatcher.Invoke(DispatcherPriority.Normal, new simplefunc(() =>
            //    {
            //        LoadMaps();
            //        this.Cursor = Cursors.Arrow;
            //        trHosts.ItemsSource = zApi.hostgroups.collection;
            //        listBox1.ItemsSource = zApi.triggers.collection;
            //    }));
            //}
            //else
            //{

            //}
        }