public async Task<ActionResult> NewQuote(QuoteViewModel vm) { using (var dbContext = new DatabaseContext()) { var quote = new Quote { Text = vm.Text, Submitter = dbContext.Users.Single(u => u.UserName == User.Identity.Name), CreatedAt = DateTime.Now, Tags = new List<Tag>() }; var user = dbContext.Users.SingleOrDefault(x => x.UserName == vm.Author); if (user != null) { quote.Author = user; } else { quote.AlternateAuthor = String.IsNullOrWhiteSpace(vm.Author) ? "Anonymous" : vm.Author; } dbContext.Quotes.Add(quote); vm = new QuoteViewModel(quote); await dbContext.SaveChangesAsync(); QuotesHub.NewQuote(quote); } return PartialView("_Quote", vm); }
public static void NewQuote(Quote q) { var quoteVM = new QuoteViewModel(q); var page = Render("_Quote", "Quotes", quoteVM); _context.Value.Clients.All.newQuote(page); var wc = new WebClient(); var jsonObject = new JObject(); jsonObject["channel"] = "#banter"; jsonObject["username"] = "******"; jsonObject["text"] = $"> {q.Text}\n - {quoteVM.Author} {q.CreatedAt.Year}\n(Created by {q.Submitter.UserName} {q.CreatedAt.ToPrettyInterval()})"; jsonObject["icon_emoji"] = ":kappa:"; wc.UploadString(ConfigurationManager.ConnectionStrings["Slack-Banter"].ConnectionString, "POST", jsonObject.ToString()); }