public void Test2_Fail()
        {
            var dataSet  = new CremaDataSet();
            var dataType = dataSet.Types.Add();

            dataType.AddMember("None", 0);
            dataType.AddMember("A", 1);

            var dataTable = dataSet.Tables.Add();

            dataTable.Columns.AddKey("column1", dataType);

            var dataRow = dataTable.NewRow();

            dataRow[0] = "None";
            dataTable.Rows.Add(dataRow);

            dataSet.AcceptChanges();

            dataType.View[0].Row.BeginEdit();
            dataType.View[0].Row[CremaSchema.Name]  = "none";
            dataType.View[0].Row[CremaSchema.Value] = 1;
            dataType.View[0].Row.EndEdit();

            Assert.AreEqual(dataRow[0], dataType.View[0].Row[CremaSchema.Name]);
            Assert.AreEqual(dataRow[0], dataType.Members[0].Name);
        }
        public void Test3()
        {
            var dataSet  = new CremaDataSet();
            var dataType = dataSet.Types.Add();

            dataType.AddMember("None", 0);
            dataType.AddMember("A", 0);

            var dataTable = dataSet.Tables.Add();

            dataTable.Columns.AddKey("column1");

            var dataRow = dataTable.NewRow();

            dataRow[0] = "None";
            dataTable.Rows.Add(dataRow);

            var dataRow2 = dataTable.NewRow();

            dataRow2[0] = "A";
            dataTable.Rows.Add(dataRow2);

            dataSet.AcceptChanges();

            dataTable.Columns[0].CremaType = dataType;
        }
        public void ModificationInfoAfterDelete()
        {
            var dataSet  = new CremaDataSet();
            var dataType = dataSet.Types.Add();

            dataType.AddMember("None", 0);
            dataType.AddMember("A", 1);
            dataType.AcceptChanges();

            var dataTable = dataSet.Tables.Add();

            dataTable.Columns.Add("column1", dataType);

            var dataRow = dataTable.NewRow();

            dataRow[0] = "None";
            dataTable.Rows.Add(dataRow);

            dataSet.AcceptChanges();

            var member       = dataType.Members[0];
            var modification = dataType.ModificationInfo;

            Thread.Sleep(1000);
            member.Delete();

            Assert.AreNotEqual(modification, dataType.ModificationInfo);
        }
        public void Test11()
        {
            var dataSet  = new CremaDataSet();
            var dataType = dataSet.Types.Add();

            dataType.AddMember("None", 0);
            dataType.AddMember("A", 1);

            var dataTable = dataSet.Tables.Add();

            dataTable.Columns.AddKey("column1");

            var dataRow = dataTable.NewRow();

            dataRow[0] = "None";
            dataTable.Rows.Add(dataRow);

            var dataRow2 = dataTable.NewRow();

            dataRow2[0] = "A";
            dataTable.Rows.Add(dataRow2);
            var dataTable2 = dataTable.Inherit("Derived1");

            dataSet.AcceptChanges();

            //dataTable.Columns[0].CremaType = dataType;
            var template = new CremaTemplate(dataTable);

            template.Columns[0].DataTypeName = dataType.Path;

            Assert.AreEqual(dataType, dataTable.Columns[0].CremaType);
            Assert.AreEqual(dataType, dataTable2.Columns[0].CremaType);
        }
        public void Test10()
        {
            var dataSet  = new CremaDataSet();
            var dataType = dataSet.Types.Add();

            dataType.AddMember("None", 0);
            dataType.AddMember("A", 0);

            var dataTable = dataSet.Tables.Add();

            dataTable.Columns.AddKey("column1");

            var dataRow = dataTable.NewRow();

            dataRow[0] = "None";
            dataTable.Rows.Add(dataRow);

            var dataRow2 = dataTable.NewRow();

            dataRow2[0] = "B";
            dataTable.Rows.Add(dataRow2);

            dataSet.AcceptChanges();

            var template = new CremaTemplate(dataTable);

            template.Columns[0].DataTypeName = dataType.Path;
        }
Пример #6
0
        public CremaDataTable ReadData(Authentication authentication, CremaDataSet dataSet)
        {
            if (this.Parent != null)
            {
                throw new InvalidOperationException(Resources.Exception_ChildTableCannotReadIndependently);
            }
            var itemName = new ItemName(this.Category.Path, base.Name);

            if (this.TemplatedParent != null)
            {
                dataSet.ReadXmlSchema(this.TemplatedParent.SchemaPath, itemName);
            }
            else
            {
                dataSet.ReadXmlSchema(this.SchemaPath, itemName);
            }

            dataSet.ReadXml(this.XmlPath, itemName);
            dataSet.AcceptChanges();
            var dataTable = dataSet.Tables[base.TableName, this.Category.Path];

            var revision = this.Revision;

            dataTable.UpdateRevision(revision);
            foreach (var child in dataTable.Childs)
            {
                child.UpdateRevision(revision);
            }

            return(dataTable);
        }
Пример #7
0
        public void ReadAll(Authentication authentication, CremaDataSet dataSet)
        {
            if (this.Parent != null)
            {
                this.Parent.ReadAll(authentication, dataSet);
                return;
            }

            var types      = this.GetService(typeof(TypeCollection)) as TypeCollection;
            var typeFiles  = (from Type item in types select item.SchemaPath).ToArray();
            var tableFiles = EnumerableUtility.Friends(this, this.DerivedTables).Select(item => item.XmlPath).ToArray();

            dataSet.ReadMany(typeFiles, tableFiles);
            dataSet.AcceptChanges();
        }
Пример #8
0
        public CremaDataTable ReadData(Authentication authentication, CremaDataSet dataSet)
        {
            if (this.Parent != null)
            {
                throw new CremaException("자식테이블은 독립적으로 데이터를 읽어들일 수 없습니다.");
            }
            var itemName = new ItemName(this.Category.Path, base.Name);

            if (this.TemplatedParent != null)
            {
                dataSet.ReadXmlSchema(this.TemplatedParent.SchemaPath, itemName);
            }
            else
            {
                dataSet.ReadXmlSchema(this.SchemaPath, itemName);
            }

            dataSet.ReadXml(this.XmlPath, itemName);
            dataSet.AcceptChanges();
            return(dataSet.Tables[base.TableName, this.Category.Path]);
        }
Пример #9
0
        public void ComplexTest1()
        {
            Assert.Inconclusive("관계값을 인덱스로 바꾸면서 오류가 발생하는데 이테스트의 의도가 먼지 기억이 안남");
            var dataSet = new CremaDataSet();

            var table1  = dataSet.Tables.Add();
            var column1 = table1.Columns.AddKey();
            var child1  = table1.Childs.Add();

            child1.Columns.AddKey();
            var row1 = table1.NewRow();

            row1[0] = "1";
            table1.Rows.Add(row1);
            var relationID = row1.RelationID;

            var childCount = 4;

            for (var i = 0; i < childCount; i++)
            {
                var childRow1 = child1.NewRow(row1);
                childRow1[0] = i.ToString();
                child1.Rows.Add(childRow1);
            }

            dataSet.AcceptChanges();
            dataSet.BeginLoad();
            table1.DefaultView[0].BeginEdit();
            table1.DefaultView[0][7] = "2";
            table1.DefaultView[0][8] = "randomid";
            table1.DefaultView[0].EndEdit();
            dataSet.EndLoad();

            var sss = row1.GetChildRows(child1);

            Assert.AreEqual(childCount, sss.Length);
        }