/// <summary> /// Finds filtered child requirements /// </summary> /// <param name="req">Parent requirement</param> /// <param name="reqType">Filter type of requirement</param> /// <returns>List of requirements</returns> public TDAPIOLELib.List GetChildRequirements(TDAPIOLELib.Req req, TDAPIOLELib.TDAPI_PREDEFINED_REQ_TYPES reqType) { TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory; TDAPIOLELib.TDFilter tDFilter = reqFactory.Filter; tDFilter["RQ_TYPE_ID"] = reqType.ToString(); return(reqFactory.GetFilteredChildrenList(req.ID, tDFilter)); }
/// <summary> /// Creates a requirement Folder /// </summary> /// <param name="folderName">Requirement folder name</param> /// <param name="folderPath">Requirement folder path</param> /// <returns>TDAPIOLELib.Req Object</returns> public TDAPIOLELib.Req CreateFolder(String folderName, String folderPath) { TDAPIOLELib.Req req = GetReqByPath(folderPath); TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory; TDAPIOLELib.Req newReq = reqFactory.AddItem(System.DBNull.Value); newReq.ParentId = req.ID; newReq["RQ_TYPE_ID"] = TDAPIOLELib.TDAPI_PREDEFINED_REQ_TYPES.REQ_TYPE_FOLDER; newReq.Name = folderName; newReq.Post(); return(newReq); }
/// <summary> /// Creates a new requirement /// </summary> /// <param name="requirementDetails">dictionary object with requirement database field names and values</param> /// <param name="folderPath"></param> /// <param name="reqType"></param> /// <returns></returns> public TDAPIOLELib.Req Create(Dictionary <String, String> requirementDetails, String folderPath, TDAPIOLELib.TDAPI_PREDEFINED_REQ_TYPES reqType = TDAPIOLELib.TDAPI_PREDEFINED_REQ_TYPES.REQ_TYPE_UNDEFINED) { TDAPIOLELib.Req req = GetReqByPath(folderPath); TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory; TDAPIOLELib.Req newReq = reqFactory.AddItem(System.DBNull.Value); newReq.ParentId = req.ID; newReq["RQ_TYPE_ID"] = reqType; foreach (KeyValuePair <String, String> kvp in requirementDetails) { newReq[kvp.Key] = kvp.Value; } newReq.Post(); return(newReq); }
/// <summary> /// Get TDAPIOLELib.Req object from path /// </summary> /// <param name="folderPath">Requirement folder path</param> /// <returns>TDAPIOLELib.Req Object</returns> public TDAPIOLELib.Req GetReqByPath(String folderPath) { TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory; TDAPIOLELib.Req parentReq = reqFactory[0]; TDAPIOLELib.List reqList; foreach (String Req in folderPath.Split('\\')) { if (Req.ToUpper() != "REQUIREMENTS") { reqList = reqFactory.Find(parentReq.ID, "RQ_REQ_NAME", Req, Convert.ToInt16(TDAPIOLELib.TDAPI_REQMODE.TDREQMODE_FIND_EXACT)); parentReq = null; String FirstItemOfList = reqList[1] as String; parentReq = reqFactory[FirstItemOfList.Split(',')[0]]; } } return(parentReq); }
/// <summary> /// Gets parent requirement /// </summary> /// <param name="req">TDAPIOLELib.Req Object</param> /// <returns>Parent requirement TDAPIOLELib.Req Object</returns> public TDAPIOLELib.Req GetParentRequirement(TDAPIOLELib.Req req) { TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory; return(reqFactory[req.ID]); }
/// <summary> /// Delete a requirement /// </summary> /// <param name="req">Requirement to be deleted</param> /// <returns>True if successfull</returns> public Boolean Delete(TDAPIOLELib.Req req) { TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory; reqFactory.RemoveItem(req.ID); return(true); }
/// <summary> /// Finds child requirements /// </summary> /// <param name="req">parent requirement</param> /// <returns>List of child requirements</returns> public TDAPIOLELib.List GetChildRequirements(TDAPIOLELib.Req req) { TDAPIOLELib.ReqFactory reqFactory = tDConnection.ReqFactory; return(reqFactory.GetChildrenList(req.ID)); }