Beispiel #1
0
        private static void ConfigureServices(HostBuilderContext host, IServiceCollection services)
        {
            services.AddSingleton <MainViewModel>();
#if DEBUG
            services.AddTransient <IMailService, DebugMailService>();
#else
            services.AddTransient <IMailService, SmtpMailService>();
#endif
            var store = new DataStorageInMemory();
            services.AddSingleton <IServerStorage>(store);
            services.AddSingleton <ISenderStorage>(store);
            services.AddSingleton <IRecipientStorage>(store);
            services.AddSingleton <IEmailStorage>(store);
        }
Beispiel #2
0
        private static void ConfigureServices(
            HostBuilderContext host,
            IServiceCollection services)
        {
            // Здесь нам надо добавить все сервисы нашего приложения
            // в коллекцию services
            // В переменной host хранится информация, на пример,
            // о пути запуска нашего приложения
            services.AddSingleton <MainWindowViewModel>();
            //services.AddTransient<IMailService, SmtpMailService>();
#if DEBUG
            services.AddTransient <IMailService, SmtpMailService>();
#else
            services.AddTransient <IMailService, SmtpMailService>();
#endif

            services.AddSingleton <IEncryptorService, Rfc2898Encryptor>();

            services.AddDbContext <MailSenderDB>(opt => opt
                                                 .UseSqlServer(host.Configuration.GetConnectionString("Default")));
            services.AddTransient <MailSenderDbInitializer>();

            //services.AddSingleton<IStore<Recipient>, RecipientsStoreInMemory>();
            services.AddSingleton <IStore <Recipient>, RecipientsStoreInDB>();
            services.AddSingleton <IStore <Sender>, SendersStoreInDB>();
            services.AddSingleton <IStore <Server>, ServersStoreInDB>();
            services.AddSingleton <IStore <Message>, MessagesStoreInDB>();
            services.AddSingleton <IStore <SchedulerTask>, SchedulerTasksStoreInDB>();

            services.AddSingleton <IMailSchedulerService, TaskMailSchedulerService>();
            //...


            // Выбираем либо этот блок
            var memory_store = new DataStorageInMemory();
            services.AddSingleton <IServerStorage>(memory_store);
            services.AddSingleton <ISendersStorage>(memory_store);
            services.AddSingleton <IRecipientsStorage>(memory_store);
            services.AddSingleton <IMessagesStorage>(memory_store);
            //либо этот. Один надо закомментировать, другой - раскомментировать
            //const string data_file_name = "MailSenderStorage.xml";
            //var file_storage = new DataStorageInXmlFile(data_file_name);
            //services.AddSingleton<IServerStorage>(file_storage);
            //services.AddSingleton<ISendersStorage>(file_storage);
            //services.AddSingleton<IRecipientsStorage>(file_storage);
            //services.AddSingleton<IMessagesStorage>(file_storage);

            services.AddSingleton <IEncryptorService, Rfc2898Encryptor>();
        }
Beispiel #3
0
        private static void ConfigureServices(HostBuilderContext host, IServiceCollection services)
        {
            services.AddSingleton <MainWindowViewModel>();
            services.AddSingleton <IEncryptorService, Rfc2898Encryptor>();
#if DEBUG
            services.AddTransient <IMailService, DebugMailService>();
#else
            services.AddTransient <IMailService, SmtpMailService>();
#endif
            services.AddTransient <IDialogMsgBoxService, MsgBoxDialog>();

            DataStorageInMemory memory_store = new DataStorageInMemory();
            services.AddSingleton <IServersStorage>(memory_store);
            services.AddSingleton <ISendersStorage>(memory_store);
            services.AddSingleton <IRecipientsStorage>(memory_store);
            services.AddSingleton <IMessagesStorage>(memory_store);
        }