コード例 #1
0
        /// <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;
        }
コード例 #2
0
        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)));
        }
コード例 #3
0
        /// <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());
        }
コード例 #4
0
 public bool Equals(FileSyntax fileSyntax)
 {
     return(this.Equals((object)fileSyntax));
 }