public void AddNewCondition(TrFilter trFilter) { this._dtcondition.Rows.Clear(); foreach (TrFilterCondition trc in trFilter.TrFilterConditions) { DataRow row = this._dtcondition.NewRow(); row["Relation"] = trc.Relation; row["Filter_Id"] = trc.TrFilter.Id.ToString(); row["Condition_Name"] =trc.ConditionName; row["Field_ID"] = trc.FieldId; row["Field_Type"] = trc.FieldType; row["ID"] = trc.Id; row["TABLE_NAME"] = trc.TABLENAME; row["Compare_Value"] = trc.CompareValue; row["Operation"] = trc.Operation; this._dtcondition.Rows.Add(row); } }
public void SaveFilterX(TyQuery searchX, ref TrFilter filterX, string filterName) { int num = 0; if (searchX == null) { throw new CoreException("TyQuery cannot be null"); } if (StringHelper.IsNull(filterName)) { throw new CoreException("Filter name cannot be null"); } if (this._dtcondition.Rows.Count == 0) { throw new CoreException("Condition row count cannot be 0"); } StringBuilder builder = new StringBuilder(0x3e8); string newGuid = string.Empty; if (filterX == null) { newGuid = this.GetNewGuid(); string str2 = searchX.Id.ToString(); filterX = new TrFilter(); filterX.Id = newGuid; filterX.Name = filterName; filterX.TyQuery = searchX; searchX.TrFilters.Add(filterX); IDA0 da = DAOFactory.GetInstanceByNameSpace("SkyMap.Net.Criteria"); da.Put(filterX, DAOType.SAVE); da.Execute(); da.Close(); //foreach (TyQuery tyquery in QueryClientHelper.TyQuerys) //{ // if (tyquery == filterX.TyQuery) // { // tyquery.TrFilters.Add(filterX); // break; // } //} } else { if (filterName != filterX.Name.ToString()) { newGuid = filterX.Id.ToString(); filterX.Name = filterName; IDA0 da = DAOFactory.GetInstanceByNameSpace("SkyMap.Net.Criteria"); da.Put(filterX, DAOType.UPDATE); da.Execute(); da.Close(); foreach (TyQuery tyquery in QueryClientHelper.TyQuerys) { if (tyquery == filterX.TyQuery) { foreach (TrFilter trfilter in tyquery.TrFilters) { if (trfilter.Id == filterX.Id) { trfilter.Name = filterX.Name; break; } } break; } } } this.DeleteFilterXConditions(filterX); } foreach (DataRow row in this._dtcondition.Rows) { TrFilterCondition trc = new TrFilterCondition(); trc.TrFilter = filterX; trc.Relation = row["Relation"].ToString(); trc.ConditionName = row["Condition_Name"].ToString(); trc.FieldId = row["Field_ID"].ToString(); trc.FieldType = row["Field_Type"].ToString(); trc.Id = filterX.Id + num.ToString(); trc.TABLENAME = row["TABLE_NAME"].ToString(); trc.CompareValue = row["Compare_Value"].ToString(); trc.Operation = row["Operation"].ToString(); filterX.TrFilterConditions.Add(trc); num++; } if (this._dtcondition.Rows.Count > 0) { IDA0 dao = DAOFactory.GetInstanceByNameSpace("SkyMap.Net.Criteria"); foreach (TrFilterCondition tr in filterX.TrFilterConditions) { dao.Put(tr, DAOType.SAVE); } dao.Execute(); dao.Close(); //foreach (TyQuery tyquery in QueryClientHelper.TyQuerys) //{ // if (tyquery == filterX.TyQuery) // { // foreach (TrFilter trfilter in tyquery.TrFilters) // { // if (trfilter == filterX) // { // foreach (TrFilterCondition tmp in filterX.TrFilterConditions) // { // trfilter.TrFilterConditions.Add((tmp as DomainObject).Clone<TrFilterCondition>()); // } // break; // } // } // break; // } //} // QueryHelper.ExecuteSqlScalar("SkyMap.Net.Criteria", builder.ToString()); } }
private void DeleteFilterXConditions(TrFilter filterX) { IDA0 da = DAOFactory.GetInstanceByNameSpace("SkyMap.Net.Criteria"); foreach (TrFilterCondition tr in filterX.TrFilterConditions) { da.Put(tr, DAOType.DELETE); } da.Execute(); da.Close(); IList<TrFilterCondition> lcon = filterX.TrFilterConditions; lcon.Clear(); //foreach (TyQuery tyquery in QueryClientHelper.TyQuerys) //{ // if (tyquery == filterX.TyQuery) // { // foreach (TrFilter trfilter in tyquery.TrFilters) // { // if (trfilter == filterX) // { // trfilter.TrFilterConditions.Clear(); // break; // } // } // break; // } //} }
public void DeleteFilterX(TrFilter filter) { IDA0 dao = DAOFactory.GetInstanceByNameSpace("SkyMap.Net.Criteria"); dao.Put(filter, DAOType.DELETE); dao.Execute(); dao.Close(); foreach (TyQuery tyquery in QueryClientHelper.TyQuerys) { if (tyquery == filter.TyQuery) { foreach (TrFilter trfilter in tyquery.TrFilters) { if (trfilter == filter) { tyquery.TrFilters.Remove(filter); return; } } } } }