public FilterDataTableWizard(ModelItem ownerActivity) { Filters = new ObservableCollection <FilterOperationViewModel>(); SelectColumns = new ObservableCollection <SelectColumnViewModel>(); this.InitializeComponent(); base.ModelItem = ownerActivity; base.Context = ownerActivity.GetEditingContext(); this.InitializeRadioButton("SelectColumnsMode", RemoveColumnsRadio); this.InitializeRadioButton("FilterRowsMode", RemoveRowsRadio); this.InitializeFilters(); if (this.Filters.Count == 0) { FilterOperationViewModel item = new FilterOperationViewModel { Operator = FilterOperator.LT, LogicalOperator = BooleanOperator.And }; this.Filters.Add(item); } this.UpdateFilterIndex(0); this.InitializeSelectColumns(); if (this.SelectColumns.Count == 0) { this.SelectColumns.Add(new SelectColumnViewModel()); } this.UpdateSelectColumnIndex(0); }
private void InitializeFilters() { List <FilterOperationArgument> list = ((base.ModelItem.Properties["Filters"]?.Value == null) ? null : ((List <FilterOperationArgument>)base.ModelItem.Properties["Filters"]?.Value.GetCurrentValue())) as List <FilterOperationArgument>; if (list != null) { foreach (FilterOperationArgument argument in list) { FilterOperationViewModel item = new FilterOperationViewModel { Column = this.ArgumentToModelItem(argument.Column, base.Context), Operand = this.ArgumentToModelItem(argument.Operand, base.Context), LogicalOperator = argument.BooleanOperator, Operator = argument.Operator }; this.Filters.Add(item); } } }
public questStatus Read(FilterId filterId, out FilterEditorViewModel filterEditorViewModel) { // Initialize questStatus status = null; filterEditorViewModel = null; // Read filter Quest.Functional.MasterPricing.Filter filter = null; FilterMgr filterMgr = new FilterMgr(this.UserSession); status = filterMgr.GetFilter(filterId, out filter); if (!questStatusDef.IsSuccess(status)) { return(status); } // Transfer model filterEditorViewModel = new FilterEditorViewModel(); BufferMgr.TransferBuffer(filter, filterEditorViewModel); foreach (FilterTable filterTable in filter.FilterTableList) { BootstrapTreenodeViewModel bootstrapTreenodeViewModel = null; status = FormatBootstrapTreeviewNode(filterTable, out bootstrapTreenodeViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } filterEditorViewModel.Entities.Add(bootstrapTreenodeViewModel); } foreach (FilterView filterView in filter.FilterViewList) { BootstrapTreenodeViewModel bootstrapTreenodeViewModel = null; status = FormatBootstrapTreeviewNode(filterView, out bootstrapTreenodeViewModel); if (!questStatusDef.IsSuccess(status)) { return(status); } filterEditorViewModel.Entities.Add(bootstrapTreenodeViewModel); } foreach (FilterItem filterItem in filter.FilterItemList) { FilterItemViewModel filterItemViewModel = new FilterItemViewModel(); filterItemViewModel.Id = filterItem.Id; ////filterItemViewModel.Name = filterItem.TablesetColumn.Name; filterItemViewModel.Name = filterItem.FilterColumn.TablesetColumn.Column.Name; filterItemViewModel.Label = filterItem.Label; filterItemViewModel.ParameterName = filterItem.ParameterName; filterItemViewModel.bHidden = filterItem.bHidden; filterItemViewModel.bBulkUpdateValueRequired = filterItem.bBulkUpdateValueRequired; filterItemViewModel.Entity.type = "column"; // TODO: ALL THAT'S SUPPORTED RIGHT NOW. filterItemViewModel.Entity.Schema = null; filterItemViewModel.Entity.Name = filterItem.FilterColumn.TablesetColumn.Column.Name; BufferMgr.TransferBuffer(filterItem.FilterColumn.TablesetColumn.Column, filterItemViewModel.Entity.Column); filterItemViewModel.ParentEntity.type = filterItem.FilterColumn.ParentEntityType.type; filterItemViewModel.ParentEntity.Schema = filterItem.FilterColumn.ParentEntityType.Schema; filterItemViewModel.ParentEntity.Name = filterItem.FilterColumn.ParentEntityType.Name; // Joins foreach (FilterItemJoin filterItemJoin in filterItem.JoinList) { FilterItemJoinViewModel filterItemJoinViewModel = new FilterItemJoinViewModel(); BufferMgr.TransferBuffer(filterItemJoin, filterItemJoinViewModel); filterItemJoinViewModel.Identifier = '[' + filterItemJoin.TargetSchema + "].[" + filterItemJoin.TargetEntityName + "].[" + filterItemJoin.TargetColumnName + "]"; filterItemViewModel.Joins.Add(filterItemJoinViewModel); } // Operations foreach (FilterOperation filterOperation in filterItem.OperationList) { FilterOperationViewModel filterOperationViewModel = new FilterOperationViewModel(); filterOperationViewModel.Id = filterOperation.Id; filterOperationViewModel.Operator = filterOperation.FilterOperatorId; // Views foreach (FilterValue filterValue in filterOperation.ValueList) { FilterValueViewModel filterValueViewModel = new FilterValueViewModel(); filterValueViewModel.Id = filterValue.Id; filterValueViewModel.Value = filterValue.Value; filterOperationViewModel.Values.Add(filterValueViewModel); } filterItemViewModel.Operations.Add(filterOperationViewModel); } // Lookup if (filterItem.LookupId.HasValue) { FilterItemLookupViewModel filterItemLookupViewModel = new FilterItemLookupViewModel(); filterItemLookupViewModel.Id = filterItem.Lookup.Id; filterItemLookupViewModel.Name = filterItem.Lookup.Name; filterItemViewModel.Lookup = filterItemLookupViewModel; } // TypeList if (filterItem.TypeListId.HasValue) { FilterItemTypeListViewModel filterItemTypeListViewModel = new FilterItemTypeListViewModel(); filterItemTypeListViewModel.Id = filterItem.TypeList.Id; filterItemTypeListViewModel.Name = filterItem.TypeList.Name; filterItemViewModel.TypeList = filterItemTypeListViewModel; } filterEditorViewModel.Items.Add(filterItemViewModel); } foreach (FilterProcedure filterProcedure in filter.FilterProcedureList) { FilterProcedureViewModel filterProcedureViewModel = new FilterProcedureViewModel(); BufferMgr.TransferBuffer(filterProcedure, filterProcedureViewModel); foreach (FilterProcedureParameter filterProcedureParameter in filterProcedure.ParameterList) { FilterProcedureParameterViewModel filterProcedureParameterViewModel = new FilterProcedureParameterViewModel(); BufferMgr.TransferBuffer(filterProcedureParameter, filterProcedureParameterViewModel, true); filterProcedureParameterViewModel.Precision = filterProcedureParameter.Precision[0]; filterProcedureParameterViewModel.Scale = filterProcedureParameter.Scale[0]; filterProcedureViewModel.Parameters.Add(filterProcedureParameterViewModel); } filterEditorViewModel.Procedures.Add(filterProcedureViewModel); } return(new questStatus(Severity.Success)); }