/// <summary> /// 點選建立KB的動作 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCreate_Click(object sender, EventArgs e) { // 取出資料 KBModel.CreateKBModel objKb = new KBModel.CreateKBModel() { name = txtKbName.Text, urls = new List <string>() { txtQnADocUrl.Text }, qnaPairs = new List <KBModel.QnAList>(), }; for (int i = 0; i < gvQnA.Rows.Count; i++) { if (gvQnA.Rows[i].Cells[0].Value != null & gvQnA.Rows[i].Cells[1].Value != null) { string strQuestion = gvQnA.Rows[i].Cells[0].Value.ToString(); string strAnswer = gvQnA.Rows[i].Cells[1].Value.ToString(); objKb.qnaPairs.Add( new KBModel.QnAList() { answer = strAnswer, question = strQuestion, } ); } } // 送出新增的動作 HttpStatusCode code = HttpStatusCode.OK; KBModel.CreateKBResultModel result = base.iQnAMaker.CreateKB(objKb, out code); if (code == HttpStatusCode.Created) { // 寫入KBList的設定檔之 base.ReadKBList(); base.KBList.Add( new KBModel.KBListModel() { kbId = result.kbId, name = txtKbName.Text, } ); base.WriteKBList(); MessageBox.Show("Create KB Success"); this.ResetControls(); } else { MessageBox.Show("Create KB Fail:" + code.ToString()); } }
/// <summary> /// 呼叫API進行KB建立的動作 /// </summary> /// <param name="objKb">要建立KB的物件</param> /// <param name="strSubscriptionKey">存取金鑰</param> /// <returns></returns> public KBModel.CreateKBResultModel CreateKB(KBModel.CreateKBModel objKb, out HttpStatusCode code) { KBModel.CreateKBResultModel result = null; string strMsg = Utility.CallQnAMaker("/create", "POST", JsonConvert.SerializeObject(objKb), this.SubscriptionKey, out code); if (code == HttpStatusCode.Created) { result = JsonConvert.DeserializeObject <KBModel.CreateKBResultModel>(strMsg); } return(result); }