// // GET: /Gallery/ public ViewResult Index(string search, int? page) { var presentations = Entities.PresentationsWithTags().OrderBy(g => g.Title); var cm = new WebPresentationsCacheManager(); List<Presentation> result; try { if (!String.IsNullOrEmpty(search)) { if (cm.Contains(search)) { result = (List<Presentation>) cm.GetData(search); } else { result = EntitiesIndexer.QueryPresentations(search); cm.Add(search, result); } } else { result = presentations.ToList(); } } catch { result = new List<Presentation>(); } var gallery = GenerateGallery(result); int pageSize = 6; int pageNumber = (page ?? 1); return View(gallery.ToPagedList(pageNumber, pageSize)); }
public JsonResult Create(EditorViewModel model) { if (ModelState.IsValid) { var tags = Entities.ParseTags(model.TagString); var presentation = new Presentation { Title = model.Title, Description = model.Description, Json = model.Json, HtmlContents = model.HtmlContents, Tags = tags, UserName = User.Identity.Name }; try { Entities.AddToPresentations(presentation); EntitiesIndexer.AddPresentationToIndex(presentation); var cm = new WebPresentationsCacheManager(); cm.Flush(); } catch { return Json("Fail"); } return Json("Success"); } return Json("Fail"); }
// // GET: /Editor/Update public JsonResult Update(int id, string jsonString, string htmlContents) { var presentation = Entities.GetPresentation(id); if (presentation != null) { if (Entities.UserOwnsPresentation(id, User.Identity.Name)) { try { presentation.Json = jsonString; presentation.HtmlContents = htmlContents; Entities.Update(); EntitiesIndexer.UpdatePresentationIndex(presentation); var cm = new WebPresentationsCacheManager(); cm.Flush(); } catch { return Json(new {message = "Fail"}); } return Json(new {message = "Success"}); } } return Json(new { message = "Fail" }); }