public ActionResult CreateBlog(BlogConfig config) { var result = AssertConfigurationIsNeeded(); if (result != null) return result; if (!ModelState.IsValid) return View("Index"); // Create the blog by storing the config config.Id = "Blog/Config"; RavenSession.Store(config); // Create default sections RavenSession.Store(new Section { Title = "Archive", IsActive = true, Position = 1, ControllerName = "Section", ActionName = "ArchivesList" }); RavenSession.Store(new Section { Title = "Tags", IsActive = true, Position = 2, ControllerName = "Section", ActionName = "TagsList" }); RavenSession.Store(new Section { Title = "Statistics", IsActive = true, Position = 3, ControllerName = "Section", ActionName = "PostsStatistics" }); var user = new User { FullName = "Default User", Email = config.OwnerEmail, Enabled = true, }.SetPassword("raccoon"); RavenSession.Store(user); return RedirectToAction("Success", config); }
private void SendNewCommentEmail(Post post, PostComments.Comment comment, User postAuthor) { if (requestValues.IsAuthenticated) return; // we don't send email for authenticated users var viewModel = comment.MapTo<NewCommentEmailViewModel>(); viewModel.PostId = RavenIdResolver.Resolve(post.Id); viewModel.PostTitle = HttpUtility.HtmlDecode(post.Title); viewModel.PostSlug = SlugConverter.TitleToSlug(post.Title); viewModel.BlogName = DocumentSession.Load<BlogConfig>("Blog/Config").Title; viewModel.Key = post.ShowPostEvenIfPrivate.MapTo<string>(); var subject = string.Format("{2}Comment on: {0} from {1}", viewModel.PostTitle, viewModel.BlogName, comment.IsSpam ? "[Spam] " : string.Empty); TaskExecutor.ExcuteLater(new SendEmailTask(viewModel.Email, subject, "NewComment", postAuthor.Email, viewModel)); }