public async Task <ActionResult> EditAsync(SEOMetaData data) { if (!ModelState.IsValid) { TempData["msg"] = "Error: Data Not Valid"; return(RedirectToAction(nameof(Index))); } try { int id = await seoService.UpdateAsync(data); if (id > 0) { TempData["msg"] = "Edited."; } else { TempData["msg"] = "Error: Failure to update database"; } return(RedirectToAction(nameof(Index))); } catch { TempData["msg"] = "Update Failed"; return(RedirectToAction(nameof(Index))); } }
public async Task <ActionResult> DefaultAsync(SEOMetaData data) { data.Id = 1; await seoService.UpdateAsync(data); TempData["msg"] = "Default Set"; return(RedirectToAction(nameof(Index))); }
public SEOMetaData Get(int id) { SEOMetaData data = new SEOMetaData(); using (var context = new ApplicationContext()) { data = context.SEOMetaData.Single(x => x.Id == id); } return(data); }
public async Task <int> AddAsync(SEOMetaData data) { int success = 0; try { using (var context = new ApplicationContext()) { data.Path = CleanPath(data.Path); context.SEOMetaData.Add(data); await context.SaveChangesAsync(); success = 1; } } catch { } return(success); }
public async Task <ActionResult> CreateAsync(SEOMetaData data) { if (!ModelState.IsValid) { TempData["msg"] = "Error: Data Not Valid"; return(RedirectToAction(nameof(Index))); } try { //refuse if path already exists in database, suggest they edit //seoService.Get always returns something (default) so must make //so, it only exists if it returns an ID > 1 (valid id) and not default (1) SEOMetaData exists = seoService.Get(data.Path); if (exists != null && exists.Id > 1) { TempData["msg"] = "URL already in database. Edit instead."; return(RedirectToAction(nameof(Index))); } int id = await seoService.AddAsync(data); if (id > 0) { TempData["msg"] = "Added."; } else { TempData["msg"] = "Error: Failure to add to database"; } return(RedirectToAction(nameof(Index))); } catch { TempData["msg"] = "Add Failed"; return(RedirectToAction(nameof(Index))); } }
public SEOMetaData Get(string path) { SEOMetaData data = new SEOMetaData(); path = CleanPath(path); using (var context = new ApplicationContext()) { data = context.SEOMetaData.Single(x => x.Path == path); } //missing page, so get and use default if (data == null) { using (var context = new ApplicationContext()) { //default id is always 1 data = context.SEOMetaData.Single(x => x.Id == 1); } } return(data); }
// GET: SEO/Edit/5 public ActionResult Edit(int id) { SEOMetaData data = seoService.Get(id); return(View(data)); }
public ActionResult Default() { SEOMetaData data = seoService.Get(1); return(View(data)); }