/// <summary> /// Gets all file names from directory. /// </summary> public void GetAllFilesInDirectory() { if (isWork) { RemoveNotExistFilesFromList(); } DirectoryInfo directory = new DirectoryInfo(this.fileDirectory); if (!Directory.Exists(fileDirectory)) { Directory.CreateDirectory(fileDirectory); } FileInfo[] files = directory.GetFiles(); if (files.Length == 0) { return; } FileSyntax syntax; int index = 0; string temp = ""; foreach (FileInfo file in files) { if (file.Extension == ".csv" || file.Extension == ".xml") { temp = ""; index = file.Name.LastIndexOf('.'); if (index == -1) { break; } for (int i = index - 1; i >= 0; i--) { if (char.IsNumber(file.Name[i])) { temp += file.Name[i]; } else { break; } } syntax = new FileSyntax(); syntax.extension = file.Extension; syntax.id = (!string.IsNullOrEmpty(temp)) ? (int.Parse(new string(temp.ToCharArray().Reverse().ToArray()))) : -1; syntax.name = file.Name.Substring(0, index - temp.Length); fileList.Add(syntax); } } isWork = true; }
public override bool Equals(object obj) { FileSyntax fileSyntax = obj as FileSyntax; if (fileSyntax == null) { return(false); } return((fileSyntax.name.Equals(this.name)) && (fileSyntax.id == this.id) && (fileSyntax.extension.Equals(this.extension))); }
/// <summary> /// Calculates maximum index for new generating file. /// </summary> /// <param name="fileSyntax"></param> /// <returns></returns> private int CalculateMaxIndex(FileSyntax fileSyntax) { List <int> numbers = new List <int>(); foreach (FileSyntax file in fileList) { if (file.name.Equals(fileSyntax.name)) { numbers.Add(file.id); } } return(numbers.Max()); }
public bool Equals(FileSyntax fileSyntax) { return(this.Equals((object)fileSyntax)); }