Ejemplo n.º 1
0
        public void DmTable_RejectChanges()
        {
            tbl.AcceptChanges();

            var dmRow = tbl.Rows[0];

            dmRow["CustomerID"] = 2;

            tbl.RejectChanges();

            Assert.Equal(1, dmRow["CustomerID"]);
            Assert.Equal(DmRowState.Unchanged, dmRow.RowState);

            // Try to reject changes after creating a table, with no acceptchanges
            var tbl3 = new DmTable();
            var id3  = new DmColumn <Int32>("ServiceTicketID");

            id3.IsAutoIncrement = true;
            tbl3.Columns.Add(id3);
            var key3 = new DmKey(new DmColumn[] { id3 });

            tbl3.PrimaryKey = key3;
            tbl3.Columns.Add(new DmColumn <string>("Title"));

            var st3 = tbl3.NewRow();

            st3["Title"] = "Titre AER";
            tbl3.Rows.Add(st3);

            // SInce we didn't AcceptChanges, raise an error
            Assert.Throws <Exception>(() => tbl3.RejectChanges());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Copies the table schema from a DmTableSurrogate object into a DmTable object.
        /// </summary>
        public void ReadSchemaIntoDmTable(DmTable dt)
        {
            if (dt == null)
            {
                throw new ArgumentNullException("dt", "DmTable");
            }

            dt.TableName        = this.TableName;
            dt.Culture          = new CultureInfo(this.CultureInfoName);
            dt.Schema           = this.Schema;
            dt.CaseSensitive    = this.CaseSensitive;
            dt.OriginalProvider = this.OriginalProvider;
            dt.SyncDirection    = this.SyncDirection;

            for (int i = 0; i < this.Columns.Count; i++)
            {
                DmColumn dmColumn = this.Columns[i].ConvertToDmColumn();
                dt.Columns.Add(dmColumn);
            }

            if (this.PrimaryKeys != null && this.PrimaryKeys.Count > 0)
            {
                DmColumn[] keyColumns = new DmColumn[this.PrimaryKeys.Count];

                for (int i = 0; i < this.PrimaryKeys.Count; i++)
                {
                    string columnName = this.PrimaryKeys[i];
                    keyColumns[i] = dt.Columns.First(c => dt.IsEqual(c.ColumnName, columnName));
                }

                DmKey key = new DmKey(keyColumns);

                dt.PrimaryKey = key;
            }
        }
Ejemplo n.º 3
0
        public void DmColumn_Create_Columns()
        {
            var tbl = new DmTable("ServiceTickets");

            var id = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;

            // if is PK, non null allowable
            Assert.False(id.AllowDBNull);
            Assert.Equal("ServiceTicketID", id.ColumnName);
            Assert.Equal(typeof(Guid), id.DataType);
            Assert.Equal(0, id.Ordinal);
            Assert.True(id.IsUnique);

            var titleColumn = new DmColumn <string>("Title");

            tbl.Columns.Add(titleColumn);
            Assert.Equal("Title", titleColumn.ColumnName);
            Assert.Equal(typeof(string), titleColumn.DataType);
            Assert.Equal(1, titleColumn.Ordinal);
            Assert.False(titleColumn.IsUnique);

            var sv = new DmColumn <int>("StatusValue");

            tbl.Columns.Add(sv);
            Assert.Equal("StatusValue", sv.ColumnName);
            Assert.Equal(typeof(Int32), sv.DataType);
            Assert.Equal(2, sv.Ordinal);
            Assert.False(sv.IsUnique);

            var opened = new DmColumn <DateTime>("Opened");

            tbl.Columns.Add(opened);
            Assert.Equal("Opened", opened.ColumnName);
            Assert.Equal(typeof(DateTime), opened.DataType);
            Assert.Equal(3, opened.Ordinal);
            Assert.False(opened.IsUnique);

            var closedColumn = DmColumn.CreateColumn("Closed", typeof(DateTime));

            tbl.Columns.Add(closedColumn);
            Assert.Equal("Closed", closedColumn.ColumnName);
            Assert.Equal(typeof(DateTime), closedColumn.DataType);
            Assert.Equal(4, closedColumn.Ordinal);
            Assert.False(closedColumn.IsUnique);
        }
Ejemplo n.º 4
0
        public void DmColumn_Create_Columns()
        {
            var tbl = new DmTable("ServiceTickets");

            var id = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;

            // if is PK, non null allowable
            Assert.Equal(false, id.AllowDBNull);
            Assert.Equal("ServiceTicketID", id.ColumnName);
            Assert.Equal(id.DataType, typeof(Guid));
            Assert.Equal(id.Ordinal, 0);
            Assert.Equal(id.Unique, true);

            var titleColumn = new DmColumn <string>("Title");

            tbl.Columns.Add(titleColumn);
            Assert.Equal("Title", titleColumn.ColumnName);
            Assert.Equal(titleColumn.DataType, typeof(string));
            Assert.Equal(titleColumn.Ordinal, 1);
            Assert.Equal(titleColumn.Unique, false);

            var sv = new DmColumn <int>("StatusValue");

            tbl.Columns.Add(sv);
            Assert.Equal("StatusValue", sv.ColumnName);
            Assert.Equal(sv.DataType, typeof(Int32));
            Assert.Equal(sv.Ordinal, 2);
            Assert.Equal(sv.Unique, false);

            var opened = new DmColumn <DateTime>("Opened");

            tbl.Columns.Add(opened);
            Assert.Equal("Opened", opened.ColumnName);
            Assert.Equal(opened.DataType, typeof(DateTime));
            Assert.Equal(opened.Ordinal, 3);
            Assert.Equal(opened.Unique, false);

            var closedColumn = DmColumn.CreateColumn("Closed", typeof(DateTime));

            tbl.Columns.Add(closedColumn);
            Assert.Equal("Closed", closedColumn.ColumnName);
            Assert.Equal(closedColumn.DataType, typeof(DateTime));
            Assert.Equal(closedColumn.Ordinal, 4);
            Assert.Equal(closedColumn.Unique, false);
        }
Ejemplo n.º 5
0
        public void DmColumn_SetOrdinal()
        {
            var tbl = new DmTable("ServiceTickets");

            var id = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;

            var titleColumn = new DmColumn <string>("Title");

            tbl.Columns.Add(titleColumn);
            var sv = new DmColumn <int>("StatusValue");

            tbl.Columns.Add(sv);
            var opened = new DmColumn <DateTime>("Opened");

            tbl.Columns.Add(opened);
            var closedColumn = DmColumn.CreateColumn("Closed", typeof(DateTime));

            tbl.Columns.Add(closedColumn);

            Assert.Equal(0, id.Ordinal);
            Assert.Equal(1, titleColumn.Ordinal);
            Assert.Equal(2, sv.Ordinal);
            Assert.Equal(3, opened.Ordinal);
            Assert.Equal(4, closedColumn.Ordinal);

            sv.SetOrdinal(1);

            Assert.Equal(0, id.Ordinal);
            Assert.Equal(1, sv.Ordinal);
            Assert.Equal(2, titleColumn.Ordinal);
            Assert.Equal(3, opened.Ordinal);
            Assert.Equal(4, closedColumn.Ordinal);

            closedColumn.SetOrdinal(0);

            Assert.Equal(0, closedColumn.Ordinal);
            Assert.Equal(1, id.Ordinal);
            Assert.Equal(2, sv.Ordinal);
            Assert.Equal(3, titleColumn.Ordinal);
            Assert.Equal(4, opened.Ordinal);
        }
Ejemplo n.º 6
0
        public void DmTable_Clone_Copy()
        {
            var tbl = new DmTable("ServiceTickets");
            var id  = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;
            tbl.Columns.Add(new DmColumn <string>("Title"));
            tbl.Columns.Add(new DmColumn <string>("Description"));
            tbl.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl.Columns.Add(new DmColumn <int>("CustomerID"));

            var st = tbl.NewRow();

            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            var tbl2 = tbl.Clone();

            Assert.NotSame(tbl2, tbl);
            Assert.Empty(tbl2.Rows);
            Assert.Equal(8, tbl2.Columns.Count);
            Assert.NotNull(tbl2.PrimaryKey);

            var tbl3 = tbl.Copy();

            Assert.NotSame(tbl3, tbl2);
            Assert.NotSame(tbl3, tbl);
            Assert.NotNull(tbl3.PrimaryKey);
            Assert.Equal(8, tbl3.Columns.Count);
            Assert.NotEmpty(tbl3.Rows);
        }
Ejemplo n.º 7
0
        public void DmColumn_Create_AutoIncorement_Column()
        {
            var tbl = new DmTable("ServiceTickets");

            var id = new DmColumn <int>("ServiceTicketID");

            id.IsAutoIncrement   = true;
            id.AutoIncrementSeed = 1;
            id.AutoIncrementStep = 1;

            tbl.Columns.Add(id);


            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;

            output.WriteLine("AutoIncrement is correctly initialized");
        }
Ejemplo n.º 8
0
        public void DmTable_ImportRow()
        {
            var tbl2 = new DmTable();
            var id   = new DmColumn <Guid>("ServiceTicketID");

            tbl2.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl2.PrimaryKey = key;
            tbl2.Columns.Add(new DmColumn <string>("Title"));
            tbl2.Columns.Add(new DmColumn <string>("Description"));
            tbl2.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl2.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl2.Columns.Add(new DmColumn <int>("CustomerID"));

            var st = tbl2.NewRow();

            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl2.Rows.Add(st);

            // Importing into tbl
            var st2 = this.tbl.ImportRow(st);

            // acceptchanges to change the row state
            this.tbl.AcceptChanges();
            Assert.NotEqual(st.RowState, st2.RowState);

            // making change to be sure
            st2["CustomerID"] = 2;
            Assert.Equal(2, st2["CustomerID"]);
            Assert.Equal(1, st["CustomerID"]);
        }
Ejemplo n.º 9
0
        public void DmRow_Add_Rows()
        {
            var tbl = new DmTable("ServiceTickets");

            var idColumn = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(idColumn);
            var key = new DmKey(new DmColumn[] { idColumn });

            tbl.PrimaryKey = key;
            var titleColumn = new DmColumn <string>("Title");

            tbl.Columns.Add(titleColumn);
            var statusValueColumn = new DmColumn <int>("StatusValue");

            tbl.Columns.Add(statusValueColumn);
            var openedColumn = new DmColumn <DateTime>("Opened");

            tbl.Columns.Add(openedColumn);

            var st = tbl.NewRow();

            Assert.Null(st[0]);
            Assert.Null(st[1]);

            var id      = Guid.NewGuid();
            var dateNow = DateTime.Now;

            st["ServiceTicketID"] = id;
            st["Title"]           = "Titre AER";
            st["StatusValue"]     = 2;
            st["Opened"]          = dateNow;
            tbl.Rows.Add(st);

            Assert.Equal(id, st["ServiceTicketID"]);
            Assert.Equal("Titre AER", st["Title"]);
            Assert.Equal(2, st["StatusValue"]);
            Assert.Equal(dateNow, st["Opened"]);
        }
Ejemplo n.º 10
0
        public DmSurrogateTests()
        {
            set = new DmSet("ClientDmSet");

            var tbl = new DmTable("ServiceTickets");

            set.Tables.Add(tbl);
            var id = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;
            tbl.Columns.Add(new DmColumn <string>("Title"));
            tbl.Columns.Add(new DmColumn <string>("Description"));
            tbl.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl.Columns.Add(new DmColumn <int>("CustomerID"));
            tbl.Columns.Add(new DmColumn <Object>("VariantObject"));

            #region adding rows
            var st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            st["VariantObject"]   = DateTime.Now;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre DE";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 3;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            st["VariantObject"]   = 12;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre FF";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 3;
            st["StatusValue"]     = 4;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            st["VariantObject"]   = new { Prop1 = 12, Prop2 = DateTime.Now };
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AC";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            st["VariantObject"]   = null;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre ZDZDZ";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            st["VariantObject"]   = "Hello";
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre VGH";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            st["VariantObject"]   = DmRowState.Added;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre ETTG";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 2;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            st["VariantObject"]   = 0;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre SADZD";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            st["VariantObject"]   = new Byte[0];
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AEEE";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 0;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre CZDADA";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 0;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AFBBB";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 3;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AZDCV";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 2;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre UYTR";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre NHJK";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre XCVBN";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre LKNB";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 3;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre ADFVB";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);
            #endregion

            tbl.AcceptChanges();
        }
Ejemplo n.º 11
0
        public DmTableTests()
        {
            this.tbl = new DmTable("ServiceTickets");
            var id = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;
            tbl.Columns.Add(new DmColumn <string>("Title"));
            tbl.Columns.Add(new DmColumn <string>("Description"));
            tbl.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl.Columns.Add(new DmColumn <int>("CustomerID"));

            #region adding rows
            var st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre DE";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 3;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre FF";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 3;
            st["StatusValue"]     = 4;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AC";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre ZDZDZ";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre VGH";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre ETTG";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 2;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre SADZD";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AEEE";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 0;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre CZDADA";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 0;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AFBBB";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 3;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AZDCV";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 2;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre UYTR";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre NHJK";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre XCVBN";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 1;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 2;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre LKNB";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 3;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 3;
            tbl.Rows.Add(st);

            st = tbl.NewRow();
            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre ADFVB";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 0;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);
            #endregion
        }
Ejemplo n.º 12
0
        public void DmTable_Merge()
        {
            var tbl2 = new DmTable();
            var id   = new DmColumn <Guid>("ServiceTicketID");

            tbl2.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl2.PrimaryKey = key;
            tbl2.Columns.Add(new DmColumn <string>("Title"));
            tbl2.Columns.Add(new DmColumn <string>("Description"));
            tbl2.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl2.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl2.Columns.Add(new DmColumn <int>("CustomerID"));

            var st = tbl2.NewRow();

            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl2.Rows.Add(st);

            // Importing into tbl
            var actualRowsCount = this.tbl.Rows.Count;

            this.tbl.Merge(tbl2);

            Assert.Equal(actualRowsCount + 1, this.tbl.Rows.Count);


            var tbl3 = new DmTable();
            var id3  = new DmColumn <Guid>("ServiceTicketID");

            tbl3.Columns.Add(id3);
            var key3 = new DmKey(new DmColumn[] { id3 });

            tbl3.PrimaryKey = key3;
            tbl3.Columns.Add(new DmColumn <string>("Title"));
            tbl3.Columns.Add(new DmColumn <string>("Description"));
            tbl3.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl3.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl3.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl3.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl3.Columns.Add(new DmColumn <int>("CustomerID"));
            tbl3.Columns.Add(new DmColumn <int>("AAAAAAAAAAAAAA"));
            tbl3.Columns.Add(new DmColumn <string>("VVVVVVVVVVVVVVVVVVVV"));

            var st3 = tbl3.NewRow();

            st3["ServiceTicketID"]      = Guid.NewGuid();
            st3["Title"]                = "Titre AER";
            st3["Description"]          = "Description 2";
            st3["EscalationLevel"]      = 1;
            st3["StatusValue"]          = 2;
            st3["Opened"]               = DateTime.Now;
            st3["Closed"]               = null;
            st3["CustomerID"]           = 1;
            st3["AAAAAAAAAAAAAA"]       = "A";
            st3["VVVVVVVVVVVVVVVVVVVV"] = "V";
            tbl3.Rows.Add(st3);


            // Importing into tbl
            actualRowsCount = this.tbl.Rows.Count;

            this.tbl.Merge(tbl3);

            Assert.Equal(actualRowsCount + 1, this.tbl.Rows.Count);
            Assert.Equal(10, this.tbl.Columns.Count);
        }
Ejemplo n.º 13
0
        public void DmTable_LoadDataRow()
        {
            // Trying with a key GUID (not auto incremented)
            var tbl2 = new DmTable();
            var id   = new DmColumn <Guid>("ServiceTicketID");

            tbl2.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl2.PrimaryKey = key;
            tbl2.Columns.Add(new DmColumn <string>("Title"));
            tbl2.Columns.Add(new DmColumn <string>("Description"));
            tbl2.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl2.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl2.Columns.Add(new DmColumn <int>("CustomerID"));

            var st = tbl2.NewRow();

            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl2.Rows.Add(st);

            var array = new object[] { Guid.NewGuid(), "Titre 2", "Desc", 1, 2, DateTime.Now, null, 3 };

            tbl2.LoadDataRow(array, true);

            Assert.Equal(2, tbl2.Rows.Count);

            // Trying with a key Int auto incremented
            var tbl3 = new DmTable();
            var id3  = new DmColumn <Int32>("ServiceTicketID");

            id3.IsAutoIncrement = true;
            tbl3.Columns.Add(id3);
            var key3 = new DmKey(new DmColumn[] { id3 });

            tbl3.PrimaryKey = key3;
            tbl3.Columns.Add(new DmColumn <string>("Title"));
            tbl3.Columns.Add(new DmColumn <string>("Description"));
            tbl3.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl3.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl3.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl3.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl3.Columns.Add(new DmColumn <int>("CustomerID"));

            var st3 = tbl3.NewRow();

            st3["Title"]           = "Titre AER";
            st3["Description"]     = "Description 2";
            st3["EscalationLevel"] = 1;
            st3["StatusValue"]     = 2;
            st3["Opened"]          = DateTime.Now;
            st3["Closed"]          = null;
            st3["CustomerID"]      = 1;
            tbl3.Rows.Add(st3);

            var array3 = new object[] { "Titre 2", "Desc", 1, 2, DateTime.Now, null, 3 };

            tbl3.LoadDataRow(array3, true);

            Assert.Equal(1, tbl3.Rows[0][0]);
            Assert.Equal(2, tbl3.Rows[1][0]);
        }
Ejemplo n.º 14
0
        public void DmTable_FindByKey()
        {
            var key = Guid.NewGuid();
            var st  = tbl.NewRow();

            st["ServiceTicketID"] = key;
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);

            var dmRow = tbl.FindByKey(key);

            Assert.NotNull(dmRow);
            Assert.Equal(key, dmRow["ServiceTicketID"]);

            // Multiple Key
            // Check if the culture / case sensitive works as well with
            // string in the pkey

            var tbl2 = new DmTable("ServiceTickets");

            tbl2.CaseSensitive = true;

            var id1 = new DmColumn <Guid>("ServiceTicketID");
            var id2 = new DmColumn <int>("CustomerID");
            var id3 = new DmColumn <string>("Title");

            tbl2.Columns.Add(id1);
            tbl2.Columns.Add(id2);
            tbl2.Columns.Add(id3);
            var pkey = new DmKey(new DmColumn[] { id1, id2, id3 });

            tbl2.PrimaryKey = pkey;

            tbl2.Columns.Add(new DmColumn <string>("Description"));
            tbl2.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl2.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl2.Columns.Add(new DmColumn <DateTime>("Closed"));

            var rowPkeyGuid = Guid.NewGuid();
            var row         = tbl2.NewRow();

            row["ServiceTicketID"] = rowPkeyGuid;
            row["CustomerID"]      = 1;
            row["Title"]           = "Titre AER";

            row["Description"]     = "Description 2";
            row["EscalationLevel"] = 1;
            row["StatusValue"]     = 2;
            row["Opened"]          = DateTime.Now;
            row["Closed"]          = null;
            tbl2.Rows.Add(row);

            row = tbl2.NewRow();
            row["ServiceTicketID"] = rowPkeyGuid;
            row["CustomerID"]      = 1;
            row["Title"]           = "Titre DE";

            row["Description"]     = "Description 2";
            row["EscalationLevel"] = 3;
            row["StatusValue"]     = 2;
            row["Opened"]          = DateTime.Now;
            row["Closed"]          = null;
            tbl2.Rows.Add(row);

            var dmRow2 = tbl2.FindByKey(new object[] { rowPkeyGuid, 1, "Titre aer" });

            Assert.Null(dmRow2);

            tbl2.CaseSensitive = false;
            var dmRow3 = tbl2.FindByKey(new object[] { rowPkeyGuid, 1, "Titre aer" });

            Assert.NotNull(dmRow3);
        }
