Beispiel #1
0
        //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);
            }
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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);
            }
        }