Пример #1
0
        private bool LoadOrOpen(TableProcessor.LoadMode lm, string path)
        {
            string msg    = "";
            var    status = _table.LoadOrOpen(lm, path);

            if (status == TableProcessor.LoadStatus.OK)
            {
                if (TableProcessor.LoadModeToContentMode(lm) == TableProcessor.ContentMode.Normal)
                {
                    this._tcThreatsList.SelectedIndex = 0;
                    this._tbUpdatedThreats.IsEnabled  = false;
                    _paginatorNormal = new Paginator(this._dgAllThreatsList, _table.GetShortContent(TableProcessor.ContentMode.Normal), _ElementsOnPageComboBox);
                    BtnNext_Clicked(this._dgAllThreatsList, null);

                    msg = (lm == TableProcessor.LoadMode.OpenExisting ? "Открыто успешно!" : "Загружено успешно!");
                }
                else
                {
                    _paginatorNormal = new Paginator(this._dgAllThreatsList, _table.GetShortContent(TableProcessor.ContentMode.Normal), _ElementsOnPageComboBox);
                    this._tcThreatsList.SelectedIndex = 0;
                    BtnNext_Clicked(this._dgAllThreatsList, null);

                    this._tbUpdatedThreats.IsEnabled = true;

                    _paginatorChanges = new Paginator(this._dgChangedList, _table.GetShortContent(TableProcessor.ContentMode.Changed), _ElementsOnPageComboBox);
                    this._tcThreatsList.SelectedIndex = 1;
                    BtnNext_Clicked(this._dgChangedList, null);

                    msg  = "Обновлено успешно!\n";
                    msg += (_paginatorChanges._DataLength > 0 ? $"Обновленных записей: {_paginatorChanges._DataLength}"
                        : "Вот только ничего не обновилось...\nКак часто ФСТЭК делает обновы???");
                }
            }
            else // smth went wrong - choose msg
            {
                switch (status)
                {
                case TableProcessor.LoadStatus.NetWorkProblems:
                    msg = "Что-то пошло не так!\nСеть накрылась!";
                    break;

                case TableProcessor.LoadStatus.FileProblems:
                    msg = "Что-то пошло не так!\nПроблемы с файлом!\nСтоит попробовать другой...";
                    break;

                case TableProcessor.LoadStatus.SameFile:
                    msg = "Незачем открывать тот же самый файл.";
                    break;
                }
            }
            UserMsgWndShow(msg);
            return(status == TableProcessor.LoadStatus.OK);
        }