public string ExtractFormattedValue(DataObjectViewModel obj) { if (obj == null) { return(string.Empty); } string val = null; switch (this.Type) { case ColumnDisplayModel.ColumnType.Property: var propVal = obj.GetPropertyValue <object>(this.Name); val = propVal != null?propVal.ToString() : string.Empty; break; case ColumnDisplayModel.ColumnType.PropertyModel: DataObjectViewModel objVmdl = obj; IFormattedValueViewModel resultVMdl = null; foreach (var current in this.Name.Split('.')) { if (objVmdl == null) { break; } resultVMdl = objVmdl.PropertyModelsByName[current]; if (resultVMdl is ObjectReferenceViewModel) { objVmdl = ((ObjectReferenceViewModel)resultVMdl).Value; } } val = resultVMdl != null ? resultVMdl.FormattedValue : string.Empty; break; } return(val); }
public void RaisePostBackEvent(string eventArgument) { switch (hdAction) { case actionShowObject: { DataObjectViewModel obj = hdArgument.FromJSON(ZetboxContextManagerModule.ZetboxContext); ZetboxContextManagerModule.ViewModelFactory.ShowModel(obj, true); //if (HttpContext.Current.CurrentHandler is IWorkspaceView) //{ // IWorkspaceView page = (IWorkspaceView)HttpContext.Current.CurrentHandler; // page.ShowObject(obj); //} //else //{ // throw new InvalidOperationException("ShowObject can only be executed on a IWorkspaceView Page"); //} break; } default: throw new ArgumentException("Action " + hdAction + " is unknown"); } }
/// <summary> /// Show a foreign model by finding and creating the equivalent model on the local DataContext. /// </summary> /// <param name="dataObject"></param> /// <returns></returns> public DataObjectViewModel ShowForeignModel(DataObjectViewModel dataObject) { return(ShowForeignModel(dataObject, null)); }
/// <summary> /// Show a foreign model by finding and creating the equivalent model on the local DataContext. /// </summary> /// <param name="dataObject"></param> /// <returns></returns> public void ShowForeignModel(DataObjectViewModel dataObject) { if (dataObject == null || dataObject.Object == null) return; var other = dataObject.Object; var here = DataContext.Find(DataContext.GetInterfaceType(other), other.ID); SelectedItem = DataObjectViewModel.Fetch(ViewModelFactory, DataContext, this, here); }
public void SelectStartingObjectClass() { var lstMdl = ViewModelFactory.CreateViewModel<DataObjectSelectionTaskViewModel.Factory>().Invoke( DataContext, this, typeof(ObjectClass).GetObjectClass(FrozenContext), () => DataContext.GetQuery<ObjectClass>(), (chosen) => { if (chosen != null) { StartingObjectClass = chosen.First(); ContinueAddRelation(); } }, null); lstMdl.ListViewModel.ShowCommands = false; ViewModelFactory.ShowDialog(lstMdl); }
/// <summary> /// Show a foreign model by finding and creating the equivalent model on the local DataContext. /// </summary> /// <param name="dataObject"></param> /// <param name="requestedKind"></param> /// <returns></returns> public DataObjectViewModel ShowForeignModel(DataObjectViewModel dataObject, Zetbox.App.GUI.ControlKind requestedKind) { if (dataObject == null || dataObject.Object == null) return null; var other = dataObject.Object; var here = DataContext.Find(DataContext.GetInterfaceType(other), other.ID); var vm = DataObjectViewModel.Fetch(ViewModelFactory, DataContext, this, here); SelectedItem = vm; vm.RequestedKind = requestedKind; AddItem(vm); return vm; }
/// <summary> /// Show a foreign model by finding and creating the equivalent model on the local DataContext. /// </summary> /// <param name="dataObject"></param> /// <returns></returns> public DataObjectViewModel ShowForeignModel(DataObjectViewModel dataObject) { return ShowForeignModel(dataObject, null); }
public void Edit() { ViewModelFactory.ShowModel(DataObjectViewModel.Fetch(ViewModelFactory, DataContext, ViewModelFactory.GetWorkspace(DataContext), Action), true); }
public override void RemoveItem(DataObjectViewModel item) { if (item == null) { throw new ArgumentNullException("item"); } EnsureValueCache(); var idx = ValueModel.Value.IndexOf(item.Object); if (idx != -1) { for (int i = ValueModel.Value.Count - 1; i >= idx; i--) { ValueModel.Value.RemoveAt(i); } } }
protected void OnLocalModelCreated(DataObjectViewModel vm) { LocalModelCreatedHandler temp = LocalModelCreated; if (temp != null) { temp(vm); } }
private void Init(DataObjectViewModel m) { ID = m.ID; Type = m.GetInterfaceType().ToSerializableType(); Text = m.Name; }
public JavaScriptObjectMoniker(IZetboxContext ctx, IDataObject obj) { DataObjectViewModel m = DataObjectViewModel.Fetch(ZetboxContextManagerModule.ViewModelFactory, ctx, null, obj); Init(m); }
public JavaScriptObjectMoniker(DataObjectViewModel m) { Init(m); }
public static void AddPartyRole(Zetbox.Basic.Parties.Party obj, MethodReturnEventArgs <PartyRole> e) { var ctx = obj.Context; var candidates = new List <RoleSelectionViewModel>(); // Common first if (!obj.PartyRole.Any(r => r is Customer)) { candidates.Add(_vmf.CreateViewModel <RoleSelectionViewModel.Factory>().Invoke(ctx, null, typeof(Customer).GetObjectClass(_frozenCtx))); } ObjectClass clsPartyRole; if (obj is Person) { clsPartyRole = (ObjectClass)typeof(PersonRole).GetObjectClass(_frozenCtx); if (!obj.PartyRole.Any(r => r is Employee)) { candidates.Add(_vmf.CreateViewModel <RoleSelectionViewModel.Factory>().Invoke(ctx, null, typeof(Employee).GetObjectClass(_frozenCtx))); } } else if (obj is Organization) { clsPartyRole = (ObjectClass)typeof(OrganizationRole).GetObjectClass(_frozenCtx); if (!obj.PartyRole.Any(r => r is Supplier)) { candidates.Add(_vmf.CreateViewModel <RoleSelectionViewModel.Factory>().Invoke(ctx, null, typeof(Supplier).GetObjectClass(_frozenCtx))); } if (!obj.PartyRole.Any(r => r is InternalOrganization)) { candidates.Add(_vmf.CreateViewModel <RoleSelectionViewModel.Factory>().Invoke(ctx, null, typeof(InternalOrganization).GetObjectClass(_frozenCtx))); } } else { throw new InvalidOperationException("Party is of an unknown type"); } List <ObjectClass> subClasses = new List <ObjectClass>(); clsPartyRole.CollectChildClasses(subClasses, includeAbstract: false); // all other foreach (var roleCls in subClasses.Except(candidates.Select(c => c.TargetPropClass)) .Except(obj.PartyRole.Select(c => c.GetObjectClass(_frozenCtx))) .OrderBy(r => r.Name) .ToList()) { candidates.Add(_vmf.CreateViewModel <RoleSelectionViewModel.Factory>().Invoke(ctx, null, roleCls)); } var selectClass = _vmf .CreateViewModel <SimpleSelectionTaskViewModel.Factory>() .Invoke( ctx, null, candidates, (chosenClass) => { if (chosenClass != null && chosenClass.Count() == 1) { var propCls = ((RoleSelectionViewModel)chosenClass.Single()).TargetPropClass; var ifType = propCls.GetDescribedInterfaceType(); var newRole = (PartyRole)ctx.Create(ifType); obj.PartyRole.Add(newRole); var partyVmdl = (PartyViewModel)DataObjectViewModel.Fetch(_vmf, ctx, null, obj); partyVmdl.UpdateRoleTabs(newRole); e.Result = newRole; // show result, UpdateTabs cannot show the new tab yet } }, null); selectClass.RequestedKind = NamedObjects.Gui.ControlKinds.Zetbox_App_GUI_DataObjectSelectionTaskSimpleKind.Find(_frozenCtx); _vmf.ShowDialog(selectClass); }
private void OnLocalModelCreated(DataObjectViewModel vm) { AddLocalInstance(vm); this.SelectedItem = vm; }