コード例 #1
0
        /// <summary>
        /// 添加关系
        /// </summary>
        /// <param name="consumerDirectoryName"></param>
        /// <param name="providerDirectoryName"></param>
        public void AddRelation(string consumerDirectoryName, string[] providerDirectoryName)
        {
            var consumerDirectory = RepositoryRegistry.Directory.FindBy(consumerDirectoryName);
            if (string.IsNullOrEmpty(consumerDirectoryName) || providerDirectoryName == null || providerDirectoryName.Length == 0)
            {
                return;
            }

            string newMd5;
            bool isSame = new RelationShipCheckService().IsSame(providerDirectoryName,consumerDirectory.UsedServiceMd5, out newMd5);
            if (isSame)
            {
                return;
            }

            var providerDirectorys = RepositoryRegistry.Directory.FindBy(providerDirectoryName);
            if(providerDirectorys.Count() != providerDirectoryName.Length)
            {
                return;
            }

            var list = new List<Model.Relationship>();
            foreach (var item in providerDirectorys)
            {
                var consumerInfo = new ConsumerInfo(consumerDirectory.Name, consumerDirectory.Id);
                var providerInfo = new ProviderInfo(item.Name, item.Id);
                var relationship = new Model.Relationship(consumerInfo, providerInfo);
                list.Add(relationship);
            }
            RepositoryRegistry.Relationship.Add(list);

            this.PublishEvent("AddRelation", new UpdateMD5DomainEvent(consumerDirectory.Id, newMd5));
        }
コード例 #2
0
        public void IsSameCheckTest()
        {
            var ser = new RelationShipCheckService();

            string[] usedService = { "axx", "order", "abx" };

            string newMd5;
            bool result = ser.IsSame(usedService, string.Empty, out newMd5);

            Assert.IsFalse(result);

            result = ser.IsSame(usedService, newMd5, out newMd5);
            Assert.IsTrue(result);


        }