public ActionResult AddRootContainer(ContextViewModel postedModel) { MetadataModel metadata = TempData["Metadata"] as MetadataModel; postedModel.FixupContainerOrder(); metadata.DialogStack.Push(postedModel); IModelRootContainer eavContainer = objectFactory.Create <EAV.Model.IModelRootContainer>(); eavContainer.ContainerID = metadata.NextContainerID; eavContainer.Context = metadata.CurrentContext; eavContainer.Sequence = metadata.CurrentContext.Containers.Max(it => it.Sequence) + 1; metadata.DialogStack.Push(new ContainerViewModel(eavContainer)); TempData["Metadata"] = metadata; return(BuildResult("Container Editor", Url.Content("~/Metadata/ContainerEditorDialog"), Url.Content("~/Metadata/UpdateRootContainer"), null)); }
public ActionResult EditRootContainer(ContextViewModel postedModel) { MetadataModel metadata = TempData["Metadata"] as MetadataModel; postedModel.FixupContainerOrder(); metadata.DialogStack.Push(postedModel); IModelRootContainer eavContainer = FindContainer(metadata.CurrentContext.Containers, ID) as IModelRootContainer; // TODO: Check state after loading metadata, verify that Modified doesn't go away if set if (eavContainer.ObjectState != ObjectState.Deleted && eavContainer.ObjectState != ObjectState.New && !eavContainer.ChildContainers.Any() && !eavContainer.Attributes.Any()) { eavClient.LoadMetadata(eavContainer); } metadata.DialogStack.Push(new ContainerViewModel(eavContainer) { Existing = true }); TempData["Metadata"] = metadata; return(BuildResult("Container Editor", Url.Content("~/Metadata/ContainerEditorDialog"), Url.Content("~/Metadata/UpdateRootContainer"), null)); }