public ActionResult RobotsTxt() { string robotsTxt = "Sitemap: " + _siteUriResolver.MakeAbsolute("/sitemap.xml") + "\r\n"; if (HttpContext.IsDebuggingEnabled && Request.Url.Host.ToLower() != "localhost") { // Disallow when we're on the server but in debug mode robotsTxt += "User-agent: iisbot/1.0 (+http://www.iis.net/iisbot.html)\r\nAllow: /\r\nUser-agent: *\r\nDisallow: /"; } else if (System.IO.File.Exists(Server.MapPath("~/robots.txt"))) { return(File(Server.MapPath("~/robots.txt"), "text/plain")); } else { var settings = _queryExecutor.Get <SeoSettings>(); robotsTxt += settings.RobotsTxt; if (string.IsNullOrEmpty(robotsTxt)) { Response.StatusCode = 404; return(Content("Not found", "text/plain", Encoding.UTF8)); } } return(Content(robotsTxt, "text/plain", Encoding.UTF8)); }
public async Task ExecuteAsync(AddMasterCofoundryUserCommand command, IExecutionContext executionContext) { var settings = _queryExecutor.Get <InternalSettings>(); if (settings.IsSetup) { throw new ValidationException("Site is already set up."); } if (await _dbContext .Users .FilterCanLogIn() .AnyAsync(u => u.Role.SpecialistRoleTypeCode == SpecialistRoleTypeCodes.SuperAdministrator)) { throw new ValidationException("Cannot create a master user when master users already exist in the database."); } var role = await _dbContext .Roles .SingleOrDefaultAsync(r => r.SpecialistRoleTypeCode == SpecialistRoleTypeCodes.SuperAdministrator); EntityNotFoundException.ThrowIfNull(role, SpecialistRoleTypeCodes.SuperAdministrator); var userArea = await _dbContext .UserAreas .SingleOrDefaultAsync(a => a.UserAreaCode == CofoundryAdminUserArea.AreaCode); var user = MapAndAddUser(command, executionContext, role, userArea); await _dbContext.SaveChangesAsync(); command.OutputUserId = user.UserId; }
public async Task ExecuteAsync(SetupCofoundryCommand command, IExecutionContext executionContext) { var settings = _queryExecutor.Get <InternalSettings>(); if (settings.IsSetup) { throw new ApplicationException("Site is already set up."); } using (var scope = _transactionScopeFactory.Create()) { var userId = await CreateAdminUser(command); var impersonatedUserContext = await GetImpersonatedUserContext(executionContext, userId); var settingsCommand = await _queryExecutor.GetAsync <UpdateGeneralSiteSettingsCommand>(); settingsCommand.ApplicationName = command.ApplicationName; await _commandExecutor.ExecuteAsync(settingsCommand, impersonatedUserContext); // Take the opportunity to break the cache in case any additional install scripts have been run since initialization _objectCacheFactory.Clear(); // Setup Complete await _commandExecutor.ExecuteAsync(new MarkAsSetUpCommand(), impersonatedUserContext); scope.Complete(); } }
protected override void OnActionExecuting(ActionExecutingContext filterContext) { var settings = _queryExecutor.Get <InternalSettings>(); if (!settings.IsSetup) { filterContext.Result = Redirect(SetupRouteLibrary.Urls.Setup()); } }
public ActionResult Index() { var settings = _queryExecutor.Get <InternalSettings>(); if (settings.IsSetup) { return(RedirectToDashboard()); } // force sign-out - solves a rare case where you're re-initializing a db after being signed into a previous version. _loginService.SignOut(); return(View()); }
public Task ExecuteAsync(Controller controller, PageActionRoutingState state) { var internalSettings = _queryExecutor.Get <InternalSettings>(); if (!internalSettings.IsSetup) { var setup = _setupPageActionFactory.GetSetupPageAction(controller); if (setup == null) { throw new ApplicationException("ISetupPageActionFactory returned no action."); } state.Result = setup; } return(Task.FromResult(true)); }
public T Get <T>() where T : ICofoundrySettings { return(_queryExecutor.Get <T>()); }