public DataRow NewPrizeException(String name) { String name_column = XDataTable.Name(this); if (name_column != null) { String safe_name = DsnConnection.Escape(DsnConnection.ConnectionMode.NativeDataTable, DsnConnection.ConnectionFlavor.Unknown, name); if (Columns[name_column].Unique) { DataRow[] rows = Select(name_column + "='" + safe_name + "'"); if (rows.Length > 1) { throw new ConstraintException("unique name column has already been violated, while attempting to add [" + name + "]"); } if (rows.Length == 1) { return(rows[0]); } } DataRow newnamerow = NewRow(); newnamerow[name_column] = safe_name; //newnamerow[SessionTable.PrimaryKey] = session[SessionTable.PrimaryKey]; Rows.Add(newnamerow); return(newnamerow); } return(null); }
private void currentSessionGameOrderList1_SelectedIndexChanged(object sender, EventArgs e) { if (!schedule.GamesInSessions) { if (currentSessionGameOrderList1.SelectedItem != null) { if (BindingSourceSessionGameGroupGame != null) { DataRow myself = (currentSessionGameOrderList1.SelectedItem as DataRowView).Row; DataRow real; if (schedule.GamesInSessions) { real = myself.GetParentRow(OpenSkieScheduler.Relations.SessionGame.TableName); } else { real = myself.GetParentRow(OpenSkieScheduler.Relations.SessionGameGroupGameOrder.TableName); } //BindingSourceSessionGameGroupGame.EndEdit(); if (real != null) { int a = BindingSourceSessionGameGroupGame.Find(XDataTable.ID(real.Table), real[XDataTable.ID(real.Table)]); BindingSourceSessionGameGroupGame.Position = a; } } } } }
void AddColumns() { this.AddDefaultColumns(true, true, false); this.Columns.Add(XDataTable.ID(typeof(ItemDescription)), typeof(int)); this.Columns.Add("series", typeof(int)); this.Columns.Add("series_from", typeof(int)); this.Columns.Add("series_to", typeof(int)); }
public void Add(string p) { DataRow row = NewRow(); row[XDataTable.Name(this)] = p; Rows.Add(row); CommitChanges(); }
public CurrentSessionGamePackPrize(DataSet set) : base(set, SessionPrizeTable.TableName, true) { schedule = set as ScheduleDataSet; Columns.Add(new DataColumn(PrizeLevelNames.PrimaryKey, typeof(int))); Columns.Add(new DataColumn(GameTable.PrimaryKey, typeof(int))); Columns.Add(new DataColumn("Prize", typeof(Money))); source_table = set.Tables[SessionPrizeTable.TableName] as XDataTable <DataRow>; }
private XWorkbook createXFormulas(string expressionText, XWorkbook xWorkbook) { PSWOclCompiler oclCompiler = new PSWOclCompiler(environment, tracker); List <object> nodes = oclCompiler.compileOclStream(expressionText, "", new StreamWriter(Console.OpenStandardOutput()), typeof(CSTContextDeclarationCS)); CSTOperationContextCS operationContextCS = ((CSTOperationContextCS)nodes[0]); var constraints = operationContextCS.getConstraintsNodesCS(); CSTOperationConstraintCS operationConstraint = (CSTOperationConstraintCS)constraints[0]; ExpressionInOcl expressionInOcl = operationConstraint.getExpressionInOCL(); OclExpressionImpl bodyExpression = (OclExpressionImpl)expressionInOcl.getBodyExpression(); XFormulaCreatorVisitor visitor = new XFormulaCreatorVisitor(); bodyExpression.accept(visitor); string formula = visitor.getFormula(); CoreClassifier classifier = (CoreClassifier)expressionInOcl.getContextualElement(); XDataTable targetTable = getTargetTable(xWorkbook, classifier); var operation = operationContextCS.getOperationNodeCS(); var name = operation.getOperationName(); XDataTableColumn targetColumn = targetTable.getDataTableColumns().FirstOrDefault(c => c.getName().Equals(name)); if (targetColumn == null) { throw new Exception("Coluna não encontrada!"); } XTextExp xtext = new XTextExp(); xtext.setTextSymbol(formula); targetColumn.setDataContent(xtext); MessageBox.Show(formula); var extraColumns = visitor.getExtraColumns(); foreach (KeyValuePair <string, string> pair in extraColumns) { string columnName = pair.Key; string columnFormula = pair.Value; targetTable = getTargetTable(xWorkbook, visitor.getCurrentClassifier()); var newTableColumn = new XDataTableColumn(); newTableColumn.setName(columnName); newTableColumn.setDataTable(targetTable); updateDataTable(targetTable, newTableColumn); XTextExp xColumnFormula = new XTextExp(); xColumnFormula.setTextSymbol(columnFormula); newTableColumn.setDataContent(xColumnFormula); } return(xWorkbook); }
public DataRow NewSessionType(String type) { DataRow newrow; newrow = NewRow(); newrow[XDataTable.Name(this)] = type; Rows.Add(newrow); return(newrow); }
public Pattern(Pattern p) { this.row = p.row.Table.NewRow(); this._repeat_count = p._repeat_count; this.algorithm = p.algorithm; // clone the original data row. DataRow row = p.row; for (int n = 1; n < p.row.ItemArray.Length; n++) { // don't copy the primary key. if (p.row.Table.Columns[n].AutoIncrement) { continue; } this.row[n] = p.row[n]; } // clone all the loaded masks. this.masks = new List <System.Collections.Specialized.BitVector32>(); foreach (System.Collections.Specialized.BitVector32 bits in p.masks) { this.masks.Add(new System.Collections.Specialized.BitVector32(bits)); } this.sub_patterns = new List <Pattern>(); foreach (Pattern pattern in p.sub_patterns) { sub_patterns.Add(pattern); } // create a new name based on the old name. this.row[XDataTable.Name(row.Table)] = this.Name = "Copy of " + p.Name; this._mode_mod = p._mode_mod; this.pattern_list = p.pattern_list; this.changed = true; retry_name: try { p.row.Table.Rows.Add(this.row); } catch (ConstraintException ce) { if (ce.Message.IndexOf("pattern_name") >= 0) { this.row[XDataTable.Name(row.Table)] = this.Name = "Copy of " + this.Name; goto retry_name; } } UpdateRow(); }
private List <string> GetImageUris(InventoryVehicle vehicle) { using (XDataTable table = DataSetHelper.GetDataTable(GetImageUrisSql, SessionManager.Instance.GetConnection("va2"), new NameValue("vin", vehicle.Vin), new NameValue("entityId", vehicle.Dealer.Id))) { if (table.Rows.Count == 0) { return(new List <string>()); } return(((XDataRow)table.Rows[0]).GetList <string>("ImageUris")); } }
void SessionPackMetaRelation_RowChanging(object sender, DataRowChangeEventArgs e) { if (e.Action == DataRowAction.Add) { if (e.Row.RowState == (DataRowState.Added) || e.Row.RowState == DataRowState.Detached) { DataRow Source1 = e.Row.GetParentRow(TableName + "_meta_" + root_table.TableName); DataRow Source2 = e.Row.GetParentRow(TableName + "_meta_" + terminal_table.TableName); e.Row["Name"] = ((Source1 == null) ? "<NULL>" : Source1[XDataTable.Name(root_table)]) + " : " + ((Source2 == null) ? "<NULL>" : Source2[terminal_table.NameColumn]); } } }
private XWorksheet GetXReference(XWorkbook xWorkbook, string xreference, ref XDataTable targettable) { foreach (XWorksheet xWorksheet in xWorkbook.getWorksheets()) { targettable = xWorksheet.getDataTables().FirstOrDefault(d => d.getName().Equals(xreference)); if (targettable != null) { return(xWorksheet); } } targettable = null; return(null); }
private void prizeLevelList2_SelectedIndexChanged(object sender, EventArgs e) { if (BindingSourcePrizeLevels != null && prizeLevelList2.SelectedItem != null) { DataRow myself = (prizeLevelList2.SelectedItem as DataRowView).Row; DataRow real = myself; //BindingSourceSessionGameGroupGame.EndEdit(); if (real != null) { int a = BindingSourcePrizeLevels.Find(XDataTable.ID(real.Table), real[XDataTable.ID(real.Table)]); BindingSourcePrizeLevels.Position = a; } } }
void InitDataView(DataSet set, String mirror_table) { this.Table = set.Tables[mirror_table]; this.RowFilter = ""; this.RowStateFilter = DataViewRowState.CurrentRows; if (XDataTable.HasNumber(this.Table)) { this.Sort = XDataTable.Number(Table); } else if (Table.Columns.Contains(XDataTable.Name(Table))) { this.Sort = XDataTable.Name(Table); } }
public static void LoadDealers( XDataTable<DataRow> packs ) { // well, they could have changed, I guess re-cycling these is better... dealers.Clear(); foreach( DataRow pack in packs.Rows ) { DataRow[] pack_ranges = pack.GetChildRows( "pack_has_cardset_range" ); foreach( DataRow pack_range in pack_ranges ) { DataRow range = pack_range.GetParentRow( "cardset_range_in_pack" ); GetDealer( range ); } } }
public CurrentPackCardsetRanges(DataSet set) { cardset_ranges = set.Tables[CardsetRange.TableName]; packs = set.Tables[PackTable.TableName]; pack_cardsets = set.Tables[PackCardsetRange.TableName]; TableName = "current_pack_cardsets"; Columns.Add(cardset_keyname = XDataTable.ID(cardset_ranges), typeof(int)); Columns.Add(XDataTable.Name(this), typeof(String)); Columns.Add(pack_keyname = PackTable.PrimaryKey, typeof(int)); Columns.Add("name", typeof(String)); set.Tables.Add(this); RowDeleting += new DataRowChangeEventHandler(CurrentPackCardsetRanges_RowDeleting); cardset_ranges.ColumnChanging += new DataColumnChangeEventHandler(cardset_ranges_ColumnChanging); set.Tables[CardsetInfo.TableName].ColumnChanging += new DataColumnChangeEventHandler(CurrentPackCardsetRanges_ColumnChanging); }
public ItemInstance(DataSet dataSet, DsnConnection dsn) : base(dsn) { AddColumns(); dataSet.Tables.Add(this); DataTable descip = dataSet.Tables[ItemDescription.TableName]; if (descip != null) { if (dataSet.Tables.Contains(ItemDescription.TableName)) { dataSet.Relations.Add( new DataRelation("item_is_item_description" , descip.Columns[XDataTable.ID(descip)] , this.Columns[XDataTable.ID(descip)])); } } }
public override string ToString() { SessionDayMacroSessionTable table = this.Table as SessionDayMacroSessionTable; if (table.return_session_only) { DataRow row_session = this.GetParentRow("session_in_session_macro"); return(row_session[SessionTable.NameColumn].ToString()); } else { DataRow row_session = this.GetParentRow("session_in_session_macro"); DataRow session_type = this.GetParentRow("session_macro_session_type"); String session_type_name = (session_type == null) ? "<Undefined>" : session_type[SessionTypeTable.NameColumn].ToString(); //if( session_type == null ) // row[SessionTypeTable.PrimaryKey] = schedule.session_types.GetDefault(); DataRow Prizes = this.GetParentRow("session_macro_prize_exceception"); String session_prize_name = (Prizes == null) ? "<Undefined>" : Prizes[PrizeExceptionSet.NameColumn].ToString(); DataRow Prices = this.GetParentRow("session_macro_price_exceception"); String session_price_name = (Prices == null) ? "<Undefined>" : Prices[PriceExceptionSet.NameColumn].ToString(); if (this[SessionDayMacroSessionTable.NameColumn].GetType() == typeof(DBNull) || this[SessionDayMacroSessionTable.NameColumn].ToString().Length == 0) { return(this[SessionDayMacroSessionTable.NumberColumn] + ") " + session_type_name + ":" + row_session[XDataTable.Name(row_session.Table.TableName)].ToString() + "[" + session_price_name + "]" + "[" + session_prize_name + "]" ); } return(this[SessionDayMacroSessionTable.NumberColumn] + ") " + session_type_name + ":" + this[SessionDayMacroSessionTable.NameColumn].ToString() + "<" + row_session[XDataTable.Name(row_session.Table.TableName)].ToString() + ">" + "[" + session_price_name + "]" + "[" + session_prize_name + "]" ); } }
/// <summary> /// Cria colunas na tabela em questão para cada feature do classifier /// </summary> /// <param name="coreClassifier">classifier</param> /// <param name="xDataTable">tabela</param> /// <param name="model">modelo</param> private void createFeatureColumns(CoreClassifier coreClassifier, XDataTable xDataTable, CoreModelImpl model) { List <object> features = new List <object>(); features.AddRange(coreClassifier.getClassifierFeatures().Where(f => f.GetType() == typeof(CoreAttributeImpl))); var keyAttribute = features.FirstOrDefault(f => ((CoreAttributeImpl)f).hasStereotype("Id")); if (keyAttribute != null) { xDataTable.setKeyIndex(features.IndexOf(keyAttribute) + 1); } features.AddRange(coreClassifier.getClassifierFeatures().Where(f => f.GetType() == typeof(CoreOperationImpl))); foreach (CoreFeature feature in features) { XDataTableColumn xDataTableColumn = new XDataTableColumn(); xDataTableColumn.setName(feature.getName()); xDataTableColumn.setDataTable(xDataTable); updateDataTable(xDataTable, xDataTableColumn); if (feature is CoreAttributeImpl) { var featureImpl = (CoreAttributeImpl)feature; string featureName = featureImpl.getFeatureType().getName(); if (coreClassifier.isEnumeration()) { xDataTableColumn.setXReference(featureName); } else { var enumerations = getEnumerations(model); if (enumerations.FirstOrDefault(e => e.getName() == featureName) != null) { xDataTableColumn.setXReference(featureName); } } } } }
public DataRow GetPackGroup(String name) { String name_column = XDataTable.Name(this); if (name_column != null) { String safe_name = DsnConnection.Escape(DsnConnection.ConnectionMode.NativeDataTable, DsnConnection.ConnectionFlavor.Unknown, name); if (Columns[name_column].Unique) { DataRow[] rows = Select(name_column + "='" + safe_name + "'"); if (rows.Length > 1) { throw new ConstraintException("unique name column has already been violated, while attempting to add [" + name + "]"); } if (rows.Length == 1) { return(rows[0]); } } } return(null); }
static CreateTables() { dsn_me = new DsnConnection("odds.db"); dsn_public = new DsnConnection("mysql-vertest"); play_db = new MySQLDataTable(); play_db.TableName = "Odds_GamePlay"; play_db.AddDefaultColumns(true); play_db.Columns.Add("Odds_GamePlay_id", typeof(int)); play_db.Columns.Add("player_id", typeof(int)); play_db.Columns.Add("start_card", typeof(int)); play_db.Columns.Add("card_count", typeof(int)); play_db.Columns.Add("card_base", typeof(int)); //play_db.Create(); //Schedule.GetMacroSchedule game_db = new MySQLDataTable("Odds_Games"); game_db.AddDefaultColumns(true); game_db.Columns.Add("Balls", typeof(String)); game_db.Columns.Add("session", typeof(int)); game_db.Columns.Add("game", typeof(int)); game_db.Columns.Add("bingoday", typeof(DateTime)); game_db.Columns.Add("pattern_id_1", typeof(int)); game_db.Columns.Add("pattern_id_2", typeof(int)); game_db.Columns.Add("pattern_id_3", typeof(int)); game_db.Columns.Add("pattern_id_4", typeof(int)); game_db.Columns.Add("pattern_id_5", typeof(int)); //game_db.Create(); ds = new DataSet(); ds.Tables.Add(play_db); ds.Tables.Add(game_db); ds.Relations.Add(new DataRelation("game_play" , game_db.Columns[0] , play_db.Columns[XDataTable.Name(game_db)]) ); }
void InitCurrentObject(DataTable table1, DataTable table2, DataTable[] tables) { parents = table1; if (parents != null) { parent_keyname = XDataTable.ID(parents); } children = table2; if (children != null) { child_keyname = XDataTable.ID(children); } all_parents = tables; //NameColumn = relation.Name; //session_game_groups = table1.DataSet.Tables[MySQLRelationTable.RelationName( table1, table2 )] as MySQLRelationTable; if (children == null && all_parents == null) { throw new Exception("Table is not an XDataTable with a DisplayMemberName"); } }
void ButtonAssignPaperToItem_Click(object sender, ReflectorButtonEventArgs e) { DataRow[] previous_row = ItemManagmentState.item_dataset.floor_item_map.Select( XDataTable.ID(ItemManagmentState.current_item.Table) + "='" + ItemManagmentState.current_item[XDataTable.ID(ItemManagmentState.current_item.Table)] + "'"); if (previous_row.Length == 0) { previous_row = ItemManagmentState.item_dataset.floor_item_map.Select( "paper_item_name" + "='" + DsnConnection.Escape(DsnConnection.ConnectionMode.NativeDataTable , DsnConnection.ConnectionFlavor.Unknown , ItemManagmentState.current_item[XDataTable.Name(ItemManagmentState.current_item.Table)].ToString()) + "'"); } if (previous_row.Length > 0) { previous_row[0]["floor_paper_name_id"] = ItemManagmentState.current_paper["floor_paper_name_id"]; previous_row[0]["paper_item_name"] = ItemManagmentState.current_item["item_name"]; previous_row[0]["floor_name"] = ItemManagmentState.current_paper.ToString(); previous_row[0]["paper_item"] = true; //ItemManagmentState.current_floor_paper_paper_items. } else { DataRow result = MySQLRelationTable.AddGroupMember(ItemManagmentState.item_dataset.floor_item_map , ItemManagmentState.current_paper , ItemManagmentState.current_item , false , true); result["paper_item_name"] = ItemManagmentState.current_item["item_name"]; result["floor_name"] = ItemManagmentState.current_paper.ToString(); result["paper_item"] = true; } }
void MyTextBox_LostFocus(object sender, EventArgs e) { if (!changed) { return; } if (datarow == null || datarow.RowState == DataRowState.Detached || datarow.RowState == DataRowState.Deleted) { return; } if (filling) { return; } { filling = true; try { if (String.Compare(datarow[column].ToString(), Text) != 0) { DataRow[] prior; if (NumberField) { int value; if (Int32.TryParse(Text, out value)) { if (NumberColumnName == null) { datarow[XDataTable.Number(datarow.Table)] = value; } else { datarow[NumberColumnName] = value; } } } else { prior = datarow.Table.Select(XDataTable.Name(datarow.Table) + "='" + Text + "'"); if (prior.Length > 0) { if (MessageBox.Show("New value already exists. Do you wish to combine these?", "Confirm Merge", MessageBoxButtons.YesNo) == DialogResult.Yes) { String id_name = XDataTable.ID(datarow.Table); // might have to check the relation to make sure it's a relation on the primary key. foreach (DataRelation relation in datarow.Table.ChildRelations) { foreach (DataColumn dc in relation.ParentColumns) { if (!NumberField && dc.ColumnName == id_name) { DataRow[] rows = datarow.GetChildRows(relation); foreach (DataRow row in rows) { row[id_name] = prior[0][id_name]; } } } } foreach (DataRelation relation in datarow.Table.ParentRelations) { foreach (DataColumn dc in relation.ChildColumns) { if (dc.ColumnName == id_name) { DataRow[] rows = datarow.GetParentRows(relation); foreach (DataRow row in rows) { row[id_name] = prior[0][id_name]; } } } } datarow.Delete(); } } else if (!ConfirmChanges || MessageBox.Show("Are you sure you want to change " + datarow.Table.TableName + "." + column + " = " + datarow[column] + " to " + Text, "Confirm Change", MessageBoxButtons.YesNo) == DialogResult.Yes) { datarow[column] = Text; } else { Text = datarow[column].ToString(); } } } //(datarow.Table as MySQLDataTable).CommitChanges(); } catch { } filling = false; } }
protected override void OnRowChanged(DataRowChangeEventArgs e) { switch (e.Action) { case DataRowAction.Change: if (adding) { return; } DataRow oldrow = e.Row.GetParentRow(CardsetRange.TableName); // (DataRow)e.Row["cardset_range_row"]; oldrow["start"] = e.Row["Start"]; oldrow["end"] = e.Row["End"]; oldrow["dealer_id"] = e.Row["dealer_id"]; oldrow["base"] = e.Row["Base"]; oldrow["electronic"] = e.Row["Electronic"]; oldrow["barcode_paper"] = e.Row["Barcode Paper"]; oldrow["offset"] = e.Row["Offset"]; oldrow["sales_database"] = e.Row["Sales Database"]; oldrow["multi_level_payout"] = e.Row["multi level payout"]; oldrow["double_action"] = e.Row["Double Action"]; oldrow[PrizeLevelNames.PrimaryKey] = e.Row[PrizeLevelNames.PrimaryKey]; try { oldrow[CardsetRange.NameColumn] = e.Row[DisplayName]; } catch (ConstraintException) { e.Row[DisplayName] = oldrow[CardsetRange.NameColumn]; } //schedule.cardset_ranges.CommitChanges(); break; case DataRowAction.Add: if (schedule == null) { return; } if (updating) { return; } adding = true; DataRow newrow = schedule.cardset_ranges.NewRow(); //e.Row["cardset_range_row"] = newrow; // back-equate this row... newrow[XDataTable.Name(newrow.Table)] = e.Row[DisplayName]; // name newrow["start"] = e.Row["Start"]; newrow["end"] = e.Row["End"]; newrow["base"] = e.Row["Base"]; newrow["offset"] = e.Row["Offset"]; newrow["electronic"] = e.Row["Electronic"]; newrow["barcode_paper"] = e.Row["Barcode Paper"]; newrow["sales_database"] = e.Row["Sales Database"]; newrow[Dealer.PrimaryKey] = e.Row[Dealer.PrimaryKey]; newrow["multi_level_payout"] = e.Row["multi level payout"]; newrow["double_action"] = e.Row["Double Action"]; if (cardset == null || cardset.RowState == DataRowState.Detached) { newrow[CardsetInfo.PrimaryKey] = DBNull.Value; } else { newrow[CardsetInfo.PrimaryKey] = cardset[CardsetInfo.PrimaryKey]; } newrow[PrizeLevelNames.PrimaryKey] = e.Row[PrizeLevelNames.PrimaryKey]; //e.Row["cardset_range_id"] = newrow; try { schedule.cardset_ranges.Rows.Add(newrow); //schedule.cardset_ranges.CommitChanges(); e.Row[cardset_range_id] = newrow[cardset_range_id]; } catch { //System.Windows.Forms.MessageBox.Show( "Name Already exists. Removing new item." ); e.Row.Delete(); //throw; } //schedule.cardset_ranges.CommitChanges(); adding = false; break; } base.OnRowChanged(e); }
/// <summary> /// Retorna a representação de uma planilha em memória que satisfaz o modelo passado como parâmetro /// </summary> /// <param name="classDiagramPath">caminho para o arquivo .classdiagram que contém o modelo</param> /// <returns>represetação da planilha em memória</returns> public XWorkbook createXWorkbook(string classDiagramPath) { ModelReader reader = new VscdReader(classDiagramPath); CoreModelImpl model = (CoreModelImpl)reader.getModel(); OclTypesFactory.setEnvironment(model); XWorkbook xWorkbook = new XWorkbook(); xWorkbook.setName(model.getName()); environment = model.getEnvironmentWithoutParents(); IEnumerable <CoreClassifier> modelClasses = getClasses(model); foreach (CoreClassifier coreClassifier in modelClasses) { XWorksheet xWorksheet = new XWorksheet(); xWorksheet.setName(coreClassifier.getName()); xWorksheet.setWorkbook(xWorkbook); updateWorkbook(xWorkbook, xWorksheet); XDataTable xDataTable = new XDataTable(); xDataTable.setName(coreClassifier.getName()); xDataTable.setWorksheet(xWorksheet); updateWorksheet(xWorksheet, xDataTable); createFeatureColumns(coreClassifier, xDataTable, model); createAssociationColumn(model, coreClassifier, xDataTable); } IEnumerable <CoreClassifier> enumerations = getEnumerations(model); var iEnumerable = enumerations as IList <CoreClassifier> ?? enumerations.ToList(); if (enumerations != null && iEnumerable.Any()) { foreach (CoreClassifier enumeration in iEnumerable) { XWorksheet xWorksheet = new XWorksheet(); xWorksheet.setName(enumeration.getName()); xWorksheet.setWorkbook(xWorkbook); updateWorkbook(xWorkbook, xWorksheet); XDataTable xDataTable = new XDataTable(); xDataTable.setName(enumeration.getName()); xDataTable.setWorksheet(xWorksheet); updateWorksheet(xWorksheet, xDataTable); XDataTableColumn xDataTableColumn = new XDataTableColumn(); xDataTableColumn.setName(enumeration.getName()); xDataTableColumn.setDataTable(xDataTable); updateDataTable(xDataTable, xDataTableColumn); XDataArray dataArray = new XDataArray(); var arraySymbol = (from CoreAttributeImpl attribute in enumeration.getClassifierFeatures().Where(f => f is CoreAttributeImpl) select attribute.getName()).ToList(); dataArray.setArray(arraySymbol); xDataTableColumn.setDataContent(dataArray); } } return(xWorkbook); }
void InitCurrentObject(IXDataTable table1, IXDataTable table2, IXDataTable[] tables) { parents = table1; if (parents != null) { parent_keyname = XDataTable.ID(parents as DataTable); } children = table2; if (children != null) { child_keyname = XDataTable.ID(children as DataTable); } all_parents = tables; NameColumn = relation.NameColumn; //session_game_groups = table1.DataSet.Tables[MySQLRelationTable.RelationName( table1, table2 )] as MySQLRelationTable; if (children == null && all_parents == null) { throw new Exception("Table is not an XDataTable with a DisplayMemberName"); } base.TableName = "current_" + relation.TableName; DataColumn mykeycol = Columns.Add(relation_keyname = relation.PrimaryKeyName, XDataTable.DefaultAutoKeyType); Columns.Add(NameColumn, typeof(String)); if (relation_data_table.DataSet.Tables.Contains(this.ToString()) == false) { relation_data_table.DataSet.Tables.Add(this); DataRelation r = new DataRelation(relation.TableName , relation_data_table.Columns[relation.PrimaryKeyName] , mykeycol); //r.ChildKeyConstraint.ExtendedProperties. relation_data_table.DataSet.Relations.Add(r); } // these are to handle updating the current display name... // they should resolve to a common routine in the derived class. if (children != null) { children.ColumnChanged += new DataColumnChangeEventHandler(child_ColumnChanged); } if (parents != null) { parents.ColumnChanged += new DataColumnChangeEventHandler(parents_ColumnChanged); } if (all_parents != null) { foreach (IXDataTable dt in all_parents) { dt.ColumnChanged += new DataColumnChangeEventHandler(dt_ColumnChanged); } } base.PrimaryKey = new DataColumn[] { mykeycol }; relation.RowChanged += new DataRowChangeEventHandler(parent_children_RowChanged); relation.ColumnChanged += new DataColumnChangeEventHandler(parent_child_ColumnChanged); relation.RowOrderChanged += new MySQLRelationTable.OnRowOrderChanged(relation_RowOrderChanged); Fill(); }
public bool UpdateRow() { if (changed || (row != null && row.RowState == DataRowState.Deleted)) { expanded = false; if (row != null) { if (row.RowState != DataRowState.Deleted) { StringBuilder mask = new StringBuilder(); row[XDataTable.Name(row.Table)] = Name; row["count"] = _repeat_count; row["crazy_hardway"] = _crazy_hardway; row["real_mode"] = _algorithm; row["mode_mod"] = ((int)_mode_mod) + (_repeat_no_overlap ? mode_modifications.max_mod : 0); PatternDescriptionTable pdt = row.Table as PatternDescriptionTable; //pdt.CommitChanges(); if (XDataTable.DefaultAutoKeyType == typeof(Guid)) { ID = new Guid(row["pattern_id"].ToString()); } else { ID = row["pattern_id"]; } if (_algorithm == PatternDescriptionTable.match_types.Normal) { bool bits_changed = false; int block = 0; DataRow[] rows = row.GetChildRows("pattern_has_bits"); //DataRow[] rows = pattern_data.Select( "pattern_id=" + ID.ToString() ); foreach (DataRow delete_row in rows) { // maybe check off each pattern... bits_changed = true; delete_row.Delete(); } foreach (System.Collections.Specialized.BitVector32 bits in masks) { DataRow newrow = pattern_list.pattern_data.NewRow(); mask.Length = 0; newrow["block"] = block++; newrow["bits_int"] = bits.Data; newrow["pattern_id"] = ID; pattern_list.pattern_data.Rows.Add(newrow); bits_changed = true; } if (pattern_list != null && pattern_list.pattern_data != null && bits_changed) { //pattern_list.pattern_data.CommitChanges(); } } } else { PatternDescriptionTable pdt = row.Table as PatternDescriptionTable; pdt.CommitChanges(); } } if (sub_pattern_changed || (row != null && row.RowState == DataRowState.Deleted)) { expanded = false; if (IsMultiPattern()) { UpdateSubPatterns(this); } sub_pattern_changed = false; } changed = false; return(true); } if (sub_pattern_changed || (row != null && row.RowState == DataRowState.Deleted)) { expanded = false; if (IsMultiPattern()) { UpdateSubPatterns(this); } sub_pattern_changed = false; return(true); } return(false); }
void CommonInit(DataRow row, Patterns pattern_list) { this.row = row; //this.pattern_data = pattern_data; //this.pattern_sub_pattern = pattern_sub_pattern; this.pattern_list = pattern_list; int col_count = row.Table.Columns.IndexOf("count"); int col_match = row.Table.Columns.IndexOf("match"); //ID = Convert.ToInt32( row[XDataTable.ID( row.Table )] ); ID = row[XDataTable.ID(row.Table)]; Name = (String)row[XDataTable.Name(row.Table)]; if (col_count >= 0) { if (row[col_count].GetType() == typeof(DBNull)) { _repeat_count = 1; } else { _repeat_count = Convert.ToInt32(row[col_count]); } if (_repeat_count == 0 && col_match >= 0) { // this causes the row that selected this to change. row[col_count] = row[col_match]; if (row[col_match].GetType() == typeof(DBNull)) { _repeat_count = 1; } else { _repeat_count = Convert.ToInt32(row[col_match]); } } } else { _repeat_count = (int)row["match"]; } _crazy_hardway = (bool)row["crazy_hardway"]; if (row.Table.Columns.IndexOf("mode") >= 0) { algorithm = (row["mode"].Equals(DBNull.Value) ? PatternDescriptionTable.match_types.Normal : (PatternDescriptionTable.match_types)row["mode"]); } else { algorithm = (row["real_mode"].Equals(DBNull.Value) ? PatternDescriptionTable.match_types.Normal : (PatternDescriptionTable.match_types)row["real_mode"]); } _mode_mod = (mode_modifications)row["mode_mod"]; object o = row["pattern_board_size"]; board_size = (o == DBNull.Value)?0:Convert.ToInt32(o); if ((_mode_mod & mode_modifications.eCube) != 0) { _mode_mod -= mode_modifications.eCube; eCube = true; } if ((_mode_mod & mode_modifications.max_mod) != 0) { _mode_mod -= mode_modifications.max_mod; _repeat_no_overlap = true; } if (_mode_mod == mode_modifications.NoOverlap) { _repeat_no_overlap = true; } sub_patterns = new List <Pattern>(); { DataRow[] sub_pattern_rows = row.GetChildRows("pattern_has_sub_pattern"); foreach (DataRow pattern in sub_pattern_rows) { Pattern sub = null; foreach (Pattern p in pattern_list) { if (p.ID.Equals(pattern[PatternDescriptionTable.PrimaryKey])) { sub = p; break; } } if (sub == null) { bool created2; sub = pattern_list.GetPattern(pattern.GetParentRow("sub_pattern_is_pattern"), out created2); } this.sub_patterns.Add(sub); } } masks = new List <System.Collections.Specialized.BitVector32>(); // these aren't really changes. changed = false; }
void Init(DataView reference_view, DataTable reference_table) { ControlList.controls.Add(this); if (reference_view != null) { this.DataSource = reference_view; } if (reference_table != null) { CurrentObjectTableView IReferenceTable = reference_table as CurrentObjectTableView; //default_view = new DataView( reference_table ); //Type TableType = reference_table.GetType(); this.DataSource = reference_table; real_display_member = this.DisplayMember = (IReferenceTable == null) ? XDataTable.Name(reference_table) : XDataTable.Name(IReferenceTable.relation_data_table); } this.SelectedValueChanged += new EventHandler(MyListBox_SelectedIndexChanged); this.DisplayMemberChanged += new EventHandler(MyListBox_DisplayMemberChanged); }
/// <summary> /// Cria colunas na tabela em questão para cada association end com multiplicidade 1 do classifier /// </summary> /// <param name="model">modelo onde se encontra o classifier</param> /// <param name="coreClassifier">classifier</param> /// <param name="xDataTable">tabela</param> private void createAssociationColumn(CoreModel model, CoreClassifier coreClassifier, XDataTable xDataTable) { foreach (CoreAssociationEnd associationEnd in model.getAssociationEndsForClassifier(coreClassifier)) { if (associationEnd.isOneMultiplicity() && associationEnd.isMandatory()) { XDataTableColumn xDataTableColumn = new XDataTableColumn(); xDataTableColumn.setXReference(associationEnd.getType().getName()); xDataTableColumn.setName(associationEnd.getName()); xDataTableColumn.setDataTable(xDataTable); updateDataTable(xDataTable, xDataTableColumn); } } }