protected override void PerformActionProcess(IEngineContext engineContext, IController controller, IControllerContext controllerContext)
        {
            base.PerformActionProcess(engineContext, controller, controllerContext);

            var idVal = CommonOperationUtils.ReadPkFromParams(controllerContext.CustomActionParameters, engineContext.Request, ObtainPKProperty());

            try
            {
                var instance = ActiveRecordMediator.FindByPrimaryKey(Model.Type, idVal, true);

                controllerContext.PropertyBag["instance"] = instance;
                controllerContext.PropertyBag["id"]       = idVal;
            }
            catch (Exception ex)
            {
                throw new ScaffoldException("Could not obtain instance by using this id", ex);
            }
        }
예제 #2
0
        protected override void PerformActionProcess(IEngineContext engineContext, IController controller, IControllerContext controllerContext)
        {
            base.PerformActionProcess(engineContext, controller, controllerContext);

            var idVal = CommonOperationUtils.ReadPkFromParams(controllerContext.CustomActionParameters, engineContext.Request, ObtainPKProperty());

            controllerContext.PropertyBag["id"] = idVal;

            try
            {
                AssertIsPost(engineContext.Request.HttpMethod);

                var instance = ActiveRecordMediator.FindByPrimaryKey(Model.Type, idVal, true);

                controllerContext.PropertyBag["instance"] = instance;

                ActiveRecordMediator.DeleteAndFlush(instance);
            }
            catch (Exception ex)
            {
                controllerContext.PropertyBag["exception"] = ex;
            }
        }