public void LongNamesTest() { var masterRoot = new MasterRoot { MasterAttr = 234 }; var мастерКласс01 = new МастерКлассДлинноеИмя { MasterAttr2 = true, АтрибутМастерКласса01 = "АтрибутМастерКласса01", MasterRoot = masterRoot }; var мастерКласс02 = new МастерКлассДлинноеИмя { MasterAttr2 = false, АтрибутМастерКласса01 = "АтрибутМастерКласса01", MasterRoot = masterRoot }; var мастерКласс2 = new МастерКлассДлинноеИмя2 { MasterAttr2 = true, АтрибутМастерКласса01 = "АтрибутМастерКласса01", MasterRoot = masterRoot }; var класс = new ДочернийКлассДлинноеИмя { MasterClass = мастерКласс01, МастерКлассДлинноеИмя01 = мастерКласс01, МастерКлассДлинноеИмя02 = мастерКласс2, Attr1 = "123", Attr2 = 55, Атрибут3 = true }; ////var класс2 = new ДочернийКлассДлинноеИмя2 { MasterClass = мастерКласс, МастерКлассДлинноеИмя = мастерКласс, МастерКлассДлинноеИмя2 = мастерКласс2, Attr1 = "abc", Attr2 = 55, Атрибут3 = true }; var objsToUpdate = new DataObject[] { мастерКласс01, класс, мастерКласс02, masterRoot }; DataService.UpdateObjects(ref objsToUpdate, new DataObjectCache(), true); var languageDef = SQLWhereLanguageDef.LanguageDef; var lcs = LoadingCustomizationStruct.GetSimpleStruct(typeof(ДочернийКлассДлинноеИмя), ДочернийКлассДлинноеИмя.Views.TestView1); lcs.LimitFunction = languageDef.GetFunction(languageDef.funcEQ, new VariableDef(languageDef.GuidType, "МастерКлассДлинноеИмя01"), new Guid(мастерКласс01.__PrimaryKey.ToString())); var classes = DataService.LoadObjects(new[] { lcs }); var clazz2 = new ДочернийКлассДлинноеИмя { __PrimaryKey = класс.__PrimaryKey }; DataService.LoadObject(clazz2); }
public void InheritanceTest() { var masterRoot = new MasterRoot { MasterAttr = 234 }; var master = new MasterClass { MasterAttr2 = true, MasterAttr1 = DateTime.Now, MasterRoot = masterRoot }; var clazz = new MyClass { MasterClass = master, Attr1 = "abc", Attr2 = 1 }; var derived = new Класс { MasterClass = master, Attr1 = "123", Attr2 = 55, Атрибут3 = true }; var detail1 = new DetailClass { MyClass = clazz, DetailAttr = "def1" }; var detail2 = new DetailClass { MyClass = clazz, DetailAttr = "def2" }; var detailChild = new DetailClass2 { DetailClass = detail2, DetailAttr2 = "cbd" }; var objsToUpdate = new DataObject[] { master, clazz, detail1, detail2, derived, masterRoot, detailChild }; DataService.UpdateObjects(ref objsToUpdate, new DataObjectCache(), true); try { DataService.LoadObject(new MasterRoot { __PrimaryKey = masterRoot.__PrimaryKey }); } catch (CantFindDataObjectException) { Assert.True(false, "Object not saved."); } try { DataService.LoadObject(new MasterClass { __PrimaryKey = master.__PrimaryKey }); } catch (CantFindDataObjectException) { Assert.True(false, "Object not saved."); } try { DataService.LoadObject(new MyClass { __PrimaryKey = clazz.__PrimaryKey }); } catch (CantFindDataObjectException) { Assert.True(false, "Object not saved."); } try { DataService.LoadObject(new Класс { __PrimaryKey = derived.__PrimaryKey }); } catch (CantFindDataObjectException) { Assert.True(false, "Object not saved."); } try { DataService.LoadObject(new DetailClass { __PrimaryKey = detail1.__PrimaryKey }); } catch (CantFindDataObjectException) { Assert.True(false, "Object not saved."); } try { DataService.LoadObject(new DetailClass { __PrimaryKey = detail2.__PrimaryKey }); } catch (CantFindDataObjectException) { Assert.True(false, "Object not saved."); } try { DataService.LoadObject(new DetailClass2 { __PrimaryKey = detailChild.__PrimaryKey }); } catch (CantFindDataObjectException) { Assert.True(false, "Object not saved."); } }