//---------------------------------------------------------------------------------------------------------------------------------- // Formatting //---------------------------------------------------------------------------------------------------------------------------------- public questStatus FormatBootstrapTreeviewNode(FilterTable filterTable, out BootstrapTreenodeViewModel bootstrapTreenodeViewModel) { // Initialize questStatus status = null; bootstrapTreenodeViewModel = new BootstrapTreenodeViewModel(); bootstrapTreenodeViewModel.Id = filterTable.TablesetTable.Id; bootstrapTreenodeViewModel.type = "table"; bootstrapTreenodeViewModel.icon = "fa fa-table padding-right-20"; bootstrapTreenodeViewModel.text = "[" + filterTable.TablesetTable.Schema + "].[" + filterTable.TablesetTable.Name + "]"; bootstrapTreenodeViewModel.Schema = filterTable.TablesetTable.Schema; bootstrapTreenodeViewModel.Name = filterTable.TablesetTable.Name; bootstrapTreenodeViewModel.selectable = "true"; List <BootstrapTreenodeViewModel> columnNodeList = new List <BootstrapTreenodeViewModel>(); foreach (FilterColumn filterColumn in filterTable.FilterColumnList) { BootstrapTreenodeViewModel columnNode = null; status = FormatBootstrapTreeviewNode(filterTable, filterColumn, out columnNode); if (!questStatusDef.IsSuccess(status)) { return(status); } columnNodeList.Add(columnNode); } bootstrapTreenodeViewModel.nodes.AddRange(columnNodeList); return(new questStatus(Severity.Success)); }
private questStatus create(MasterPricingEntities dbContext, List <Quest.Functional.MasterPricing.FilterTable> filterTableList, out List <Quest.Functional.MasterPricing.FilterTable> filterTableIdList) { // Initialize filterTableIdList = null; // Perform create try { List <Quest.Services.Dbio.MasterPricing.FilterTables> _filterTableList = new List <Quest.Services.Dbio.MasterPricing.FilterTables>(); foreach (Quest.Functional.MasterPricing.FilterTable filterTable in filterTableList) { Quest.Services.Dbio.MasterPricing.FilterTables _filterTable = new Quest.Services.Dbio.MasterPricing.FilterTables(); BufferMgr.TransferBuffer(filterTable, _filterTable); _filterTableList.Add(_filterTable); } dbContext.FilterTables.AddRange(_filterTableList); dbContext.SaveChanges(); filterTableIdList = new List <FilterTable>(); foreach (Quest.Services.Dbio.MasterPricing.FilterTables _filterTable in _filterTableList) { Quest.Functional.MasterPricing.FilterTable filterTable = new FilterTable(); filterTable.Id = _filterTable.Id; filterTableIdList.Add(filterTable); } } catch (System.Exception ex) { return(new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.InnerException != null ? ex.InnerException.Message : ex.Message))); } return(new questStatus(Severity.Success)); }
private questStatus getFilterColumn(BulkUpdateColumnValue bulkUpdateColumnValue, Filter filter, int numFROMEntities) { // Initialize string[] pp = null; string entityName = null; string columnName = null; FilterColumn filterColumn = null; if (filter.FilterTableList.Count == 1) { entityName = filter.FilterTableList[0].TablesetTable.Table.Name; columnName = bulkUpdateColumnValue.Name; } else { pp = bulkUpdateColumnValue.Name.Split('_'); entityName = pp[0]; columnName = pp[1]; filterColumn = null; } // Get FilterColumn of given bulk update column. FilterTable filterTable = filter.FilterTableList.Find(delegate(FilterTable t) { return(t.TablesetTable.Table.Name == entityName); }); if (filterTable != null) { filterColumn = filter.FilterColumnList.Find(delegate(FilterColumn c) { return(c.TablesetColumn.Column.Name == columnName && c.TablesetColumn.Column.EntityTypeId == EntityType.Table && c.TablesetColumn.Column.EntityId == filterTable.TablesetTable.Table.Id); }); if (filterColumn == null) { return(new questStatus(Severity.Error, String.Format("ERROR: filter column not found for bulk update column {0}", bulkUpdateColumnValue.Name))); } } else { FilterView filterView = filter.FilterViewList.Find(delegate(FilterView v) { return(v.TablesetView.View.Name == entityName); }); if (filterView == null) { return(new questStatus(Severity.Error, String.Format("ERROR: filter view not found for bulk update column {0}", bulkUpdateColumnValue.Name))); } filterColumn = filter.FilterColumnList.Find(delegate(FilterColumn c) { return(c.TablesetColumn.Column.Name == columnName && c.TablesetColumn.Column.EntityTypeId == EntityType.View && c.TablesetColumn.Column.EntityId == filterView.TablesetView.View.Id); }); if (filterColumn == null) { return(new questStatus(Severity.Error, String.Format("ERROR: filter column not found for bulk update column {0} (view search)", bulkUpdateColumnValue.Name))); } } bulkUpdateColumnValue.FilterColumn = filterColumn; return(new questStatus(Severity.Success)); }
public JoinEntity() { Type = new FilterEntityType(); FilterItem = new FilterItem(); FilterTable = new FilterTable(); FilterView = new FilterView(); TablesetColumn = new TablesetColumn(); FilterColumn = new FilterColumn(); FilterItemJoin = new FilterItemJoin(); }
public PageFilters(Model model) { this.model = model; InitializeComponent(); this.tableIncludes = new XRefresh.FilterTable(false, true); this.tableExcludes = new XRefresh.FilterTable(false, true); ((System.ComponentModel.ISupportInitialize)(this.tableIncludes)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tableExcludes)).BeginInit(); // // tableIncludes // this.tableIncludes.AllowDrop = true; this.tableIncludes.AlternatingRowColor = System.Drawing.Color.WhiteSmoke; this.tableIncludes.CustomEditKey = System.Windows.Forms.Keys.Return; this.tableIncludes.Dock = System.Windows.Forms.DockStyle.Fill; this.tableIncludes.EnableHeaderContextMenu = false; this.tableIncludes.ForeColor = System.Drawing.Color.Black; this.tableIncludes.FullRowSelect = true; this.tableIncludes.GridLines = XPTable.Models.GridLines.Both; this.tableIncludes.GridLineStyle = XPTable.Models.GridLineStyle.Dot; this.tableIncludes.Location = new System.Drawing.Point(3, 243); this.tableIncludes.Name = "tableIncludes"; this.tableIncludes.NoItemsText = "There are no file filters. Drag and drop a file here ..."; this.tableIncludes.SelectionBackColor = System.Drawing.Color.Yellow; this.tableIncludes.SelectionForeColor = System.Drawing.Color.Black; this.tableIncludes.Size = new System.Drawing.Size(418, 194); this.tableIncludes.TabIndex = 0; this.tableIncludes.Text = "tableIncludes"; // // tableExcludes // this.tableExcludes.AllowDrop = true; this.tableExcludes.AlternatingRowColor = System.Drawing.Color.WhiteSmoke; this.tableExcludes.CustomEditKey = System.Windows.Forms.Keys.Return; this.tableExcludes.Dock = System.Windows.Forms.DockStyle.Fill; this.tableExcludes.EnableHeaderContextMenu = false; this.tableExcludes.ForeColor = System.Drawing.Color.Black; this.tableExcludes.FullRowSelect = true; this.tableExcludes.GridLines = XPTable.Models.GridLines.Both; this.tableExcludes.GridLineStyle = XPTable.Models.GridLineStyle.Dot; this.tableExcludes.Location = new System.Drawing.Point(3, 23); this.tableExcludes.Name = "tableExcludes"; this.tableExcludes.NoItemsText = "There are no file filters. Drag and drop a file here ..."; this.tableExcludes.SelectionBackColor = System.Drawing.Color.Yellow; this.tableExcludes.SelectionForeColor = System.Drawing.Color.Black; this.tableExcludes.Size = new System.Drawing.Size(418, 194); this.tableExcludes.TabIndex = 5; this.tableExcludes.Text = "table2"; ((System.ComponentModel.ISupportInitialize)(this.tableIncludes)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tableExcludes)).EndInit(); this.tableLayoutPanel.Controls.Add(this.tableExcludes, 0, 1); this.tableLayoutPanel.Controls.Add(this.tableIncludes, 0, 3); }
private questStatus getJoinTargetColumnId(Filter filter, FilterItemJoin filterItemJoin) { if (filterItemJoin.TargetEntityTypeId == FilterEntityType.Table) { // Get the TablesetColumnId for the given join. FilterTable filterTable = filter.FilterTableList.Find(delegate(FilterTable t) { return(filterItemJoin.TargetSchema == t.Schema && filterItemJoin.TargetEntityName == t.Name); }); if (filterTable == null) { return(new questStatus(String.Format("ERROR: seeking FilterItemJoin {0} TablesetColumnId not found (FilterTable) [{1}].[{2}]", filterItemJoin.Id, filterItemJoin.TargetSchema, filterItemJoin.TargetEntityName))); } // Now get the TablesetColumnId for the given column name FilterColumn filterColumn = filterTable.FilterColumnList.Find(delegate(FilterColumn fc) { return(filterItemJoin.TargetColumnName == fc.TablesetColumn.Name); }); if (filterColumn == null) { return(new questStatus(String.Format("ERROR: seeking FilterItemJoin {0} FilterColumn not found (FilterTable) [{1}].[{2}]", filterItemJoin.Id, filterItemJoin.TargetSchema, filterItemJoin.TargetEntityName))); } filterItemJoin.ColumnId = filterColumn.TablesetColumn.Id; } else if (filterItemJoin.TargetEntityTypeId == FilterEntityType.View) { // Get the TablesetColumnId for the given join. FilterView filterView = filter.FilterViewList.Find(delegate(FilterView v) { return(filterItemJoin.TargetSchema == v.Schema && filterItemJoin.TargetEntityName == v.Name); }); if (filterView == null) { return(new questStatus(String.Format("ERROR: seeking FilterItemJoin {0} TablesetColumnId not found (FilterView) [{1}].[{2}]", filterItemJoin.Id, filterItemJoin.TargetSchema, filterItemJoin.TargetEntityName))); } // Now get the TablesetColumnId for the given column name FilterColumn filterColumn = filterView.FilterColumnList.Find(delegate(FilterColumn fc) { return(filterItemJoin.TargetColumnName == fc.TablesetColumn.Name); }); if (filterColumn == null) { return(new questStatus(String.Format("ERROR: seeking FilterItemJoin {0} FilterColumn not found (FilterView) [{1}].[{2}]", filterItemJoin.Id, filterItemJoin.TargetSchema, filterItemJoin.TargetEntityName))); } filterItemJoin.ColumnId = filterColumn.TablesetColumn.Id; } return(new questStatus(Severity.Success)); }
public questStatus Update(DbMgrTransaction trans, FilterTable filterTable) { // Initialize questStatus status = null; // Update filterTable status = _dbFilterTablesMgr.Update(trans, filterTable); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- private void UpdateViewValues() { FilterTable.ReloadData(); int index = DataManager.nodesFilters.FindIndex((NodeFilter obj) => obj.group == DataManager.selectedNodesFilter); if (index >= 0) { FilterTable.SelectRow(NSIndexPath.FromRowSection(index, 0), false, UITableViewScrollPosition.Middle); } ServerButton.SetTitle(DataManager.ServerName, UIControlState.Normal); UserButton.SetTitle(DataManager.UserName, UIControlState.Normal); }
public questStatus GetResultsColumnIdentifier(Filter filter, FilterItem filterItem, int numItemEntities, out string columnIdentifier, out FilterColumn filterColumn) { // Initialize columnIdentifier = null; filterColumn = null; FilterColumn _filterColumn = filterItem.FilterColumn; if (_filterColumn == null) { return(new questStatus(Severity.Error, String.Format("ERROR: filter item {0} filter column not found in filter (building lookups)", filterItem.FilterEntityId))); } filterColumn = _filterColumn; // If column labeled, that's it. if (!string.IsNullOrEmpty(filterItem.Label)) { columnIdentifier = filterItem.Label; return(new questStatus(Severity.Success)); } // Determine column identifier. // Single-entity filters, it's the column name alone. // More than one entity, it's the entity name + "_" + column name. if (numItemEntities == 1) { columnIdentifier = _filterColumn.TablesetColumn.Column.Name; } else { if (_filterColumn.FilterEntityTypeId == FilterEntityType.Table) { FilterTable filterTable = filter.FilterTableList.Find(delegate(FilterTable t) { return(t.Id == _filterColumn.FilterEntityId); }); columnIdentifier = filterTable.TablesetTable.Table.Name + "_" + _filterColumn.TablesetColumn.Column.Name; } else if (_filterColumn.FilterEntityTypeId == FilterEntityType.View) { FilterView filterView = filter.FilterViewList.Find(delegate(FilterView v) { return(v.Id == _filterColumn.FilterEntityId); }); columnIdentifier = filterView.TablesetView.View.Name + "_" + _filterColumn.TablesetColumn.Column.Name; } else { return(new questStatus(Severity.Error, String.Format("ERROR: invalid filter column {0} entity type id: {1} (determining column identifier)", _filterColumn.FilterEntityId, _filterColumn.FilterEntityTypeId))); } } return(new questStatus(Severity.Success)); }
private void Dispose(bool disposing) { Cancel(); if (m_DisposedValue) { return; } if (!disposing) { return; } m_DisposedValue = true; m_CurrentFilterCancellationTokenSource?.Dispose(); FilterTable?.Dispose(); }
public questStatus Create(DbMgrTransaction trans, FilterTable filterTable, out FilterTableId filterTableId) { // Initialize questStatus status = null; filterTableId = null; // Create filterTable status = _dbFilterTablesMgr.Create(trans, filterTable, out filterTableId); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
public questStatus FormatBootstrapTreeviewNode(FilterTable filterTable, FilterColumn filterColumn, out BootstrapTreenodeViewModel bootstrapTreenodeViewModel) { // Initialize bootstrapTreenodeViewModel = new BootstrapTreenodeViewModel(); bootstrapTreenodeViewModel.Id = filterColumn.TablesetColumn.Id; bootstrapTreenodeViewModel.ParentId = filterColumn.TablesetColumn.TableSetEntityId; bootstrapTreenodeViewModel.type = "column"; bootstrapTreenodeViewModel.parentType = "table"; bootstrapTreenodeViewModel.icon = "fa fa-square-o padding-right-20 "; bootstrapTreenodeViewModel.text = filterColumn.TablesetColumn.Name + " : " + GetColumnDataType(filterColumn.TablesetColumn.Column); bootstrapTreenodeViewModel.Schema = null; bootstrapTreenodeViewModel.Name = filterColumn.TablesetColumn.Name; bootstrapTreenodeViewModel.selectable = "true"; return(new questStatus(Severity.Success)); }
public questStatus Read(DbMgrTransaction trans, FilterTableId filterTableId, out FilterTable filterTable) { // Initialize questStatus status = null; filterTable = null; // Read filterTable status = _dbFilterTablesMgr.Read(trans, filterTableId, out filterTable); if (!questStatusDef.IsSuccess(status)) { return(status); } return(new questStatus(Severity.Success)); }
void ReleaseDesignerOutlets() { if (FilterTable != null) { FilterTable.Dispose(); FilterTable = null; } if (ServerButton != null) { ServerButton.Dispose(); ServerButton = null; } if (UserButton != null) { UserButton.Dispose(); UserButton = null; } }
public static async void AddFilterTableAsync(string[] genres, FilterTable filterTable) { string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "moviesdatabase.db"); using (SqliteConnection db = new SqliteConnection($"Filename={dbpath}")) { foreach (var genre in genres) { db.Open(); SqliteCommand insertCommand = new SqliteCommand(); insertCommand.Connection = db; insertCommand.CommandText = string.Format("INSERT OR REPLACE INTO {0} VALUES (@data);", filterTable.ToString()); insertCommand.Parameters.AddWithValue("@data", genre.Trim()); await Task.Run(() => insertCommand.ExecuteReader()); db.Close(); } } }
public JsonResult Get_AllCandidatesFilter(FilterTable a) { using (easydbEntitiesModel Obj = new easydbEntitiesModel()) { List <candidato> Cand; switch (a.codigo) { case 1: Cand = Obj.candidatos.OrderByDescending(x => x.nome).ToList(); break; case 2: Cand = Obj.candidatos.OrderByDescending(x => x.salario).ToList(); break; default: Cand = Obj.candidatos.ToList(); break; } return(Json(Cand, JsonRequestBehavior.AllowGet)); } }
public static List <string> GetFilterNames(FilterTable filter) { List <string> categories = new List <string>(); string dbpath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "moviesdatabase.db"); using (SqliteConnection db = new SqliteConnection($"Filename={dbpath}")) { db.Open(); SqliteCommand selectCommand = new SqliteCommand (string.Format("SELECT * from {0}", filter.ToString()), db); SqliteDataReader query = selectCommand.ExecuteReader(); string movie; while (query.Read()) { movie = query.GetString(0); categories.Add(movie); } db.Close(); } categories.Sort(); return(categories); }
public static Value Filter(IList <Value> parameters) { var validate = Expression.ValidateHelper("Filter", parameters, 2, new List <ValueType>() { ValueType.Object, ValueType.String }); if (validate != null) { return(validate); } if (!(parameters[0].Object is SimpleTable)) { return(Value.CreateErrorValue("Filter() parameter #1 is not a table")); } var sourceTable = parameters[0].Object as SimpleTable; var expression = parameters[1].String; try { var result = FilterTable.Execute(sourceTable, expression); if (result.HasError) { return(Value.CreateErrorValue(result.ErrorMessage, result.Exception)); } return(new Value(result.Result)); } catch (System.Exception e) { return(Value.CreateErrorValue("Filter() unable to filter table", e)); } }
/// <summary> /// Internal use only. /// </summary> /// <param name="set">The entity name corresponding to data set.</param> /// <returns> /// The key for caches. /// </returns> public string CacheKey(string set) { if (FilterTable.Count == 0) { return(""); } else { List <QToken> qexprs; if (FilterTable.TryGetValue(set, out qexprs)) { string key = ""; foreach (var tk in qexprs) { key += tk.TkName + "|"; } return(key); } else { return(""); } } }
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- private void UpdateViewValues() { int selectedIndex = 0; filterList.Clear(); if (DataManager.filterToSelect is City) { filterKind = "Выберите город"; foreach (var item in DataManager.cities) { filterList.Add(new FilterObject("", item.Value.name, "", item.Value)); if ((DataManager.selectedCity != null) && (item.Value.ID == DataManager.selectedCity.ID)) { selectedIndex = filterList.Count - 1; } } } else if (DataManager.filterToSelect is Division) { filterKind = "Выберите подразделение"; foreach (var item in DataManager.divisions) { if ((DataManager.selectedCity == null) || (item.Value.city.ID == DataManager.selectedCity.ID) || (DataManager.selectedCity.ID == 0) || (item.Value.ID == 0)) { filterList.Add(new FilterObject("", item.Value.name + " (" + item.Value.city.name + ")", "", item.Value)); if ((DataManager.selectedDivision != null) && (item.Value.ID == DataManager.selectedDivision.ID)) { selectedIndex = filterList.Count - 1; } } } } else if (DataManager.filterToSelect is MachineType) { filterKind = "Выберите тип оборудования"; foreach (var item in DataManager.machineTypes) { filterList.Add(new FilterObject("", item.Value.name, item.Value.iconName, item.Value)); if ((DataManager.selectedMachineType != null) && (item.Value.ID == DataManager.selectedMachineType.ID)) { selectedIndex = filterList.Count - 1; } } } else if (DataManager.filterToSelect is MachineState) { filterKind = "Выберите рабочее состояние"; foreach (var item in DataManager.machineStates) { filterList.Add(new FilterObject("", item.Value.name, item.Value.iconName, item.Value)); if ((DataManager.selectedMachineState != null) && (item.Value.ID == DataManager.selectedMachineState.ID)) { selectedIndex = filterList.Count - 1; } } } else if (DataManager.filterToSelect is MachineServiceState) { filterKind = "Выберите сервисное состояние"; foreach (var item in DataManager.machineServiceStates) { filterList.Add(new FilterObject("", item.Value.name, item.Value.iconName, item.Value)); if ((DataManager.selectedMachineServiceState != null) && (item.Value.ID == DataManager.selectedMachineServiceState.ID)) { selectedIndex = filterList.Count - 1; } } } FilterTable.ReloadData(); if (filterList.Count != 0) { FilterTable.SelectRow(NSIndexPath.FromRowSection(selectedIndex, 0), false, UITableViewScrollPosition.Middle); } }
private static void CleanData(bool isDelete = false) { var tableNamesBase = DBHelper.GetTableName(connectionStringBase); var tableNamesCore = DBHelper.GetTableName(connectionStringCore); var tableNamesMsg = DBHelper.GetTableName(connectionStringMsg); var tableNamesFile = DBHelper.GetTableName(connectionStringFile); int res = 0; DbHelperSQL.connectionString = connectionStringBase; foreach (var item in tableNamesBase) { string strSql = "delete from " + item + " where isdelete=1"; if (isDelete) { if (!FilterTable.Contains(item)) { strSql = "delete from " + item; } } res += DbHelperSQL.ExecuteSql(strSql); } DbHelperSQL.connectionString = connectionStringCore; foreach (var item in tableNamesCore) { string strSql = "delete from " + item + " where isdelete=1"; if (isDelete) { if (!FilterTable.Contains(item)) { strSql = "delete from " + item; } } res += DbHelperSQL.ExecuteSql(strSql); } DbHelperSQL.connectionString = connectionStringMsg; foreach (var item in tableNamesMsg) { string strSql = "delete from " + item + " where isdelete=1"; if (isDelete) { if (!FilterTable.Contains(item)) { strSql = "delete from " + item; } } res += DbHelperSQL.ExecuteSql(strSql); } DbHelperSQL.connectionString = connectionStringFile; foreach (var item in tableNamesFile) { if (isDelete) { if (!FilterTable.Contains(item)) { string strSql = "delete from " + item; res += DbHelperSQL.ExecuteSql(strSql); } } } MessageBox.Show("成功,共清理数据:" + res + "条"); }
public questStatus ValidateRequest(BulkInsertRequest bulkInsertRequest, out BulkInsertResponse bulkInsertResponse) { // Initialize questStatus status = null; bulkInsertResponse = new BulkInsertResponse(); bulkInsertResponse.BulkInsertRequest = bulkInsertRequest; // Get the filter. FilterId filterId = new FilterId(bulkInsertRequest.FilterId); Filter filter = null; DbFilterMgr dbFilterMgr = new DbFilterMgr(this.UserSession); status = dbFilterMgr.GetFilter(filterId, out filter); if (!questStatusDef.IsSuccess(status)) { return(status); } bulkInsertRequest.Filter = filter; // Validate the request. foreach (BulkInsertRow bulkInsertRow in bulkInsertRequest.Rows) { BulkInsertRow invalidRow = null; for (int rdx = 0; rdx < bulkInsertRow.Columns.Count; rdx += 1) { BulkInsertColumnValue bulkInsertColumnValue = bulkInsertRow.Columns[rdx]; string entityName = null; string columnName = null; if (filter.FilterTableList.Count == 1) { entityName = filter.FilterTableList[0].TablesetTable.Table.Name; columnName = bulkInsertColumnValue.Name; } else { string[] pp = bulkInsertColumnValue.Name.Split('_'); entityName = pp[0]; columnName = pp[1]; } FilterColumn filterColumn = null; FilterTable filterTable = filter.FilterTableList.Find(delegate(FilterTable t) { return(t.TablesetTable.Table.Name == entityName); }); if (filterTable != null) { filterColumn = filter.FilterColumnList.Find(delegate(FilterColumn c) { return(c.TablesetColumn.Column.Name == columnName && c.TablesetColumn.Column.EntityTypeId == EntityType.Table && c.TablesetColumn.Column.EntityId == filterTable.TablesetTable.Table.Id); }); if (filterColumn == null) { return(new questStatus(Severity.Error, String.Format("ERROR: filter column not found for bulk insert column {0}, row # {1}", bulkInsertColumnValue.Name, (rdx + 1)))); } } else { FilterView filterView = filter.FilterViewList.Find(delegate(FilterView v) { return(v.TablesetView.View.Name == entityName); }); if (filterView == null) { return(new questStatus(Severity.Error, String.Format("ERROR: filter view not found for bulk insert column {0}, row # {1}", bulkInsertColumnValue.Name, (rdx + 1)))); } filterColumn = filter.FilterColumnList.Find(delegate(FilterColumn c) { return(c.TablesetColumn.Column.Name == columnName && c.TablesetColumn.Column.EntityTypeId == EntityType.View && c.TablesetColumn.Column.EntityId == filterView.TablesetView.View.Id); }); if (filterColumn == null) { return(new questStatus(Severity.Error, String.Format("ERROR: filter column not found for bulk insert column {0}, row # {1} (view search)", bulkInsertColumnValue.Name, (rdx + 1)))); } } // Validate the column status = ValidateBulkInsertColumn(bulkInsertColumnValue, filterColumn); if (!questStatusDef.IsSuccess(status)) { if (invalidRow == null) { invalidRow = new BulkInsertRow(); } invalidRow.Columns.Add(bulkInsertColumnValue); } } if (invalidRow != null) { bulkInsertResponse.ValidationErrors.Add(invalidRow); } } // TODO: IF ANY INVALID FIELDS, RETURN AN ERROR. if (bulkInsertResponse.ValidationErrors.Count > 0) { return(new questStatus(Severity.Error)); } return(new questStatus(Severity.Success)); }
private void Filter(int limit, FilterType type) { if (FilterTable == null) { return; } if (limit < 1) { limit = int.MaxValue; } m_ColumnWithoutErrors = null; m_Filtering = true; try { var rows = 0; var max = m_SourceTable.Rows.Count; FilterType = type; for (var counter = 0; counter < max && rows < limit; counter++) { var errorOrWarning = m_SourceTable.Rows[counter].GetErrorInformation(); if (type.HasFlag(FilterType.OnlyTrueErrors) && errorOrWarning == "-") { continue; } var import = false; if (string.IsNullOrEmpty(errorOrWarning)) { if (type.HasFlag(FilterType.ShowIssueFree)) { import = true; } } else { if (errorOrWarning.IsWarningMessage()) { if (type.HasFlag(FilterType.ShowWarning)) { import = true; } } else { // is an error if (type.HasFlag(FilterType.ShowErrors)) { import = true; } } } if (import) { FilterTable.ImportRow(m_SourceTable.Rows[counter]); } rows++; } CutAtLimit = rows >= limit; } catch (Exception ex) { Logger.Warning(ex.SourceExceptionMessage()); } finally { m_Filtering = false; } }
public questStatus Save(DbMgrTransaction trans, FilterId filterId, Filter filter) { // Initialize questStatus status = null; Mgr mgr = new Mgr(this.UserSession); ColumnsMgr columnMgr = new ColumnsMgr(this.UserSession); try { // Validate filter status = Verify(filterId, filter); if (!questStatusDef.IsSuccess(status)) { return(status); } // Remove filter entities, items and values. Also, tables and columns. status = _dbFilterMgr.Clear(trans, filterId); if (!questStatusDef.IsSuccess(status)) { return(status); } // Save filter tables FilterTablesMgr filterTablesMgr = new FilterTablesMgr(this.UserSession); foreach (FilterTable filterTable in filter.FilterTableList) { filterTable.FilterId = filter.Id; FilterTableId filterTableId = null; status = filterTablesMgr.Create(trans, filterTable, out filterTableId); if (!questStatusDef.IsSuccess(status)) { return(status); } filterTable.Id = filterTableId.Id; } // Save filter views FilterViewsMgr filterViewsMgr = new FilterViewsMgr(this.UserSession); foreach (FilterView _filterView in filter.FilterViewList) { _filterView.FilterId = filter.Id; FilterViewId filterViewId = null; status = filterViewsMgr.Create(trans, _filterView, out filterViewId); if (!questStatusDef.IsSuccess(status)) { return(status); } _filterView.Id = filterViewId.Id; } // Save filter columns DbFilterMgr dbFilterMgr = new DbFilterMgr(this.UserSession); FilterColumnsMgr filterColumnsMgr = new FilterColumnsMgr(this.UserSession); foreach (FilterColumn filterColumn in filter.FilterColumnList) { if (filterColumn.FilterEntityId < BaseId.VALID_ID) { // Get the FilterTable or FilterView Id. // This is a klugie. Gotta rework DataManager panel first, though. No time to do that. if (filterColumn.FilterEntityTypeId == FilterEntityType.Table) { TablesetTable tablesetTable = null; status = dbFilterMgr.GetTablesetTable(filterColumn, out tablesetTable); if (!questStatusDef.IsSuccess(status)) { return(status); } FilterTable filterTable = filter.FilterTableList.Find(delegate(FilterTable t) { return(t.Schema == tablesetTable.Schema && t.Name == tablesetTable.Name); }); if (filterTable == null) { return(new questStatus(Severity.Error, String.Format("ERROR: FilterTable not found for TableSetTable Schema:{0} Name:{1}", tablesetTable.Schema, tablesetTable.Name))); } filterColumn.FilterEntityId = filterTable.Id; } else if (filterColumn.FilterEntityTypeId == FilterEntityType.View) { TablesetView tablesetView = null; status = dbFilterMgr.GetTablesetView(filterColumn, out tablesetView); if (!questStatusDef.IsSuccess(status)) { return(status); } FilterView filterView = filter.FilterViewList.Find(delegate(FilterView v) { return(v.Schema == tablesetView.Schema && v.Name == tablesetView.Name); }); if (filterView == null) { return(new questStatus(Severity.Error, String.Format("ERROR: FilterView not found for TableSetTable Schema:{0} Name:{1}", tablesetView.Schema, tablesetView.Name))); } filterColumn.FilterEntityId = filterView.Id; } else { return(new questStatus(Severity.Error, String.Format("ERROR: FilterColumn FilterEntityTypeId {0} not supported. FilterColumn {1}", filterColumn.FilterEntityTypeId, filterColumn.Id))); } } // Save FilterColumnId filterColumnId = null; status = filterColumnsMgr.Create(trans, filterColumn, out filterColumnId); if (!questStatusDef.IsSuccess(status)) { return(status); } filterColumn.Id = filterColumnId.Id; } // Save filter items. FilterItemsMgr filterItemsMgr = new FilterItemsMgr(this.UserSession); FilterItemJoinsMgr filterItemJoinsMgr = new FilterItemJoinsMgr(this.UserSession); FilterOperationsMgr filterOperationsMgr = new FilterOperationsMgr(this.UserSession); FilterValuesMgr filterValuesMgr = new FilterValuesMgr(this.UserSession); foreach (FilterItem filterItem in filter.FilterItemList) { FilterColumn filterColumn = null; // Get filterItem FilterEntityId if (filterItem.FilterEntityId < BaseId.VALID_ID) { status = dbFilterMgr.GetFilterColumn(filter, filterItem, out filterColumn); if (!questStatusDef.IsSuccess(status)) { return(status); } filterItem.FilterEntityId = filterColumn.Id; filterItem.FilterColumn = filterColumn; // helps with bookkeeping further down. } // Save FilterItem FilterItemId filterItemId = null; status = filterItemsMgr.Create(trans, filterItem, out filterItemId); if (!questStatusDef.IsSuccess(status)) { return(status); } filterItem.Id = filterItemId.Id; // Save filter item joins foreach (FilterItemJoin filterItemJoin in filterItem.JoinList) { filterItemJoin.FilterItemId = filterItemId.Id; if (string.IsNullOrEmpty(filterItemJoin.SourceSchema) || string.IsNullOrEmpty(filterItemJoin.SourceEntityName) || string.IsNullOrEmpty(filterItemJoin.SourceColumnName)) { // Get join target type (Table or View) TablesetColumnId tablesetColumnId = new TablesetColumnId(filterItemJoin.ColumnId); TablesetTable tablesetTable = null; TablesetView tablesetView = null; status = getJoinTarget(tablesetColumnId, out tablesetTable, out tablesetView); if (!questStatusDef.IsSuccess(status)) { return(status); } filterItemJoin.TargetEntityTypeId = tablesetTable == null ? FilterEntityType.View : FilterEntityType.Table; // Get target identifier parts. string targetSchema = null; string targetEntityName = null; string targetColumnName = null; SQLIdentifier.ParseThreePartIdentifier(filterItemJoin.Identifier, out targetSchema, out targetEntityName, out targetColumnName); filterItemJoin.TargetSchema = targetSchema; filterItemJoin.TargetEntityName = targetEntityName; filterItemJoin.TargetColumnName = targetColumnName; // Get source identifier parts. string sourceSchema = null; string sourceEntityName = null; string sourceColumnName = null; if (filterColumn.FilterEntityTypeId == FilterEntityType.Table) { FilterTable filterTable = filter.FilterTableList.Find(delegate(FilterTable t) { return(filterColumn.FilterEntityId == t.Id); }); if (filterTable == null) { return(new questStatus(Severity.Error, String.Format("ERROR: building Join on {0}, FilterTable {1} not found", filterItemJoin.Identifier, filterColumn.FilterEntityId))); } sourceSchema = filterTable.Schema; sourceEntityName = filterTable.Name; } else if (filterColumn.FilterEntityTypeId == FilterEntityType.View) { FilterView filterView = filter.FilterViewList.Find(delegate(FilterView v) { return(filterColumn.FilterEntityId == v.Id); }); if (filterView == null) { return(new questStatus(Severity.Error, String.Format("ERROR: building Join on {0}, FilterView {1} not found", filterItemJoin.Identifier, filterColumn.FilterEntityId))); } sourceSchema = filterView.Schema; sourceEntityName = filterView.Name; } sourceColumnName = filterColumn.Name; filterItemJoin.SourceSchema = sourceSchema; filterItemJoin.SourceEntityName = sourceEntityName; filterItemJoin.SourceColumnName = sourceColumnName; } // Create FilterItemJoin FilterItemJoinId filterItemJoinId = null; status = filterItemJoinsMgr.Create(trans, filterItemJoin, out filterItemJoinId); if (!questStatusDef.IsSuccess(status)) { return(status); } } // Save filter operations foreach (FilterOperation filterOperation in filterItem.OperationList) { filterOperation.FilterItemId = filterItem.Id; FilterOperationId filterOperationId = null; status = filterOperationsMgr.Create(trans, filterOperation, out filterOperationId); if (!questStatusDef.IsSuccess(status)) { return(status); } // Save filter values foreach (FilterValue filterValue in filterOperation.ValueList) { filterValue.FilterOperationId = filterOperationId.Id; FilterValueId filterValueId = null; status = filterValuesMgr.Create(trans, filterValue, out filterValueId); if (!questStatusDef.IsSuccess(status)) { return(status); } } } } // Save filter procedures // Get the filter's database. Quest.Functional.MasterPricing.Database database = null; status = GetFilterDatabase(filterId, out database); if (!questStatusDef.IsSuccess(status)) { return(status); } // NOTE: business rules reads in procedure parameters and writes them. FilterProceduresMgr filterProceduresMgr = new FilterProceduresMgr(this.UserSession); foreach (FilterProcedure filterProcedure in filter.FilterProcedureList) { if (string.IsNullOrEmpty(filterProcedure.Name)) { continue; } filterProcedure.FilterId = filter.Id; FilterProcedureId filterProcedureId = null; status = filterProceduresMgr.Create(trans, database, filterProcedure, out filterProcedureId); if (!questStatusDef.IsSuccess(status)) { return(status); } } // NOTE: YOU STILL HAVE TO UPDATE THE FILTER'S SQL. BUT, CAN'T HERE, B/C YOU'RE IN A TRANSACTION. // TODO: REFACTOR SO YOU CAN, BUT GOTTA GET A PARAMETERS MAKE-REQUIRED UPDATE OUT THERE FIRST. } catch (System.Exception ex) { return(new questStatus(Severity.Fatal, String.Format("EXCEPTION: {0}.{1}: {2}", this.GetType().Name, MethodBase.GetCurrentMethod().Name, ex.InnerException != null ? ex.InnerException.Message : ex.Message))); } return(new questStatus(Severity.Success)); }
public FilterEntity() { Type = new FilterEntityType(); FilterTable = new FilterTable(); FilterView = new FilterView(); }
/*================================================================================================================================== * Public Methods *=================================================================================================================================*/ public questStatus Save(FilterPanelViewModel filterPanelViewModel) { // Initialize questStatus status = null; Quest.Functional.MasterPricing.Filter filter = null; FilterId filterId = null; // Validate if (filterPanelViewModel.Editor.TablesetId < BaseId.VALID_ID) { return(new questStatus(Severity.Error, "Invalid Tableset Id")); } if (filterPanelViewModel.Editor.FilterId < BaseId.VALID_ID) { // For headless agents that want to save all-in-one, not via the Filters panel. filter = new Functional.MasterPricing.Filter(); BufferMgr.TransferBuffer(filterPanelViewModel.Editor, filter); filterId = null; FiltersMgr filtersMgr = new FiltersMgr(this.UserSession); status = filtersMgr.Create(filter, out filterId); if (!questStatusDef.IsSuccess(status)) { return(status); } filterPanelViewModel.Editor.Id = filterId.Id; filterPanelViewModel.Editor.FilterId = filterId.Id; } // Read tableset configuration TablesetId tablesetId = new TablesetId(filterPanelViewModel.Editor.TablesetId); TablesetDataManagement tablesetDataManagement = null; TablesetMgr tablesetMgr = new TablesetMgr(this.UserSession); status = tablesetMgr.ReadTablesetDataManagement(tablesetId, out tablesetDataManagement); if (!questStatusDef.IsSuccess(status)) { return(status); } #region Transfer filter entities // // Transfer filter entities // filter = new Functional.MasterPricing.Filter(); filter.TablesetId = filterPanelViewModel.Editor.TablesetId; filter.Id = filterPanelViewModel.Editor.Id; foreach (BootstrapTreenodeViewModel filterEntity in filterPanelViewModel.Entities) { if (filterEntity.type == "table") { FilterTable filterTable = new FilterTable(); filterTable.FilterId = filterPanelViewModel.Editor.Id; filterTable.Schema = filterEntity.Schema; filterTable.Name = filterEntity.Name; filter.FilterTableList.Add(filterTable); } else if (filterEntity.type == "view") { FilterView filterView = new FilterView(); filterView.FilterId = filterPanelViewModel.Editor.Id; filterView.Schema = filterEntity.Schema; filterView.Name = filterEntity.Name; filter.FilterViewList.Add(filterView); } else if (filterEntity.type == "column") { FilterColumn filterColumn = new FilterColumn(); filterColumn.FilterId = filterPanelViewModel.Editor.Id; filterColumn.Name = filterEntity.Name; filterColumn.TablesetEntityId = filterEntity.ParentId; if (filterEntity.parentType == "table") { TablesetTable parentTablesetTable = tablesetDataManagement.TablesetConfiguration.TablesetTables.Find(delegate(TablesetTable tt) { return(tt.Id == filterEntity.ParentId); }); if (parentTablesetTable == null) { return(new questStatus(Severity.Error, String.Format("ERROR: column filter entity \"{0}\" (Id {1}) table parent Id {2} not found.", filterEntity.text, filterEntity.Id, filterEntity.ParentId))); } filterColumn.FilterEntityTypeId = FilterEntityType.Table; // If column table not in filter entities, add it. BootstrapTreenodeViewModel filterColumnTable = filterPanelViewModel.Entities.Find(delegate(BootstrapTreenodeViewModel n) { return(n.type == "table" && n.Id == filterEntity.ParentId); }); if (filterColumnTable == null) { FilterTable filterTable = filter.FilterTableList.Find(delegate(FilterTable t) { return(filterEntity.ParentId == t.TablesetTable.Id); }); if (filterTable == null) { filterTable = new FilterTable(); filterTable.FilterId = filterPanelViewModel.Editor.Id; filterTable.TablesetTable = parentTablesetTable; filterTable.Schema = parentTablesetTable.Schema; filterTable.Name = parentTablesetTable.Name; filter.FilterTableList.Add(filterTable); } } } else if (filterEntity.parentType == "view") { TablesetView parentTablesetView = tablesetDataManagement.TablesetConfiguration.TablesetViews.Find(delegate(TablesetView tv) { return(tv.Id == filterEntity.ParentId); }); if (parentTablesetView == null) { return(new questStatus(Severity.Error, String.Format("ERROR: column filter entity \"{0}\" (Id {1}) view parent Id {2} not found.", filterEntity.text, filterEntity.Id, filterEntity.ParentId))); } filterColumn.FilterEntityTypeId = FilterEntityType.View; // If column view not in filter entities, add it. BootstrapTreenodeViewModel filterColumnView = filterPanelViewModel.Entities.Find(delegate(BootstrapTreenodeViewModel n) { return(n.type == "view" && n.Id == filterEntity.ParentId); }); if (filterColumnView == null) { FilterView filterView = filter.FilterViewList.Find(delegate(FilterView v) { return(filterEntity.ParentId == v.TablesetView.Id); }); if (filterView == null) { filterView = new FilterView(); filterView.FilterId = filterPanelViewModel.Editor.Id; filterView.TablesetView = parentTablesetView; filterView.Schema = parentTablesetView.Schema; filterView.Name = parentTablesetView.Name; filter.FilterViewList.Add(filterView); } } } else { return(new questStatus(Severity.Error, String.Format("ERROR: column filter entity \"{0}\" (Id {1}) unknown parent parent type: {2}", filterEntity.text, filterEntity.Id, filterEntity.ParentId, (filterEntity.parentType == null ? "null" : filterEntity.parentType)))); } filter.FilterColumnList.Add(filterColumn); } else { return(new questStatus(Severity.Error, String.Format("Invalid filter entity type: {0}", filterEntity.type))); } } #endregion #region Transfer filter items // // Transfer filter items // foreach (FilterItemViewModel filterItemViewModel in filterPanelViewModel.Items) { // Filter Item FilterItem filterItem = new FilterItem(); filterItem.FilterId = filterPanelViewModel.Editor.FilterId; if (filterItemViewModel.Entity.type == "table") { filterItem.FilterEntityTypeId = FilterEntityType.Table; } if (filterItemViewModel.Entity.type == "view") { filterItem.FilterEntityTypeId = FilterEntityType.View; } else if (filterItemViewModel.Entity.type == "column") { filterItem.FilterEntityTypeId = FilterEntityType.Column; } filterItem.TablesetColumnId = filterItemViewModel.Entity.Id; filterItem.Label = filterItemViewModel.Label; filterItem.ParameterName = filterItemViewModel.ParameterName; filterItem.bHidden = filterItemViewModel.bHidden; filterItem.bBulkUpdateValueRequired = filterItemViewModel.bBulkUpdateValueRequired; // Joins foreach (FilterItemJoinViewModel filterItemJoinViewModel in filterItemViewModel.Joins) { FilterItemJoin filterItemJoin = new FilterItemJoin(); filterItemJoin.ColumnId = filterItemJoinViewModel.ColumnId; filterItemJoin.JoinType = filterItemJoinViewModel.JoinType; filterItemJoin.Identifier = filterItemJoinViewModel.Identifier; filterItem.JoinList.Add(filterItemJoin); } // Operations foreach (FilterOperationViewModel filterOperationViewModel in filterItemViewModel.Operations) { FilterOperation filterOperation = new FilterOperation(); filterOperation.FilterOperatorId = filterOperationViewModel.Operator; // Values foreach (FilterValueViewModel filterValueViewModel in filterOperationViewModel.Values) { FilterValue filterValue = new FilterValue(); filterValue.Value = filterValueViewModel.Value; filterOperation.ValueList.Add(filterValue); } filterItem.OperationList.Add(filterOperation); } // Lookup if (filterItemViewModel.Lookup.Id >= BaseId.VALID_ID) { filterItem.LookupId = filterItemViewModel.Lookup.Id; } // TypeList if (filterItemViewModel.TypeList.Id >= BaseId.VALID_ID) { filterItem.TypeListId = filterItemViewModel.TypeList.Id; } filter.FilterItemList.Add(filterItem); } #endregion #region Transfer filter procedures // // Transfer filter procedures // foreach (FilterProcedureViewModel filterProcedureViewModel in filterPanelViewModel.Procedures) { if (filterProcedureViewModel.Id > BaseId.INVALID_ID) { FilterProcedure filterProcedure = new FilterProcedure(); BufferMgr.TransferBuffer(filterProcedureViewModel, filterProcedure); filterProcedure.FilterId = filterPanelViewModel.Editor.FilterId; filter.FilterProcedureList.Add(filterProcedure); } } #endregion #region Save filter // // Save filter // filterId = new FilterId(filterPanelViewModel.Editor.FilterId); FilterMgr filterMgr = new FilterMgr(this.UserSession); status = filterMgr.Save(filterId, filter); if (!questStatusDef.IsSuccess(status)) { if (questStatusDef.IsWarning(status)) { return(status); } return(new questStatus(status.Severity, String.Format("Error saving filter items: {0}", status.Message))); } #endregion #region Return procedure parameters // // Return procedure parameters // // Get filter database Quest.Functional.MasterPricing.Database database = null; filterMgr.GetFilterDatabase(filterId, out database); if (filter.FilterProcedureList.Count > 0) { foreach (FilterProcedureViewModel filterProcedureViewModel in filterPanelViewModel.Procedures) { if ((filterProcedureViewModel.Id == BaseId.INVALID_ID) || (string.IsNullOrEmpty(filterProcedureViewModel.Name))) { continue; } // Get procedure parameters List <Quest.Functional.MasterPricing.FilterProcedureParameter> filterProcedureParameterList = null; status = filterMgr.GetStoredProdecureParameters(database, filterProcedureViewModel.Name, out filterProcedureParameterList); if (!questStatusDef.IsSuccess(status)) { return(status); } foreach (FilterProcedureParameter filterProcedureParameter in filterProcedureParameterList) { FilterProcedureParameterViewModel filterProcedureParameterViewModel = new FilterProcedureParameterViewModel(); BufferMgr.TransferBuffer(filterProcedureParameter, filterProcedureParameterViewModel, true); filterProcedureParameterViewModel.Precision = filterProcedureParameter.Precision[0]; filterProcedureParameterViewModel.Scale = filterProcedureParameter.Scale[0]; filterProcedureViewModel.Parameters.Add(filterProcedureParameterViewModel); } } } #endregion // Return warning if no items in filter. if (filter.FilterItemList.Count == 0) { return(new questStatus(Severity.Warning, "Filter successfully saved, but has no items")); } return(new questStatus(Severity.Success)); }