private void FindRelations()
        {
            foreach (string consumerName in _allFoundElements)
            {
                _allFoundRelations[consumerName]      = new HashSet <string>();
                _oldModelFoundRelations[consumerName] = new HashSet <string>();
                _newModelFoundRelations[consumerName] = new HashSet <string>();

                foreach (IDsiRelation relation in _oldModel.GetRelations())
                {
                    IDsiElement consumer = _oldModel.FindElementById(relation.ConsumerId);
                    IDsiElement provider = _oldModel.FindElementById(relation.ProviderId);

                    if ((consumer != null) && (provider != null) && (consumer.Name == consumerName))
                    {
                        _oldModelFoundRelations[consumerName].Add(provider.Name);
                        _allFoundRelations[consumerName].Add(provider.Name);
                    }
                }

                foreach (IDsiRelation relation in _newModel.GetRelations())
                {
                    IDsiElement consumer = _oldModel.FindElementById(relation.ConsumerId);
                    IDsiElement provider = _oldModel.FindElementById(relation.ProviderId);

                    if ((consumer != null) && (provider != null) && (consumer.Name == consumerName))
                    {
                        _newModelFoundRelations[consumerName].Add(provider.Name);
                        _allFoundRelations[consumerName].Add(provider.Name);
                    }
                }
            }
        }
Esempio n. 2
0
        private void FindDirectProviders()
        {
            foreach (IDsiElement element in _model.GetElements())
            {
                string key = element.Name;

                _directProviders[key] = new HashSet <IDsiElement>();

                foreach (IDsiRelation providerRelation in _model.GetRelationsOfConsumer(element.Id))
                {
                    IDsiElement provider = _model.FindElementById(providerRelation.ProviderId);
                    _directProviders[key].Add(provider);
                }
            }
        }