Exemplo n.º 1
0
        public virtual ActionResult Create(string returnUrl)
        {
            dynamic createModel = DynamicEntityMetadata.CreateNewObject()();

            UpdateModelAndClearModelState(createModel);
            var viewModel = DynamicCreateViewModelBuilder.Build(DynamicEntityMetadata, createModel, returnUrl);

            return(View("DynamicCreate", viewModel));
        }
Exemplo n.º 2
0
        public virtual ActionResult Create(string returnUrl)
        {
            returnUrl = Url.Action("Details", "Order", new { id = "ScopeIdentity" });
            dynamic createModel = DynamicEntityMetadata.CreateNewObject();

            UpdateModelAndClearModelState(createModel);
            var viewModel = DynamicCreateViewModelBuilder.Build(DynamicEntityMetadata, createModel, returnUrl);

            return(View("DynamicCreate", viewModel));
        }
Exemplo n.º 3
0
        public async virtual Task <ActionResult> Create(FormCollection formCollection, string submitType, string returnUrl)
        {
            dynamic model     = DynamicEntityMetadata.CreateNewObject()();
            var     viewModel = DynamicCreateViewModelBuilder.Build(DynamicEntityMetadata, model, returnUrl);

            if (await TryUpdateModelAsync <DynamicCreateViewModel>(viewModel.Item, "Item"))
            {
                var dynamicOperation = DynamicEntityMetadata.GetDynamicOperation(TemplateTypeEnum.Create, submitType);
                dynamicOperation.PerformPreSaveOperation(null, formCollection, model, ref returnUrl, TempData, ViewData);

                if (dynamicOperation.PersistModel)
                {
                    CreateItem(model);
                }

                dynamicOperation.PeformPostSaveOperation(null, formCollection, model, ref returnUrl, TempData, ViewData);

                if (dynamicOperation.ReturnSucessfulRedirect)
                {
                    return(ReturnSuccessfulRedirect(returnUrl, model));
                }
            }
            return(View("DynamicCreate", viewModel));
        }