Example #1
0
        private void DgTableClearCache_Click(object sender, RoutedEventArgs e)
        {
            ClearCacheRow(TypeCache.Local);
            ClearCacheRow(TypeCache.AppData);

            if (Dialog.DialogQuestion("Каталог удален.\nПересчитать размеры кеша?"))
            {
                UpdateSize();
            }
        }
Example #2
0
        private void BtnDelCacheSelected_Click(object sender, RoutedEventArgs e)
        {
            if (_selectedBases.Count == 0)
            {
                Dialog.ShowMessage("Не выбраны строки для удаления.");
                return;
            }
            else if (!Dialog.DialogQuestion($"Удалить кеши для баз в количестве - {_selectedBases.Count} шт."))
            {
                return;
            }

            new DirFile().DeleteCatalogCache(_selectedBases);

            if (Dialog.DialogQuestion("Каталоги удалены.\nПеречитать таблицу?"))
            {
                UpdateTable();
            }
        }
Example #3
0
        public List <RowBase> GetListBases(MainWindow main)
        {
            List <RowBase> list = new List <RowBase>();

            string pathIbases  = DefaultValues.GetNameFileIbases(_nameUser);
            string pathUserDir = DefaultValues.GetPathUserDir(_nameUser);

            try
            {
                new DirectoryInfo(pathUserDir).GetAccessControl();

                if (File.Exists(pathIbases))
                {
                    ReadFileIbases(list, pathIbases);
                    RemoveIncorrectRows(list);
                }
                else
                {
                    throw new DirectoryNotFoundException(pathIbases);
                }
            }
            catch (DirectoryNotFoundException)
            {
                Dialog.ShowMessage($"Файл списка баз не существует.");
            }
            catch (UnauthorizedAccessException)
            {
                if (_tryGetAccess)
                {
                    Dialog.ShowMessage($"Нет доступа к файлу списка баз: " +
                                       $"\n{pathIbases}");
                }

                else if (Dialog.DialogQuestion($"Нет доступа к файлу списка баз: " +
                                               $"\n{pathIbases}" +
                                               $"\nПопробовать получить доступ?"))
                {
                    _tryGetAccess = true;

                    Access.TryGetAccess(pathUserDir);

                    Thread.Sleep(1 * 1000);

                    main.Activate();

                    Dialog.ShowMessage("Вы уже должны были получить запрос на получение доступа в каталог выбранного пользователя." +
                                       "\nПосле закрытия этого окна будет выполнена попытка чтения данных.");

                    GetListBases(main);

                    //Process process = new Access(pathUserDir).TryGetAccess();

                    //if (process != null)
                    //{
                    //    process.EnableRaisingEvents = true;
                    //    process.Exited += Process_Exited;
                    //    process.Start();
                    //    process.WaitForExit();
                    //    Dialog.ShowMessage("Вы уже должны были получить запрос на получение доступа." +
                    //        "\nПосле закрытия каталога будет выполнен повторный запрос на получение данных.");
                    //}
                    //else
                    //    GetListBases();
                }
            }
            catch (Exception ex)
            {
                Dialog.ShowMessage("Произошла непредвиденная ошибка.");
                Dialog.ShowMessage(ex.Message);
            }

            return(list);
        }