Пример #1
0
        private async Task <IEnumerable <Site> > InsertInitialSiteAsync()
        {
            int?outgoingMailPort = null;

            if (!string.IsNullOrEmpty(_config[ConfigurationKey.DefaultOutgoingMailPort]))
            {
                outgoingMailPort = int.Parse(_config[ConfigurationKey.DefaultOutgoingMailPort]);
            }

            var site = new Site
            {
                IsDefault            = true,
                Name                 = _config[ConfigurationKey.DefaultSiteName],
                PageTitle            = _config[ConfigurationKey.DefaultPageTitle],
                Path                 = _config[ConfigurationKey.DefaultSitePath],
                Footer               = _config[ConfigurationKey.DefaultFooter],
                OutgoingMailHost     = _config[ConfigurationKey.DefaultOutgoingMailHost],
                OutgoingMailLogin    = _config[ConfigurationKey.DefaultOutgoingMailLogin],
                OutgoingMailPassword = _config[ConfigurationKey.DefaultOutgoingMailPassword],
                OutgoingMailPort     = outgoingMailPort,
                RegistrationOpens    = _dateTimeProvider.Now,
                ProgramStarts        = _dateTimeProvider.Now,
                ProgramEnds          = _dateTimeProvider.Now.AddDays(60),
                AccessClosed         = _dateTimeProvider.Now.AddDays(90)
            };

            site = await _siteRepository.AddSaveAsync(-1, site);

            await _cache.RemoveAsync(CacheKey.Sites);

            _logger.LogInformation("Inserted initial site named: {SiteName}", site.Name);

            await _initialSetupService.InsertAsync(site.Id,
                                                   _config[ConfigurationKey.InitialAuthorizationCode]);

            _logger.LogInformation("Inserted initial authorization code");

            return(new List <Site>
            {
                site
            });
        }