public ViewFilterControl() { InitializeComponent(); m_sorter = new FilterSorter(0); listViewFilters.ListViewItemSorter = m_sorter; PopulateComboBox(comboBoxDecision, typeof(FilterDecision)); PopulateComboBox(comboBoxFilterComparison, typeof(FilterComparison)); }
public static IComparer <Filter> GetComparer() { if (sorter == null) { sorter = new FilterSorter(); } return(sorter); }
void filterDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (filterDialog.DialogResult == true) { filterValues = filterDialog.PropValuePair; PropSort = filterDialog.PropSort; BindGrid(); pivotDgInvTrans.RefreshData(); } e.Cancel = true; filterDialog.Hide(); }
private Task FilterData(IEnumerable<PropValuePair> propValuePair, FilterSorter sorter) { return dgProjectTransaction.Filter(propValuePair, sorter); }
private void FilterDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (filterDialog.DialogResult == true) { var filtersProps = filterDialog.Filters.Select(p => new FilterProperties() { PropertyName = p.name, UserInput = p.value, ParameterType = p.parameterType }); filterValues = filterDialog.PropValuePair; PropSort = filterDialog.PropSort; if (lstOfFilters.ContainsKey(selectedDataSourceName)) { if (filterValues == null || filterValues.Count() == 0) { lstOfFilters.Remove(selectedDataSourceName); } else { lstOfFilters[selectedDataSourceName] = filterValues; } } else { if (filterValues != null && filterValues.Count() > 0) { lstOfFilters.Add(selectedDataSourceName, filterValues); } } if (lstOfNewFilters.ContainsKey(selectedDataSourceName)) { if (filtersProps == null || filtersProps.Count() == 0) { lstOfNewFilters.Remove(selectedDataSourceName); } else { lstOfNewFilters[selectedDataSourceName] = filtersProps?.ToList(); } } else { if (filtersProps != null && filtersProps.Count() > 0) { lstOfNewFilters.Add(selectedDataSourceName, filtersProps?.ToList()); } } if (lstOfSorters.ContainsKey(selectedDataSourceName)) { if (PropSort == null || PropSort.sortingProperties.Count() == 0) { lstOfSorters.Remove(selectedDataSourceName); } else { lstOfSorters[selectedDataSourceName] = PropSort; } } else { if (PropSort != null && PropSort.sortingProperties.Count() > 0) { lstOfSorters.Add(selectedDataSourceName, PropSort); } } LoadOnOpen = true; DataDashboardItem dataItem = FocusedItem as DataDashboardItem; if (dataItem == null) { return; } string dsComponentName = dataItem.DataSource.ComponentName; if (!dataSourceLoadingParams.Contains(dsComponentName)) { dataSourceLoadingParams.Add(dsComponentName); } dashboardViewerUniconta.ReloadData(); } e.Cancel = true; filterDialog.Hide(); }
public void OpenFilterDialog() { try { if (!string.IsNullOrEmpty(selectedDataSourceName) && tableType != null) { if (lstOfFilters.ContainsKey(selectedDataSourceName)) { filterValues = lstOfFilters[selectedDataSourceName]; } else { filterValues = null; } List <FilterProperties> filterProps; if (lstOfNewFilters.ContainsKey(selectedDataSourceName)) { filterProps = lstOfNewFilters[selectedDataSourceName]; } else { filterProps = null; } if (lstOfSorters.ContainsKey(selectedDataSourceName)) { PropSort = lstOfSorters[selectedDataSourceName]; } else { PropSort = null; } Filter[] filters = null; SortingProperties[] sorters = null; //if (filterValues != null) // filters = Utility.CreateDefaultFilter(filterValues, tableType); if (filterValues != null) { filters = filterProps.Select(p => new Filter() { name = p.PropertyName, value = p.UserInput, parameterType = p.ParameterType }).ToArray(); } if (PropSort != null) { sorters = Utility.CreateDefaultSort(PropSort); } var fixedComp = fixedCompanies?.FirstOrDefault(x => x.DatasourceName == selectedDataSourceName); if (fixedComp == null || this.company.CompanyId == fixedComp.CompanyId) { filterDialog = new CWServerFilter(api, tableType, filters, sorters, null); } else { var comp = CWDefaultCompany.loadedCompanies.FirstOrDefault(x => x.CompanyId == fixedComp.CompanyId) as Company; var compApi = new CrudAPI(api.session, comp); filterDialog = new CWServerFilter(compApi, tableType, filters, sorters, null); } filterDialog.Closing += FilterDialog_Closing; filterDialog.Show(); } } catch (Exception ex) { UnicontaMessageBox.Show(ex); } }
private bool ReadDataFromDB(byte[] selectedDashBoardBinary) { busyIndicator.IsBusy = true; bool retVal = true; try { lstOfFilters.Clear(); lstOfNewFilters.Clear(); var customReader = StreamingManagerReuse.Create(selectedDashBoardBinary); var version = customReader.readByte(); if (version < 1 || version > 3) { return(false); } var bufferedReport = StreamingManager.readMemory(customReader); var st = Compression.UncompressStream(bufferedReport); if (version < 3 && customReader.readBoolean()) { int filterCount = (int)customReader.readNum(); for (int i = 0; i < filterCount; i++) { var key = customReader.readString(); var arrpropval = (PropValuePair[])customReader.ToArray(typeof(PropValuePair)); lstOfFilters.Add(key, arrpropval); } } else if (version == 3) { if (customReader.readBoolean()) { int filterCount = (int)customReader.readNum(); for (int i = 0; i < filterCount; i++) { var key = customReader.readString(); var arrFilter = (FilterProperties[])customReader.ToArray(typeof(FilterProperties)); lstOfNewFilters.Add(key, arrFilter.ToList()); } } if (customReader.readBoolean()) { int filterCount = (int)customReader.readNum(); for (int i = 0; i < filterCount; i++) { var key = customReader.readString(); List <PropValuePair> propVal = new List <PropValuePair>(); var arrpropval = (PropValuePair[])customReader.ToArray(typeof(PropValuePair)); propVal = arrpropval.ToList(); lstOfFilters.Add(key, arrpropval); } } } if (customReader.readBoolean()) { int sortCount = (int)customReader.readNum(); for (int i = 0; i < sortCount; i++) { var key = customReader.readString(); var arrSort = (SortingProperties[])customReader.ToArray(typeof(SortingProperties)); FilterSorter propSort = new FilterSorter(arrSort); if (lstOfSorters != null && !lstOfSorters.ContainsKey(key)) { lstOfSorters.Add(key, propSort); } } } customReader.Release(); XDocument xdoc = XDocument.Load(st); var element = xdoc.Root.Attributes().Where(x => x.Name == "RefreshTimer").FirstOrDefault(); if (element != null) { int refreshTimer = (int)NumberConvert.ToInt(element.Value); if (refreshTimer > 0) { if (timer == null) { timer = new System.Windows.Forms.Timer(); } timer.Interval = refreshTimer < 300 ? 300 * 1000 : refreshTimer * 1000; timer.Tick += Timer_Tick; timer.Start(); } } ShowBusyIndicator(); st.Seek(0, System.IO.SeekOrigin.Begin); dashboardViewerUniconta.LoadDashboard(st); st.Release(); return(retVal); } catch (Exception ex) { ClearBusy(); UnicontaMessageBox.Show(ex); CloseDockItem(); return(false); } }
private void DashboardViewerUniconta_DashboardLoaded(object sender, DevExpress.DashboardWpf.DashboardLoadedEventArgs e) { Dashboard dasdboard = e.Dashboard; foreach (var item in dasdboard?.Items) { var name = dasdboard?.CustomProperties.GetValue(item.ComponentName); if (name != null) { if (name[0] == '&') { item.Name = Uniconta.ClientTools.Localization.lookup(name.Substring(1)); } ; } } if (!dasdboard.Title.ShowMasterFilterState) { rowFilter.Visibility = Visibility.Collapsed; } XElement data = e.Dashboard.UserData; if (data != null) { var state = data.Element("DashboardState"); if (state != null) { dState.LoadFromXml(XDocument.Parse(state.Value)); } var fixedComps = data.Element("FixedCompanies"); if (fixedComps != null) { fixedCompanies = null; var rootelement = XElement.Parse(fixedComps.ToString()); foreach (var el in rootelement.Elements()) { var fxdComps = XDocument.Parse(el.ToString()).Elements("FixedCompany") .Select(p => new FixedCompany { CompanyId = int.Parse(p.Element("CompanyId").Value), DatasourceName = p.Element("DatasourceName").Value }).ToList(); if (fixedCompanies != null) { fixedCompanies.AddRange(fxdComps); } else { fixedCompanies = fxdComps; } } if (fixedCompanies != null) { for (int i = 0; i < fixedCompanies.Count; i++) { var comp = CWDefaultCompany.loadedCompanies.FirstOrDefault(x => x.CompanyId == fixedCompanies[i].CompanyId) as Company; var openComp = OpenFixedCompany(comp).GetAwaiter().GetResult(); if (openComp != null) { openComp.GenerateUserType(); LoadListOfTableTypes(openComp); } else { UnicontaMessageBox.Show(Uniconta.ClientTools.Localization.lookup("UserNoAccessToCompany"), Uniconta.ClientTools.Localization.lookup("Information")); } } } } var ldOnOpn = data.Element("LoadOnOpen"); if (ldOnOpn != null) { LoadOnOpen = bool.Parse(ldOnOpn.Value); } var userId = data.Element("LogedInUserIdFilter"); if (userId != null) { UserIdPropName = userId.Value; } var filters = data.Element("Filters"); if (filters != null) { var filtersBytes = Convert.FromBase64String(filters.Value); var r = StreamingManagerReuse.Create(filtersBytes); int version = r.readByte(); if (version != 0) { if (version < 3 && r.readBoolean()) { int filterCount = (int)StreamingManager.readNum(r); for (int i = 0; i < filterCount; i++) { var key = r.readString(); List <PropValuePair> propVal = new List <PropValuePair>(); var arrpropval = (PropValuePair[])r.ToArray(typeof(PropValuePair)); propVal = arrpropval.ToList(); lstOfFilters.Add(key, arrpropval); } } else { int filterCount = (int)StreamingManager.readNum(r); for (int i = 0; i < filterCount; i++) { var key = r.readString(); var arrFilter = (FilterProperties[])r.ToArray(typeof(FilterProperties)); lstOfNewFilters.Add(key, arrFilter.ToList()); } } } if (r.readBoolean()) { if (version < 3) { int sortCount = (int)r.readNum(); for (int i = 0; i < sortCount; i++) { var key = r.readString(); var arrSort = (SortingProperties[])r.ToArray(typeof(SortingProperties)); FilterSorter propSort = new FilterSorter(arrSort); lstOfSorters.Add(key, propSort); } } } r.Release(); } } else { LoadOnOpen = true; // for old saved dashboards } if (LoadOnOpen) { foreach (var ds in e.Dashboard.DataSources) { dataSourceLoadingParams.Add(ds.ComponentName); } } }