public static ViewModelAttributeValue Create(IModelAttribute attribute, IModelValue value) { ViewModelAttributeValue viewAttributeValue = new ViewModelAttributeValue() { ObjectState = value != null ? value.ObjectState : ObjectState.New, AttributeID = attribute.AttributeID, DataType = attribute.DataType, DisplayText = attribute.DisplayText, IsKey = attribute.IsKey, VariableUnits = attribute.VariableUnits }; foreach (EAV.Model.IModelUnit unit in attribute.Units) { viewAttributeValue.Units.Add(ViewModelUnit.Create(unit)); } if (value != null) { viewAttributeValue.Value = value.RawValue; if (value.Unit != null) { viewAttributeValue.UnitID = value.Unit.UnitID; viewAttributeValue.UnitText = value.Unit.DisplayText; } } else if (!attribute.VariableUnits.GetValueOrDefault(true) && attribute.Units.Count == 1) { viewAttributeValue.UnitID = attribute.Units.First().UnitID; viewAttributeValue.UnitText = attribute.Units.First().DisplayText; } return(viewAttributeValue); }
public ActionResult UpdateAttribute(AttributeViewModel postedModel) { MetadataModel metadata = TempData["Metadata"] as MetadataModel; IModelContainer eavContainer = FindContainer(metadata.CurrentContext.Containers, postedModel.ContainerID); IModelAttribute eavAttribute = eavContainer.Attributes.Single(it => it.AttributeID == postedModel.ID); if (UpdateRequested) { eavAttribute.Name = postedModel.Name; eavAttribute.DataName = postedModel.DataName; eavAttribute.DisplayText = postedModel.DisplayText; eavAttribute.DataType = postedModel.DataType; eavAttribute.IsKey = postedModel.IsKey; } else if (eavAttribute.ObjectState == ObjectState.New && (String.IsNullOrWhiteSpace(eavAttribute.Name) || (String.IsNullOrWhiteSpace(eavAttribute.DataName)))) { eavContainer.Attributes.Remove(eavAttribute); } TempData["Metadata"] = metadata; if (eavContainer is IModelRootContainer) { return(BuildResult("Container Editor", Url.Content("~/Metadata/ContainerEditorDialog"), Url.Content("~/Metadata/UpdateRootContainer"), null)); } else { return(BuildResult("Container Editor", Url.Content("~/Metadata/ContainerEditorDialog"), Url.Content("~/Metadata/UpdateChildContainer"), null)); } }
public ActionResult DeleteAttribute(ContainerViewModel postedModel) { MetadataModel metadata = TempData["Metadata"] as MetadataModel; metadata.DialogStack.Push(postedModel); IModelContainer eavContainer = FindContainer(metadata.CurrentContext.Containers, postedModel.ID); IModelAttribute eavAttribute = eavContainer.Attributes.Single(it => it.AttributeID == ID); if (eavAttribute.ObjectState != ObjectState.New) { eavAttribute.MarkDeleted(); } else { eavContainer.Attributes.Remove(eavAttribute); } TempData["Metadata"] = metadata; if (eavContainer is IModelRootContainer) { return(BuildResult("Container Editor", Url.Content("~/Metadata/ContainerEditorDialog"), Url.Content("~/Metadata/UpdateRootContainer"), null)); } else { return(BuildResult("Container Editor", Url.Content("~/Metadata/ContainerEditorDialog"), Url.Content("~/Metadata/UpdateChildContainer"), null)); } }
public AttributeViewModel(IModelAttribute attribute) { ID = attribute.AttributeID.GetValueOrDefault(); ContainerID = attribute.ContainerID.GetValueOrDefault(); Name = attribute.Name; DataName = attribute.DataName; DisplayText = attribute.DisplayText; DataType = attribute.DataType; IsKey = attribute.IsKey; Sequence = attribute.Sequence; }
public ActionResult EditAttribute(ContainerViewModel postedModel) { MetadataModel metadata = TempData["Metadata"] as MetadataModel; metadata.DialogStack.Push(postedModel); IModelContainer eavContainer = FindContainer(metadata.CurrentContext.Containers, postedModel.ID); IModelAttribute eavAttribute = eavContainer.Attributes.Single(it => it.AttributeID == ID); metadata.DialogStack.Push(new AttributeViewModel(eavAttribute) { Existing = true }); TempData["Metadata"] = metadata; return(BuildResult("Attribute Editor", Url.Content("~/Metadata/AttributeEditorDialog"), Url.Content("~/Metadata/UpdateAttribute"), null)); }
public ActionResult AddAttribute(ContainerViewModel postedModel) { MetadataModel metadata = TempData["Metadata"] as MetadataModel; metadata.DialogStack.Push(postedModel); IModelContainer eavContainer = FindContainer(metadata.CurrentContext.Containers, postedModel.ID); IModelAttribute eavAttribute = objectFactory.Create <EAV.Model.IModelAttribute>(); eavAttribute.AttributeID = metadata.NextAttributeID; eavAttribute.Container = eavContainer; eavAttribute.Sequence = eavContainer.Attributes.Max(it => it.Sequence) + 1; metadata.DialogStack.Push(new AttributeViewModel(eavAttribute)); TempData["Metadata"] = metadata; return(BuildResult("Attribute Editor", Url.Content("~/Metadata/AttributeEditorDialog"), Url.Content("~/Metadata/UpdateAttribute"), null)); }