public async Task <ActionResult> AdminCreateFaq(CreateSupportFaqModel model) { if (!ModelState.IsValid) { return(View("AdminCreateFaqModal", model)); } var result = await SupportWriter.AdminCreateSupportFaq(User.Id(), model); if (!ModelState.IsWriterResultValid(result)) { return(View("AdminCreateFaqModal", model)); } return(CloseModalRedirect(Url.Action("Index", "Admin"))); }
public async Task <IWriterResult <bool> > AdminCreateSupportFaq(string userId, CreateSupportFaqModel model) { using (var context = DataContextFactory.CreateContext()) { var faq = await context.SupportFaq.FirstOrDefaultNoLockAsync(x => x.Question == model.Question); if (faq != null) { return(WriterResult <bool> .ErrorResult("FAQ with question '{0}' already exists.", model.Question)); } int order = context.SupportFaq.Count() + 1; context.SupportFaq.Add(new SupportFaq { Question = model.Question, Answer = model.Answer, Order = order, IsEnabled = true }); await context.SaveChangesAsync(); return(WriterResult <bool> .SuccessResult()); } }