public static KnowledgebaseCategory ToResponseData(KnowledgebaseCategoryRequest requestData) { return(ToResponseType <KnowledgebaseCategoryRequest, KnowledgebaseCategory>(requestData)); }
private RequestBodyBuilder PopulateRequestParameters(KnowledgebaseCategoryRequest knowledgebaseCategoryRequest, RequestTypes requestType) { knowledgebaseCategoryRequest.EnsureValidData(requestType); RequestBodyBuilder parameters = new RequestBodyBuilder(); parameters.AppendRequestDataNonEmptyString("title", knowledgebaseCategoryRequest.Title); if (knowledgebaseCategoryRequest.CategoryType.HasValue) { parameters.AppendRequestData("categorytype", EnumUtility.ToApiString(knowledgebaseCategoryRequest.CategoryType.Value)); } if (knowledgebaseCategoryRequest.ParentCategoryId.HasValue) { parameters.AppendRequestData("parentcategoryid", knowledgebaseCategoryRequest.ParentCategoryId.Value); } if (knowledgebaseCategoryRequest.DisplayOrder.HasValue) { parameters.AppendRequestDataNonNegativeInt("displayorder", knowledgebaseCategoryRequest.DisplayOrder.Value); } if (knowledgebaseCategoryRequest.ArticleSortOrder.HasValue) { parameters.AppendRequestData("articlesortorder", EnumUtility.ToApiString(knowledgebaseCategoryRequest.ArticleSortOrder.Value)); } parameters.AppendRequestDataBool("allowcomments", knowledgebaseCategoryRequest.AllowComments); parameters.AppendRequestDataBool("allowrating", knowledgebaseCategoryRequest.AllowRating); parameters.AppendRequestDataBool("ispublished", knowledgebaseCategoryRequest.IsPublished); parameters.AppendRequestDataBool("uservisibilitycustom", knowledgebaseCategoryRequest.UserVisibilityCustom); parameters.AppendRequestDataArrayCommaSeparated("usergroupidlist", knowledgebaseCategoryRequest.UserGroupIdList); parameters.AppendRequestDataBool("staffvisibilitycustom", knowledgebaseCategoryRequest.StaffVisibilityCustom); parameters.AppendRequestDataArrayCommaSeparated("staffgroupidlist", knowledgebaseCategoryRequest.StaffGroupIdList); if (requestType == RequestTypes.Create && knowledgebaseCategoryRequest.StaffId.HasValue) { parameters.AppendRequestDataNonNegativeInt("staffid", knowledgebaseCategoryRequest.StaffId.Value); } return parameters; }
public KnowledgebaseCategory UpdateKnowledgebaseCategory(KnowledgebaseCategoryRequest knowledgebaseCategoryRequest) { string apiMethod = String.Format("{0}/{1}", KnowledgebaseCategoryBaseUrl, knowledgebaseCategoryRequest.Id); RequestBodyBuilder parameters = PopulateRequestParameters(knowledgebaseCategoryRequest, RequestTypes.Update); KnowledgebaseCategoryCollection knowledgebaseCategories = Connector.ExecutePut<KnowledgebaseCategoryCollection>(apiMethod, parameters.ToString()); if (knowledgebaseCategories != null && knowledgebaseCategories.Count > 0) { return knowledgebaseCategories[0]; } return null; }
public KnowledgebaseCategory CreateKnowledgebaseCategory(KnowledgebaseCategoryRequest knowledgebaseCategoryRequest) { RequestBodyBuilder parameters = PopulateRequestParameters(knowledgebaseCategoryRequest, RequestTypes.Create); KnowledgebaseCategoryCollection knowledgebaseCategories = Connector.ExecutePost<KnowledgebaseCategoryCollection>(KnowledgebaseCategoryBaseUrl, parameters.ToString()); if (knowledgebaseCategories != null && knowledgebaseCategories.Count > 0) { return knowledgebaseCategories[0]; } return null; }
public static KnowledgebaseCategory ToResponseData(KnowledgebaseCategoryRequest requestData) { return ToResponseType<KnowledgebaseCategoryRequest, KnowledgebaseCategory>(requestData); }
public void CreateKnowledgebaseCategory() { var knowledgebaseCategoryRequest = new KnowledgebaseCategoryRequest { Title = "Title", CategoryType = KnowledgebaseCategoryType.Inherit, ParentCategoryId = 3, DisplayOrder = 3, ArticleSortOrder = KnowledgebaseCategoryArticleSortOrder.SortCreationDate, AllowComments = true, AllowRating = false, IsPublished = true, UserVisibilityCustom = true, UserGroupIdList = new[] {1, 2, 3}, StaffVisibilityCustom = false, StaffGroupIdList = new[] {1, 2, 3}, StaffId = 3 }; const string apiMethod = "/Knowledgebase/Category"; const string parameters = "title=Title&categorytype=4&parentcategoryid=3&displayorder=3&articlesortorder=4&allowcomments=1&allowrating=0&ispublished=1&uservisibilitycustom=1&usergroupidlist=1,2,3&staffvisibilitycustom=0&staffgroupidlist=1,2,3&staffid=3"; _kayakoApiRequest.Setup(x => x.ExecutePost<KnowledgebaseCategoryCollection>(apiMethod, parameters)).Returns(_responseKnowledgebaseCategoryCollection); var knowledgebaseCategory = _knowledgebaseController.CreateKnowledgebaseCategory(knowledgebaseCategoryRequest); _kayakoApiRequest.Verify(x => x.ExecutePost<KnowledgebaseCategoryCollection>(apiMethod, parameters), Times.Once()); Assert.That(knowledgebaseCategory, Is.EqualTo(_responseKnowledgebaseCategoryCollection.FirstOrDefault())); }