Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public void Stop(OutputManager om)
        {
            stopWatch.Stop();
            timeSpan = stopWatch.Elapsed;
            string curLog = string.Format("> Время выполнения программы составило {0} миллисекунд.", timeSpan.Milliseconds);

            om.addLog(curLog);
        }
Exemplo n.º 3
0
 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("Нет параметра!");
     }
 }
Exemplo n.º 4
0
        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);
        }