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 }
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}'"); } }