/// <summary> /// Handles the Execute event of the AddFilter control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="SimpleActionExecuteEventArgs"/> instance containing the event data.</param> private void AddFilter_Execute(object sender, SimpleActionExecuteEventArgs e) { if (View.CurrentObject == null) { return; } IObjectSpace os = Application.CreateObjectSpace(); object CurrentObject = View.CurrentObject; FilteringCriterion fc = os.CreateObject <FilteringCriterion>(); fc.Public = true; fc.User = os.FindObject <PermissionPolicyUser>(new BinaryOperator("UserName", SecuritySystem.CurrentUserName)); fc.Objekt = CurrentObject.GetType(); DetailView view = Application.CreateDetailView(os, "FilteringCriterion_DetailView", true); view.CurrentObject = fc; view.ViewEditMode = ViewEditMode.Edit; e.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; e.ShowViewParameters.CreatedView = view; }
private void SaveGridFilterAction_Execute(object sender, SimpleActionExecuteEventArgs e) { ISupportFilter editor = View.Editor as ISupportFilter; if (editor != null && !string.IsNullOrEmpty(editor.Filter)) { IObjectSpace objectSpace = Application.CreateObjectSpace(typeof(FilteringCriterion)); FilteringCriterion filteringCriterion = objectSpace.CreateObject <FilteringCriterion>(); filteringCriterion.ObjectType = View.ObjectTypeInfo.Type; filteringCriterion.Criterion = editor.Filter; filteringCriterion.AllowPublic = true; filteringCriterion.Owner = objectSpace.FindObject <PermissionPolicyUser>(new BinaryOperator("UserName", SecuritySystem.CurrentUserName)); string FilteringDetailId = Application.FindDetailViewId(typeof(FilteringCriterion)); DetailView view = Application.CreateDetailView(objectSpace, FilteringDetailId, true, filteringCriterion); e.ShowViewParameters.CreatedView = view; e.ShowViewParameters.Context = TemplateContext.View; e.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow; view.ModelSaved += View_ModelSaved; } }