//private void Process_Exited(object sender, EventArgs e) //{ // GetListBases(); //} private static void ReadFileIbases(List <RowBase> list, string pathIbases) { using (StreamReader stream = new StreamReader(pathIbases)) { RowBase rowBase = null; string rowFile = null; do { rowFile = stream.ReadLine(); if (rowFile != null) { if (rowFile.StartsWith("[")) { string name = rowFile.Replace("[", "").Replace("]", ""); rowBase = new RowBase() { Name = name, DateCreate = DateTime.MaxValue }; list.Add(rowBase); } else if (rowBase != null) { string[] arrDataRow = rowFile.Split('='); switch (arrDataRow[0]) { case "ID": rowBase.ID = arrDataRow[1]; break; case "Folder": rowBase.Folder = arrDataRow[1]; break; case "Connect": rowBase.Connect = rowFile.Replace("Connect=", ""); break; case "App": rowBase.App = arrDataRow[1]; break; case "Version": rowBase.Version = arrDataRow[1]; break; } } } }while (rowFile != null); } }
private void SetValuePeriod() { DateTime maxValueDate = DateTime.MinValue; DateTime minValueDate = DateTime.MaxValue; DirFile dirFile = new DirFile(); for (int i = 0; i < _listBases.Count(); i++) { RowBase currentElement = _listBases.ElementAt(i); maxValueDate = dirFile.CompareDateMinus(maxValueDate, currentElement.DateCreate); maxValueDate = dirFile.CompareDateMinus(maxValueDate, currentElement.DateEdit); minValueDate = dirFile.CompareDatePlus(minValueDate, currentElement.DateCreate); minValueDate = dirFile.CompareDatePlus(minValueDate, currentElement.DateEdit); } datePBegin.SelectedDate = minValueDate; datePEnd.SelectedDate = maxValueDate; }
private void ReadCachePath(ref IEnumerable <RowBase> list, ref ulong totalByte, ref string total, List <RowBase> listCache, string path, TypeCache typeCache) { try { DirectoryInfo[] dirCache = new DirectoryInfo(path).GetDirectories(); foreach (DirectoryInfo dir in dirCache) { string nameDir = dir.Name; if (nameDir.Count(f => f == '-') == 4) { RowBase rowBase = listCache.FirstOrDefault(f => f.ID == nameDir); if (rowBase == null) { rowBase = new RowBase() { Name = _nameRowIsNotList, ID = nameDir, DateCreate = DateTime.MaxValue }; listCache.Add(rowBase); } DirFile dirFile = new DirFile(dir.FullName); ulong sizeByte = dirFile.GetDirSize(); Tuple <DateTime, DateTime> dateCreateEdit = dirFile.GetDateCreateEdited(); rowBase.DateCreate = dirFile.CompareDatePlus(rowBase.DateCreate, dateCreateEdit.Item1); rowBase.DateEdit = dirFile.CompareDateMinus(rowBase.DateEdit, dateCreateEdit.Item2); string size = new DirFile().GetSizeFormat(sizeByte); if (typeCache == TypeCache.Local) { rowBase.PathCacheLocal = dir.FullName; rowBase.SizeLocal = size; } else if (typeCache == TypeCache.AppData) { rowBase.PathCacheAppData = dir.FullName; rowBase.SizeAppData = size; } rowBase.SizeByte += sizeByte; totalByte += sizeByte; } } RemoveIncorrectRows(listCache); total = new DirFile().GetSizeFormat(totalByte); listCache.Sort(); list = listCache; } catch (DirectoryNotFoundException) { Dialog.ShowMessage($"Не удалось получить данные с каталога: \n{path}\nКаталог кеша не существует."); } catch (UnauthorizedAccessException) { Dialog.ShowMessage($"Нет доступа к каталогу кеша: \n{path}"); } catch (Exception ex) { Dialog.ShowMessage("Произошла непредвиденная ошибка."); Dialog.ShowMessage(ex.Message); } }