public static ITxtFileProcessor GetFileProcessor(TxtFileParser parser)
        {
            ITxtFileProcessor dataProvider = null;

            switch (parser.DataProviderType)
            {
            case DataProviderTypes.Real:
                dataProvider = new TxtFileProcessor(parser);
                break;

            case DataProviderTypes.Fake:
                dataProvider = new FakeFileProcessor(parser);
                break;

            default:
                break;
            }

            if (dataProvider != null)
            {
                if (!dataProvider.CheckFileExistance())
                {
                    dataProvider = null;
                }
            }

            return(dataProvider);
        }
Пример #2
0
        public static void ShowFileContent(TxtFileParser parser)
        {
            string[] content = parser.CurrentFileProcessor.ReadAllFile();

            foreach (string item in content)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine();
            Console.WriteLine(PRESS_ANY_KEY_MESSAGE);
            Console.ReadKey();
        }
Пример #3
0
        private static void CountLineEntries(string path, string line)
        {
            TxtFileParser parser = new TxtFileParser(path);

            if (parser.CurrentFileProcessor == null)
            {
                UI.ShowMessage(MessageTypes.FileNotFound);
                return;
            }

            int entryCount = parser.CountLineEntries(line);

            UI.ShowMessage(MessageTypes.LineEntryCount, entryCount.ToString());
        }
Пример #4
0
        public FakeFileProcessor(TxtFileParser parser)
        {
            _parser   = parser;
            _filePath = parser.FilePath;
            LargeFile = false;

            Data = new string[]
            {
                "Cats",
                "Dogs",
                "Cats",
                "Cats",
                "Dogs"
            };
        }
Пример #5
0
        private static void ChangeLines(string path, string searchLine, string newLine)
        {
            TxtFileParser parser = new TxtFileParser(path);

            if (parser.CurrentFileProcessor == null)
            {
                UI.ShowMessage(MessageTypes.FileNotFound);
                return;
            }

            if (parser.ReplaceLine(searchLine, newLine))
            {
                UI.ShowFileContent(parser);
            }
            else
            {
                UI.ShowMessage(MessageTypes.LineNotFound, newLine);
            }
        }
Пример #6
0
 public TxtFileProcessor(TxtFileParser parser)
 {
     _parser   = parser;
     _filePath = Path.GetFullPath(parser.FilePath);
 }