Ejemplo n.º 15
0
        public void Serialize_Object()
        {
            BaseConverter <Client> serializer = new DmBinaryConverter <Client>();

            Guid guid   = Guid.NewGuid();
            var  client = new Client
            {
                Id        = 1,
                ClientId  = guid,
                Birthday  = new DateTime(1976, 10, 23),
                FirstName = "sébastien",
                LastName  = "Pertus"
            };

            using (var ms = new MemoryStream())
            {
                serializer.Serialize(client, ms);

                ms.Position = 0;

                var client2 = serializer.Deserialize(ms);

                Assert.NotSame(client, client2);
                Assert.Equal(1, client2.Id);
                Assert.Equal(guid, client2.ClientId);
                Assert.Equal("sébastien", client2.FirstName);
            }

            var serializer2 = new DmBinaryConverter <List <Client> >();

            // Test List<T>
            var lst = new List <Client>();

            lst.Add(client);
            lst.Add(client);
            lst.Add(client);

            using (var ms = new MemoryStream())
            {
                serializer2.Serialize(lst, ms);

                ms.Position = 0;

                var lst2 = serializer2.Deserialize(ms);
                Assert.NotSame(lst, lst2);
                Assert.Equal(3, lst2.Count);
            }

            var serializer3 = new DmBinaryConverter <NullableClient>();

            // test nullable
            var client3 = new NullableClient
            {
                Id        = null,
                ClientId  = null,
                Birthday  = null,
                FirstName = "~#'\"é{[",
                LastName  = null,
                Money     = null
            };

            using (var ms = new MemoryStream())
            {
                serializer3.Serialize(client3, ms);

                ms.Position = 0;

                var client4 = serializer3.Deserialize(ms);

                Assert.NotSame(client3, client4);
                Assert.Null(client4.Id);
                Assert.Null(client4.ClientId);
                Assert.Null(client4.Birthday);
                Assert.Null(client4.LastName);
                Assert.Null(client4.Money);
                Assert.Equal("~#'\"é{[", client4.FirstName);
            }

            var serializer4 = new DmBinaryConverter <DmSetSurrogate>();


            // Test on datatable
            var ds  = new DmSet("Fabrikam");
            var tbl = new DmTable("ServiceTickets");
            var id  = new DmColumn <Guid>("ServiceTicketID");

            tbl.Columns.Add(id);
            var key = new DmKey(new DmColumn[] { id });

            tbl.PrimaryKey = key;
            tbl.Columns.Add(new DmColumn <string>("Title"));
            tbl.Columns.Add(new DmColumn <string>("Description"));
            tbl.Columns.Add(new DmColumn <int>("StatusValue"));
            tbl.Columns.Add(new DmColumn <int>("EscalationLevel"));
            tbl.Columns.Add(new DmColumn <DateTime>("Opened"));
            tbl.Columns.Add(new DmColumn <DateTime>("Closed"));
            tbl.Columns.Add(new DmColumn <int>("CustomerID"));

            var st = tbl.NewRow();

            st["ServiceTicketID"] = Guid.NewGuid();
            st["Title"]           = "Titre AER";
            st["Description"]     = "Description 2";
            st["EscalationLevel"] = 1;
            st["StatusValue"]     = 2;
            st["Opened"]          = DateTime.Now;
            st["Closed"]          = null;
            st["CustomerID"]      = 1;
            tbl.Rows.Add(st);
            ds.Tables.Add(tbl);

            var dsSurrogate = new DmSetSurrogate(ds);

            using (var ms = new MemoryStream())
            {
                serializer4.Serialize(dsSurrogate, ms);

                ms.Position = 0;

                var dsSurrogate2 = serializer4.Deserialize(ms);

                var ds2 = dsSurrogate2.ConvertToDmSet(ds);

                Assert.NotSame(ds, ds2);
                Assert.Equal(ds.CaseSensitive, ds2.CaseSensitive);
                Assert.Equal(ds.Culture, ds2.Culture);
                Assert.Equal(ds.DmSetName, ds2.DmSetName);
                Assert.Equal(ds.Tables.Count, ds2.Tables.Count);
                Assert.Equal(ds.Tables[0].Columns.Count, ds2.Tables[0].Columns.Count);
                Assert.Equal(ds.Tables[0].Rows.Count, ds2.Tables[0].Rows.Count);
                Assert.Equal(ds.Tables[0].PrimaryKey.Columns.Length, ds2.Tables[0].PrimaryKey.Columns.Length);
            }
        }