public void DeleteChildContainer() { EAV.Store.Clients.IContainerStoreClient client = factory.Create <EAV.Store.Clients.IContainerStoreClient>(); EAVStoreClient.Container dbParentContainer = SelectRandomItem <EAVStoreClient.Container>(this.DbContext.Containers); EAVStoreClient.Container dbContainerIn = CreateContainer(dbParentContainer.Context_ID, dbParentContainer.Container_ID, Guid.NewGuid().ToString(), rng.Next(), true); client.DeleteContainer(dbContainerIn.Container_ID); EAVStoreClient.Container dbContainerOut = this.DbContext.Containers.SingleOrDefault(it => it.Container_ID == dbContainerIn.Container_ID); Assert.IsNull(dbContainerOut, "Failed to delete container ID {0} from the database.", dbContainerIn.Container_ID); }
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 DeleteAttribute() { EAV.Store.Clients.IAttributeStoreClient client = factory.Create <EAV.Store.Clients.IAttributeStoreClient>(); EAVStoreClient.Container dbContainer = SelectRandomItem(this.DbContext.Containers); EAVStoreClient.Attribute dbAttributeIn = CreateAttribute(dbContainer.Container_ID, Guid.NewGuid().ToString(), EAV.EAVDataType.String, rng.Next(), true); client.DeleteAttribute(dbAttributeIn.Attribute_ID); using (EAVStoreClient.MicroEAVContext ctx = new EAVStoreClient.MicroEAVContext()) { EAVStoreClient.Attribute dbAttributeOut = ctx.Attributes.SingleOrDefault(it => it.Attribute_ID == dbAttributeIn.Attribute_ID); Assert.IsNull(dbAttributeOut, "Failed to delete attribute ID {0} from the database.", dbAttributeIn.Attribute_ID); } }
public void UpdateContainer(EAV.Store.IStoreContainer container) { using (EAVStoreClient.MicroEAVContext ctx = new MicroEAVContext()) { EAVStoreClient.Container dbContainer = ctx.Containers.SingleOrDefault(it => it.Container_ID == container.ContainerID); if (dbContainer != null) { if (dbContainer.Name != container.Name) { dbContainer.Name = container.Name; } if (dbContainer.Data_Name != container.DataName) { dbContainer.Data_Name = container.DataName; } if (dbContainer.Display_Text != container.DisplayText) { dbContainer.Display_Text = container.DisplayText; } if (dbContainer.Is_Repeating != container.IsRepeating) { dbContainer.Is_Repeating = container.IsRepeating; } if (dbContainer.Sequence != container.Sequence) { dbContainer.Sequence = container.Sequence; } ctx.SaveChanges(); } else { throw (new Exception(String.Format("Unable to retrieve container ID {0}.", container.ContainerID))); } } }
public void DeleteContainer() { var dbContext = SelectRandomItem(this.DbContext.Contexts); EAVStoreClient.Container dbContainerIn = CreateContainer(dbContext.Context_ID, null, Guid.NewGuid().ToString(), rng.Next(), true); HttpResponseMessage response = WebClient.DeleteAsync(String.Format("api/metadata/containers/{0}", dbContainerIn.Container_ID)).Result; if (response.IsSuccessStatusCode) { ResetDatabaseContext(); EAVStoreClient.Container dbContainerOut = this.DbContext.Containers.SingleOrDefault(it => it.Container_ID == dbContainerIn.Container_ID); Assert.IsNull(dbContainerOut, "Failed to delete container ID {0} from the database.", dbContainerIn.Container_ID); } else { Assert.Fail(response.Content.ReadAsStringAsync().Result); } }
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 } }