public async Task<ActionResult> Save(DraftEditModel model) { model.EntryMode = EntryMode.SaveDraft; TryValidateModel(model); if (!ModelState.IsValid) { using (var parser = new MarkdownParser()) { model.Html = parser.Transform(model.Body); return View("Edit", model); } } var draft = await _draftDbCommand.FindAsync(model.Id) ?? Draft.NewDraft(LogonUser, model.ItemType); Mapper.Map(model, draft); draft.LastModifiedDateTime = DateTime.Now; await _draftDbCommand.SaveAsync(draft); return RedirectToAction("Index", "Draft"); }
public async Task<ActionResult> Publish(DraftEditModel model) { ModelState.Clear(); model.EntryMode = EntryMode.PublishItem; TryValidateModel(model); if (!ModelState.IsValid) { using (var parser = new MarkdownParser()) { model.Html = parser.Transform(model.Body); return View("Edit", model); } } var draft = await _draftDbCommand.FindAsync(model.Id, LogonUser) ?? Draft.NewDraft(LogonUser, model.ItemType); Mapper.Map(model, draft); var item = draft.ToItem(); item.PublishSince = model.PublishSince; item.PublishUntil = model.PublishUntil; await _itemDbCommand.SaveAsync(item); await _draftDbCommand.DeleteAsync(draft.Id, LogonUser); return RedirectToAction("Index", "Item"); }
public async Task<JsonResult> AutoSave(DraftEditModel model) { var draft = Mapper.Map<Draft>(model); draft.Author = LogonUser; draft.LastModifiedDateTime = DateTime.Now; await _draftDbCommand.SaveAsync(draft); return Json(new { draft.Id, Url = Url.Action("Edit", "Draft", new { id = draft.Id }) }); }