//[ValidateAntiForgeryToken] public virtual ActionResult Edit(TEditBindModel EditItem) { object id = null; if (ModelState.IsValid) { DelegatePreEdit delegatePreExecute = new DelegatePreEdit(FuncPreEdit); delegatePreExecute(ref id, ref EditItem); //create instance to update object dynamic instance = Activator.CreateInstance(typeof(TModel_TDBModel)); var item = instance.Update(EditItem, id); bool success = (item != null); DelegatePostEdit delegatePostExecute = new DelegatePostEdit(FuncPostEdit); return(delegatePostExecute(ref EditItem, false, success, null)); } else { var errors = ModelState.Values.Where(i => i.Errors.Count > 0); } TDBModel editInstance = (TDBModel)Activator.CreateInstance(typeof(TDBModel)); Utilities.Utility.CopyObject <TDBModel>(EditItem, ref editInstance); //create instance of TEditModel var model = (TEditModel)Activator.CreateInstance(typeof(TEditModel)); DelegatePreInitEditView delegatePreExecuteInitEditView = new DelegatePreInitEditView(FuncPreInitEditView); delegatePreExecuteInitEditView(id, ref editInstance, ref model); return(View(model)); }
//GET: Controller/Edit/5 public virtual ActionResult Edit(object id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //check user has permission GrantPermission = UserHasPermission(DBEnums.AccessType.Edit); if (GrantPermission) { //create instance of TDBModel var EditItem = default(TDBModel); //(TDBModel)Activator.CreateInstance(typeof(TDBModel)); //create instance of TEditModel var model = (TEditModel)Activator.CreateInstance(typeof(TEditModel)); DelegatePreInitEditView delegatePreExecute = new DelegatePreInitEditView(FuncPreInitEditView); delegatePreExecute(id, ref EditItem, ref model); if (EditItem == null) { //return HttpNotFound(); return(RedirectToAction("Partial_UnAuthourizedViewModel", "Common")); } DelegatePostInitEditView delegatePostExecute = new DelegatePostInitEditView(FuncPostInitEditView); return(delegatePostExecute(id, ref model)); } else { return(RedirectToAction("Partial_UnAuthorized", "Account")); } }