private static QCTestSet UpdateExistingTestSet(BusinessFlow businessFlow, QCTestSet mappedTestSet, string uploadPath, ObservableList <ExternalItemFieldBase> testSetFields) { QCTestSet testSet = ImportFromQCRest.GetQCTestSet(mappedTestSet.Id.ToString()); //set item fields for test set foreach (ExternalItemFieldBase field in testSetFields) { if (field.ToUpdate || field.Mandatory) { if (string.IsNullOrEmpty(field.ExternalID) == false && field.SelectedValue != "NA") { if (testSet.ElementsField.ContainsKey(field.ID)) { testSet.ElementsField[field.ExternalID] = field.SelectedValue; } } } } testSet.ElementsField["name"] = businessFlow.Name; try { QCItem item = ConvertObjectValuesToQCItem(testSet, ResourceType.TEST_SET, true); ALMResponseData response = QCRestAPIConnect.UpdateEntity(ResourceType.TEST_SET, testSet.Id, item); return(QCRestAPIConnect.GetTestSetDetails(testSet.Id)); } catch (Exception ex) { Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}"); return(null); } }
private static QCTestSet CreateNewTestSet(BusinessFlow businessFlow, string uploadPath, ObservableList <ExternalItemFieldBase> testSetFields) { QCTestSet testSet = new QCTestSet(); //set the upload path testSet.ElementsField["parent-id"] = QCRestAPIConnect.GetLastTestSetIdFromPath(uploadPath).ToString(); //set item fields for test set foreach (ExternalItemFieldBase field in testSetFields) { if (field.ToUpdate || field.Mandatory) { if (string.IsNullOrEmpty(field.ExternalID) == false && field.SelectedValue != "NA") { testSet.ElementsField[field.ExternalID] = field.SelectedValue; } else { try { testSet.ElementsField[field.ID] = "NA"; } catch { } } } } testSet.ElementsField["name"] = businessFlow.Name; testSet.ElementsField["subtype-id"] = "hp.qc.test-set.default"; try { QCItem item = ConvertObjectValuesToQCItem(testSet, ResourceType.TEST_SET); ALMResponseData response = QCRestAPIConnect.CreateNewEntity(ResourceType.TEST_SET, item); return(QCRestAPIConnect.GetTestSetDetails(response.IdCreated)); } catch (Exception ex) { if (ex.Message.Contains("The Test Set already exists")) { string result = "Cannot export Business Flow - The Test Set already exists in the selected folder. "; Reporter.ToLog(eLogLevel.ERROR, result, ex); return(null); } Reporter.ToLog(eLogLevel.ERROR, $"Method - {MethodBase.GetCurrentMethod().Name}, Error - {ex.Message}"); return(null); } }