Exemple #1
0
        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));
        }