public virtual ActionResult Edit(dynamic id, string returnUrl)
        {
            id = DynamicEntitySearcher.DynamicEntityMetadata.ParseKeyType(id);
            var model     = DynamicRepository.GetItem(DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.EntityType, DynamicEntitySearcher.DynamicEntityMetadata.KeyName(), id, DynamicEntitySearcher.DynamicEntityMetadata.GetInstanceIncludes().ToArray());
            var viewModel = new DynamicEditViewModel(DynamicEntitySearcher.DynamicEntityMetadata, model, RequestManager.QueryStringDictionary, returnUrl);

            return(ControllerManager.View("DynamicEdit", viewModel));
        }
        public virtual ActionResult Edit(dynamic id, FormCollection formCollection, string returnUrl)
        {
            id = DynamicEntitySearcher.DynamicEntityMetadata.ParseKeyType(id);
            var model     = DynamicRepository.GetItem(DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.EntityType, DynamicEntitySearcher.DynamicEntityMetadata.KeyName(), id, DynamicEntitySearcher.DynamicEntityMetadata.GetInstanceIncludes().ToArray());
            var viewModel = new DynamicEditViewModel(DynamicEntitySearcher.DynamicEntityMetadata, model, RequestManager.QueryStringDictionary, returnUrl);

            if (ControllerManager.TryUpdateModel(viewModel.Item, "Item"))
            {
                DynamicEntitySearcher.DynamicEntityMetadata.InvokeMethods <DynamicMethodPreSaveEditAttribute>(model);
                DynamicRepository.SaveChanges();
                if (!string.IsNullOrWhiteSpace(returnUrl))
                {
                    return(ControllerManager.Redirect(returnUrl));
                }
                return(ControllerManager.RedirectToAction("Index", DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.TypeName, new { typeName = DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.TypeName }));
            }
            return(ControllerManager.View("DynamicEdit", viewModel));
        }
Beispiel #3
0
        public DynamicEditViewModel Build(DynamicEntityMetadata dynamicEntityMetadata, dynamic editModel, string returnUrl)
        {
            var dynamicEditViewModel = new DynamicEditViewModel();

            dynamicEditViewModel.Header           = dynamicEntityMetadata.EditHeader();
            dynamicEditViewModel.TypeName         = dynamicEntityMetadata.TypeName();
            dynamicEditViewModel.ReturnUrl        = returnUrl;
            dynamicEditViewModel.Item             = editModel;
            dynamicEditViewModel.DynamicUIMethods = dynamicEntityMetadata.GetDynamicMethods(TemplateTypeEnum.Edit).ToList();

            foreach (var dynamicPropertyViewModel in GetDynamicPropertyViewModels(dynamicEntityMetadata, editModel))
            {
                var dynamicEditorViewModel = new DynamicEditorViewModel();
                dynamicEditorViewModel.ViewModelPropertyName          = dynamicPropertyViewModel.ViewModelPropertyName;
                dynamicEditorViewModel.DynamicEditorName              = dynamicPropertyViewModel.DynamicEditorName;
                dynamicEditorViewModel.DynamicPropertyEditorViewModel = dynamicPropertyViewModel;
                dynamicEditViewModel.DynamicEditorViewModels.Add(dynamicEditorViewModel);
            }

            return(dynamicEditViewModel);
        }
 public virtual ActionResult Edit(dynamic id, FormCollection formCollection, string returnUrl)
 {
     id = DynamicEntitySearcher.DynamicEntityMetadata.ParseKeyType(id);
     var model = DynamicRepository.GetItem(DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.EntityType, DynamicEntitySearcher.DynamicEntityMetadata.KeyName(), id, DynamicEntitySearcher.DynamicEntityMetadata.GetInstanceIncludes().ToArray());
     var viewModel = new DynamicEditViewModel(DynamicEntitySearcher.DynamicEntityMetadata, model, RequestManager.QueryStringDictionary, returnUrl);
     if (ControllerManager.TryUpdateModel(viewModel.Item, "Item"))
     {
         DynamicEntitySearcher.DynamicEntityMetadata.InvokeMethods<DynamicMethodPreSaveEditAttribute>(model);
         DynamicRepository.SaveChanges();
         if (!string.IsNullOrWhiteSpace(returnUrl))
             return ControllerManager.Redirect(returnUrl);
         return ControllerManager.RedirectToAction("Index", DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.TypeName, new { typeName = DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.TypeName });
     }
     return ControllerManager.View("DynamicEdit", viewModel);
 }
 public virtual ActionResult Edit(dynamic id, string returnUrl)
 {
     id = DynamicEntitySearcher.DynamicEntityMetadata.ParseKeyType(id);
     var model = DynamicRepository.GetItem(DynamicEntitySearcher.DynamicEntityMetadata.EntityMetadata.EntityType, DynamicEntitySearcher.DynamicEntityMetadata.KeyName(), id, DynamicEntitySearcher.DynamicEntityMetadata.GetInstanceIncludes().ToArray());
     var viewModel = new DynamicEditViewModel(DynamicEntitySearcher.DynamicEntityMetadata, model, RequestManager.QueryStringDictionary, returnUrl);
     return ControllerManager.View("DynamicEdit", viewModel);
 }