Пример #1
0
        public static void Main(string[] args)
        {
            var vkApi    = new VkApi(new Logger <VkApi>(new BotLoggerFactory(Log)));
            var vkClient = new VkClient(vkApi);

            #region Auth

            ConsoleLog.Info("Идет авторизация...");
            var vkAuth     = new VkAuthorizer(vkApi, Log, "", "");
            var authResult = vkAuth.TryAuthorize();
            if (authResult)
            {
                ConsoleLog.Info("Авторизация прошла успешно");
            }
            else
            {
                ConsoleLog.Info("Авторизация закончилась с ошибкой. См. логи");
                return;
            }

            #endregion

            #region RunBot

            try
            {
                RunBot(vkApi, vkClient);
            }
            catch (Exception e)
            {
                Log.Error($"Message: {e.Message}\nStackTrace: {e.StackTrace}\nInnerException: {e.InnerException}");
                ConsoleLog.Error($"Произошла ошибка в боте. Ему стало плохо. См. логи");
            }

            #endregion
        }
Пример #2
0
        public void Start()
        {
            while (true)
            {
                Console.Write("Укажите путь до файла: ");
                var pathToInputFile = Console.ReadLine();
                if (!File.Exists(pathToInputFile))
                {
                    colorConsoleLog.Warn($"Файл не найден: '{pathToInputFile}'");
                    continue;
                }

                XDocument inputDocument;
                try
                {
                    inputDocument = XDocument.Load(pathToInputFile);
                }
                catch (Exception e)
                {
                    colorConsoleLog.Error($"Произошла ошибка при чтении файла: '{pathToInputFile}'");
                    colorConsoleLog.Error($"Message: {e.Message}\nStacktrace: {e.StackTrace}");
                    continue;
                }

                var metcastInfo    = new MetcastXmlParser(inputDocument, colorConsoleLog).GetMetcastTownInfos();
                var transformer    = new DataTransformer(metcastInfo);
                var outputDocument = transformer.Transform();

                var oldFileName = Path.GetFileNameWithoutExtension(pathToInputFile);
                var newFileName = $"{oldFileName}_output.xml";
                var outputPath  = Path.Combine(Path.GetDirectoryName(pathToInputFile), newFileName);
                if (File.Exists(outputPath))
                {
                    File.Delete(outputPath);
                }
                outputDocument.Save(outputPath);

                colorConsoleLog.Info($"Выходной файл сохранен по пути: '{outputPath}'");
            }
        }