public void DeleteChildInstance() { EAV.Store.Clients.IInstanceStoreClient client = factory.Create <EAV.Store.Clients.IInstanceStoreClient>(); EAVStoreClient.Instance dbParentInstance = SelectRandomItem(this.DbContext.Instances); EAVStoreClient.Container dbContainer = SelectRandomItem(this.DbContext.Containers); EAVStoreClient.Instance dbInstanceIn = CreateInstance(dbContainer.Container_ID, dbParentInstance.Subject_ID, dbParentInstance.Instance_ID); client.DeleteInstance(dbInstanceIn.Instance_ID); EAVStoreClient.Instance dbInstanceOut = this.DbContext.Instances.SingleOrDefault(it => it.Instance_ID == dbInstanceIn.Instance_ID); Assert.IsNull(dbInstanceOut, "Failed to delete instance ID {0} from the database.", dbInstanceIn.Instance_ID); }
public void UpdateInstance(EAV.Store.IStoreInstance instance) { using (EAVStoreClient.MicroEAVContext ctx = new MicroEAVContext()) { EAVStoreClient.Instance dbInstance = ctx.Instances.SingleOrDefault(it => it.Instance_ID == instance.InstanceID); if (dbInstance != null) { // Nothing to do at the moment, but including skeleton for completness and possible future expansion. } else { throw (new Exception(String.Format("Unable to retrieve instance ID {0}.", instance.InstanceID))); } } }
private static void SeedDatabase() { using (EAVStoreClient.MicroEAVContext ctx = new EAVStoreClient.MicroEAVContext()) { ctx.Database.ExecuteSqlCommand("DELETE [Value];DELETE [Instance];DBCC CHECKIDENT ([Instance], RESEED, 0);DELETE [Subject];DBCC CHECKIDENT ([Subject], RESEED, 0);DELETE [Unit];DBCC CHECKIDENT ([Unit], RESEED, 0);DELETE [Attribute];DBCC CHECKIDENT ([Attribute], RESEED, 0);DELETE [Container];DBCC CHECKIDENT ([Container], RESEED, 0);DELETE [Context];DBCC CHECKIDENT ([Context], RESEED, 0);DELETE [Entity];DBCC CHECKIDENT ([Entity], RESEED, 0)"); // Entities List <EAVStoreClient.Entity> entities = new List <EAVStoreClient.Entity>(); for (int i = 0; i < 5; ++i) { entities.Add(CreateEntity(String.Format("Entity {0}", i + 1))); } // Units List <EAVStoreClient.Unit> units = new List <EAVStoreClient.Unit>(); for (int i = 0; i < 5; ++i) { units.Add(CreateUnit(String.Format("SYM{0}", i + 1), String.Format("Unit {0}", i + 1))); } // Contexts List <EAVStoreClient.Context> contexts = new List <EAVStoreClient.Context>(); for (int i = 0; i < 5; ++i) { contexts.Add(CreateContext(String.Format("Context {0}", i + 1))); } // Subjects List <EAVStoreClient.Subject> subjects = new List <EAVStoreClient.Subject>(); for (int i = 0; i < 5; ++i) { subjects.Add(CreateSubject(contexts[i].Context_ID, entities[i].Entity_ID, String.Format("Subject {0}", i + 1))); } EAVStoreClient.Container dbContainer = null; EAVStoreClient.Container dbParentContainer = null; EAVStoreClient.Instance dbInstance = null; EAVStoreClient.Instance dbParentInstance = null; Dictionary <EAV.EAVDataType, EAVStoreClient.Attribute> attributes = new Dictionary <EAV.EAVDataType, EAVStoreClient.Attribute>(); var typeList = new Queue <EAV.EAVDataType>(Enum.GetValues(typeof(EAV.EAVDataType)).OfType <EAV.EAVDataType>()); // Context 1 dbContainer = CreateContainer(contexts[0].Context_ID, null, "Root Container 1-1", 1, false); attributes.Clear(); foreach (EAV.EAVDataType dt in Enum.GetValues(typeof(EAV.EAVDataType))) { attributes[dt] = CreateAttribute(dbContainer.Container_ID, String.Format("Attribute 1-1-{0}", ((int)dt) + 1), dt, (int)dt, dt == EAV.EAVDataType.String); } foreach (EAVStoreClient.Subject dbSubject in subjects) { dbInstance = CreateInstance(dbContainer.Container_ID, dbSubject.Subject_ID, null); foreach (EAV.EAVDataType dt in typeList.Take(3)) { CreateValue(attributes[dt].Attribute_ID, dbInstance.Instance_ID, "N/A", dt == EAV.EAVDataType.Float ? (int?)units[0].Unit_ID : null); } typeList.Enqueue(typeList.Dequeue()); } // Context 2 dbParentContainer = CreateContainer(contexts[1].Context_ID, null, "Root Container 2-1", 2, false); attributes.Clear(); foreach (EAV.EAVDataType dt in Enum.GetValues(typeof(EAV.EAVDataType))) { attributes[dt] = CreateAttribute(dbParentContainer.Container_ID, String.Format("Attribute 2-1-{0}", ((int)dt) + 1), dt, (int)dt, dt == EAV.EAVDataType.String); } foreach (EAVStoreClient.Subject dbSubject in subjects) { dbParentInstance = CreateInstance(dbParentContainer.Container_ID, dbSubject.Subject_ID, null); foreach (EAV.EAVDataType dt in typeList.Take(3)) { CreateValue(attributes[dt].Attribute_ID, dbParentInstance.Instance_ID, "N/A", dt == EAV.EAVDataType.Float ? (int?)units[0].Unit_ID : null); } typeList.Enqueue(typeList.Dequeue()); } dbContainer = CreateContainer(contexts[1].Context_ID, dbParentContainer.Container_ID, "Child Container 2-1-1", 1, false); attributes.Clear(); foreach (EAV.EAVDataType dt in Enum.GetValues(typeof(EAV.EAVDataType))) { attributes[dt] = CreateAttribute(dbParentContainer.Container_ID, String.Format("Attribute 2-1-1-{0}", ((int)dt) + 1), dt, (int)dt, dt == EAV.EAVDataType.String); } foreach (EAVStoreClient.Subject dbSubject in subjects) { dbInstance = CreateInstance(dbContainer.Container_ID, dbSubject.Subject_ID, dbParentContainer.Container_ID); foreach (EAV.EAVDataType dt in typeList.Take(3)) { CreateValue(attributes[dt].Attribute_ID, dbInstance.Instance_ID, "N/A", dt == EAV.EAVDataType.Float ? (int?)units[0].Unit_ID : null); } typeList.Enqueue(typeList.Dequeue()); } dbContainer = CreateContainer(contexts[1].Context_ID, dbParentContainer.Container_ID, "Child Container 2-1-2", 2, true); attributes.Clear(); foreach (EAV.EAVDataType dt in Enum.GetValues(typeof(EAV.EAVDataType))) { attributes[dt] = CreateAttribute(dbParentContainer.Container_ID, String.Format("Attribute 2-1-2-{0}", ((int)dt) + 1), dt, (int)dt, dt == EAV.EAVDataType.String); } foreach (EAVStoreClient.Subject dbSubject in subjects) { dbInstance = CreateInstance(dbContainer.Container_ID, dbSubject.Subject_ID, dbParentContainer.Container_ID); foreach (EAV.EAVDataType dt in typeList.Take(3)) { CreateValue(attributes[dt].Attribute_ID, dbInstance.Instance_ID, "N/A", dt == EAV.EAVDataType.Float ? (int?)units[0].Unit_ID : null); } typeList.Enqueue(typeList.Dequeue()); } // Context 3 // Context 4 // Context 5 } }