Exemple #1
0
        static void Main(string[] args)
        {
            var logger = LoggerModule.GetLogger();

            try
            {
                logger.Info("Приложение запущено");

                // Собираем контейнер.
                var builder = new ContainerBuilder();
                builder.RegisterModule <LoggerModule>();
                builder.RegisterModule <ApartmentsMonitorServiceModule>();
                var container = builder.Build();

                // Запускаем.
                container.Resolve <ApartmentsMonitorWorker>().Start();

                // Ожидаем завершения приложения.
                ManualResetEvent resetEvent = new ManualResetEvent(false);
                resetEvent.WaitOne();
                container.Dispose();

                logger.Info("Работа приложения завершена");
            }
            catch (Exception ex)
            {
                logger.Error("Произошла ошибка во время работы приложения", ex);
                throw;
            }
        }
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterInstance(LoggerModule.GetLogger()).As <ILogger>();
            builder.RegisterType <MainWindow>().AsSelf();
            builder.RegisterType <MainWindowViewModel>().AsSelf();
            builder.RegisterType <MapViewModel>().AsSelf();
            builder.RegisterType <RegionsService>().AsSelf();
            builder.RegisterType <ApartmentService>().AsSelf();
            builder.RegisterType <ApplicationContextProvider>().As <IDatabaseContextProvider>();

            var config = RegisterOptions(builder);

            if (config.UseOriginalProvider)
            {
                builder.RegisterType <AvitoApartmentsProvider>().As <IApartmentsProvider>();
            }
            else
            {
                builder.RegisterType <DatabaseApartmentsProvider>().As <IApartmentsProvider>();
            }
        }
Exemple #3
0
        static void Main(string[] args)
        {
            _logger = LoggerModule.GetLogger();
            _logger.Info("Приложение запущено!");

            try
            {
                ISettingsService <CashlogSettings> settingsService = new CashlogSettingsService();
                var config = settingsService.ReadSettings();
                if (string.IsNullOrEmpty(config.TelegramBotToken))
                {
                    throw new InvalidOperationException($"Поле `{nameof(config.TelegramBotToken)}` в конфиге пустое");
                }

                WorkOn();

                _logger.Info("Приложение завершило свою работу");
            }
            catch (Exception ex)
            {
                _logger.Error("Во время работы приложения произошла ошибка", ex);
                throw;
            }
        }