Предотвращение дубликатов в родительской области при отображении поля в Biztalk Map - PullRequest
0 голосов
/ 06 марта 2019

Моя ситуация такова: поле «Код» из исходного дерева должно быть сопоставлено с полем «Код» в дереве назначения.Поле «Код» в дереве назначения имеет 2 родительских узла.Для проверки схемы назначения один и тот же код не должен встречаться более одного раза в области действия 2-го родительского узла.Вот изображение hiearchy:

enter image description here

Таким образом, в рамках «ЗакупкиИнформация» такой же «Код» может не встречаться.Циклические петли функтоидов на "GoodsDescription".Я пытался создать встроенный сценарий C #, чтобы справиться с этим, но он не принимает во внимание область.См. Код ниже:

public System.Collections.Generic.List<string> duplicateList = new System.Collections.Generic.List<string>();

    public bool IsDuplicate(string code)
    {
         if( duplicateList.Contains(code)) {
            return false;
         } 
         else {
            duplicateList.Add(code);
            return true;
         }
    }

Моя проблема заключается в создании глобального списка.Он не сбрасывается после каждого цикла, но я не уверен, как реализовать эту функцию.Мой вопрос заключается в том, как я могу убедиться, что дублированные коды не отображаются в рамках записи «PurchaseInformation» в дереве назначения?

1 Ответ

0 голосов
/ 06 марта 2019

Не видя всего процесса, трудно дать то, что может быть лучшим решением ... но ...

Вместо того, чтобы пытаться сбросить коллекцию (есть причины, по которым это сложно), вы можете вместо этого попробовать список списков.

Предполагая, что SimplifiedInvoice является идентификатором или чем-то другим, вы можете использовать словарь списков, который будет отслеживать списки уникальных значений кода для счета-фактуры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...