Beispiel #1
0
        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);
        }
Beispiel #2
0
 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;
                 }
             }
         }
     }
 }
Beispiel #3
0
 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>;
 }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        public DataRow NewSessionType(String type)
        {
            DataRow newrow;

            newrow = NewRow();
            newrow[XDataTable.Name(this)] = type;
            Rows.Add(newrow);
            return(newrow);
        }
Beispiel #8
0
        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();
        }
Beispiel #9
0
 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"));
     }
 }
Beispiel #10
0
 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]);
         }
     }
 }
Beispiel #11
0
 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);
 }
Beispiel #12
0
 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;
         }
     }
 }
Beispiel #13
0
 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);
     }
 }
Beispiel #14
0
		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);
        }
Beispiel #16
0
        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)]));
                }
            }
        }
Beispiel #17
0
            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 + "]"
                           );
                }
            }
Beispiel #18
0
        /// <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);
                        }
                    }
                }
            }
        }
Beispiel #19
0
        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);
        }
Beispiel #20
0
            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)])
                                 );
            }
Beispiel #21
0
        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");
            }
        }
Beispiel #22
0
        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;
            }
        }
Beispiel #23
0
        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;
            }
        }
Beispiel #24
0
        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);
        }
Beispiel #25
0
        /// <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);
        }
Beispiel #26
0
        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();
        }
Beispiel #27
0
        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);
        }
Beispiel #28
0
        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;
        }
Beispiel #29
0
 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);
 }
Beispiel #30
0
 /// <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);
         }
     }
 }