public async System.Threading.Tasks.Task <ActionResult> Edit(int?id) { if (id > 0) { var vCase = await _db.Cases.FindAsync(id); if (vCase == null) { AR.Setfailure(Messages.HttpNotFound); return(Json(AR, JsonRequestBehavior.AllowGet)); } var editCase = _mapper.Map <Case, CaseIM>(vCase); var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == ModelType.CASE && d.ObjectId == editCase.Id.ToString()); if (pageMeta != null) { editCase.SEOTitle = pageMeta.Title; editCase.Keywords = pageMeta.Keyword; editCase.SEODescription = pageMeta.Description; } return(View(editCase)); } else { var vm = new CaseIM { Active = true, Pubdate = DateTime.Now }; return(View(vm)); } }
public async System.Threading.Tasks.Task <JsonResult> Edit(CaseIM vm) { if (!ModelState.IsValid) { AR.Setfailure(GetModelErrorMessage()); return(Json(AR, JsonRequestBehavior.DenyGet)); } //try //{ if (vm.Id > 0) { var editCase = await _db.Cases.FindAsync(vm.Id); editCase = _mapper.Map(vm, editCase); _db.Entry(editCase).State = EntityState.Modified; await _db.SaveChangesAsync(); var pageMeta = await _db.PageMetas.FirstOrDefaultAsync(d => d.ModelType == ModelType.CASE && d.ObjectId == editCase.Id.ToString()); pageMeta = pageMeta ?? new PageMeta(); pageMeta.ObjectId = vm.Id.ToString(); pageMeta.Title = string.IsNullOrEmpty(vm.Title) ? vm.Title : vm.Title; pageMeta.Keyword = string.IsNullOrEmpty(vm.Keywords) ? vm.Title : vm.Keywords.Replace(',', ','); pageMeta.Description = vm.SEODescription; pageMeta.ModelType = ModelType.CASE; if (pageMeta.Id > 0) { _db.Entry(pageMeta).State = EntityState.Modified; } else { _db.PageMetas.Add(pageMeta); } await _db.SaveChangesAsync(); AR.SetSuccess(String.Format(Messages.AlertUpdateSuccess, EntityNames.Case)); return(Json(AR, JsonRequestBehavior.DenyGet)); } else { var newCase = _mapper.Map <CaseIM, Case>(vm); newCase = _db.Cases.Add(newCase); var result = await _db.SaveChangesAsync(); if (result > 0) { if (!string.IsNullOrEmpty(vm.Keywords) || !string.IsNullOrEmpty(vm.SEODescription)) { var pm = new PageMeta { Title = vm.SEOTitle, Description = vm.SEODescription, Keyword = vm.Keywords, ModelType = ModelType.CASE, ObjectId = newCase.Id.ToString() }; _db.PageMetas.Add(pm); await _db.SaveChangesAsync(); } } AR.SetSuccess(String.Format(Messages.AlertCreateSuccess, EntityNames.Case)); return(Json(AR, JsonRequestBehavior.DenyGet)); } //} //catch (Exception er) //{ // AR.Setfailure(er.Message); // return Json(AR, JsonRequestBehavior.DenyGet); //} }