public void AssignNewGlnAssociation(int glnId1, int glnId2) { var associations = IGlnRegistryDb.GlnAssociations.Where(id => id.GlnId1 == glnId1 && id.GlnId2 == glnId2 || id.GlnId1 == glnId2 && id.GlnId2 == glnId1).ToList(); // If an association either way doesn't already exists then add, don't want to create duplicate associations if (!associations.Any()) { var ass = new GlnAssociation() { GlnId1 = glnId1, GlnId2 = glnId2 }; IGlnRegistryDb.GlnAssociations.Add(ass); } }
public void GetGlnAssociations_GetAssociations() { // Arrange // Create fake data var gln2 = new Gln(); gln2.Id = 2; gln2.FriendlyDescriptionPurpose = "two"; _dbContext.Glns.Add(gln2); var gln3 = new Gln(); gln3.Id = 3; gln3.FriendlyDescriptionPurpose = "three"; _dbContext.Glns.Add(gln3); var association1 = new GlnAssociation(); association1.Id = 1; association1.GlnId1 = 1; association1.GlnId2 = 2; _dbContext.GlnAssociations.Add(association1); var association2 = new GlnAssociation(); association2.Id = 2; association2.GlnId1 = 1; association2.GlnId2 = 3; _dbContext.GlnAssociations.Add(association2); // Act var result = _glnRepository.GetGlnAssociations(1); // Check Assert.Equal(2, result.Count()); Assert.Collection(result, item => Assert.Contains("two", item.FriendlyDescriptionPurpose), item => Assert.Contains("three", item.FriendlyDescriptionPurpose)); }