Как получить список дефектов в QC11.0 через C # OTA, используя BugFilter - PullRequest
2 голосов
/ 26 января 2012

Я успешно соединился с КК, используя VBscript через интерфейс OTA. В VbScript у меня был следующий код для фильтрации дефектов и загрузки их в список.

BugFilter.Filter("BG_STATUS") = "Not Canceled and NOT Closed" 
BugFilter.Filter("BG_PROJECT") = "Business*"


Set BugList = BugFilter.NewList()

Вышеупомянутое работало безупречно в Vbscript.

В C # .NET (4.0) я могу успешно подключиться к QC, но при попытке применить фильтр выдает ошибку.

TDConnection qcc = new TDConnection();
qcc.InitConnectionEx(sr);

qcc.ConnectProjectEx("XXXX", "------", "----", "-----");

            if (qcc.Connected)
            {
                Console.WriteLine("connected");
                BugFactory bf = (BugFactory)qcc.BugFactory;



                bf.Filter["BG_STATUS"] = "Not Canceled and NOT Closed";
                bf.Filter["BG_PROJECT"] = "Business*";

                List bugs = (List)bf.NewList(bf.Filter); 

в последней строке кода выдает следующую ошибку: «Не удалось преобразовать аргумент 0 для вызова NewList.»

Я относительно новичок в C #, кто-нибудь может мне здесь помочь?

Ответы [ 2 ]

3 голосов
/ 04 мая 2012

Попробуйте bg.Filter.text()

Вам нужно проверить метод, потому что я делаю это в Java.Но есть метод с таким именем.Как я обычно это делаю, это так:

List bugs = (List)bg.NewList();
1 голос
/ 27 августа 2013

Обычно я передаю строку в фабрику ошибок, используя свойство .Text объекта Filter, а не сам объект фильтра.

Например, я успешно справился с фильтрацией:

var tdFilter = (TDFilter)bf_filter;
tdFilter["BG_STATUS"] = "Not Canceled and NOT Closed";
tdFilter["BG_PROJECT"] = "Business*";
var bugs = bf.NewList(tdFilter.Text);
...