protected void Parse(string file, OutputManager om) { int validDegree; Operation tempOperation; om.addLog(string.Format("# Текущий поток: {0}.", Thread.CurrentThread.Name)); XDocument document = XDocument.Load(file, LoadOptions.SetLineInfo); foreach (XElement el in document.Root.Elements()) { validDegree = 0; tempOperation = new Operation(); foreach (XElement element in el.Elements()) { if (checker.CheckOperation(element)) { AddOperation(element, ref tempOperation, ref validDegree); } } if (validDegree == 3 && checker.CheckZeroDivide(tempOperation, el)) { example.AddOperation(tempOperation); success++; } } example.CalculateAll(); om.addLogList(logs); }
public void Stop(OutputManager om) { stopWatch.Stop(); timeSpan = stopWatch.Elapsed; string curLog = string.Format("> Время выполнения программы составило {0} миллисекунд.", timeSpan.Milliseconds); om.addLog(curLog); }
public InputManager(string[] args, OutputManager om) { if (ArgsCheck(args)) { files = Directory.GetFiles(args[0], "*.xml"); count = files.Length; state = true; } else { state = false; om.addLog("Нет параметра!"); } }
static void Main(string[] args) { TimerManager timerManager = new TimerManager(); timerManager.Start(); OutputManager outputManager = new OutputManager(); InputManager inputManager = new InputManager(args, outputManager); List <ParseManager> parsemanagers = new List <ParseManager>(); for (int i = 0; i < inputManager.count; i++) { parsemanagers.Add(new ParseManager(inputManager.files.ElementAt(i))); parsemanagers.ElementAt(i).Work(outputManager); } parsemanagers.Sort(); outputManager.addLog(string.Format("> Наибольшее количество успешно десериализованных элементов в файле: {0}.", parsemanagers.Last().file)); timerManager.Stop(outputManager); outputManager.WriteAll(); Console.ReadKey(true); }