private Intent_Request MakeIntent_Request(DataRow row) { Intent_Request record = new Intent_Request(); if (row != null) { record.SetProperty(row); } return(record); }
private void btnAdd_Click(object sender, EventArgs e) { using (FormEditIntent_Request form = new FormEditIntent_Request(null, mListData_Flat)) { if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK) { mIntent_Request = form.mIntent_Request; DoRefresh(); } } }
public Intent_Response GetIntent_Response(Intent_Request mIntent_Request) { StringBuilder sql = new StringBuilder(); sql.Append(" SELECT * "); sql.Append(" FROM tb_intent_response "); sql.Append(" WHERE DM_Intent_TypeID = " + mIntent_Request.DM_Intent_TypeID.Escape() + " AND DM_Entity_TypeID = " + mIntent_Request.DM_Entity_TypeID.Escape()); sql.Append(" ORDER BY random() limit 10 "); DataRow row = baseDAO.DoGetDataRow(sql.ToString()); return(MakeIntent_Response(row)); }
private void mListViewData_FormatRow(object sender, FormatRowEventArgs e) { Intent_Request data = e.Model as Intent_Request; if (data != null) { if (data.Intent_RequestID <= 0) { e.Item.Font = new System.Drawing.Font(e.Item.Font, System.Drawing.FontStyle.Bold); } } }
public int DeleteIntent_Request(Intent_Request data) { lock (lockObject) { if (data == null) { return(DataTypeModel.RESULT_NG); } StringBuilder sql = new StringBuilder(); sql.Append(" DELETE FROM tb_intent_request "); sql.Append(" WHERE Intent_RequestID = " + DatabaseUtility.Escape(data.Intent_RequestID)); return(baseDAO.DoUpdate(sql.ToString())); } }
private void btnXoa_Click(object sender, EventArgs e) { Intent_Request data = mListViewData.SelectedObject as Intent_Request; if (data != null && data.Intent_RequestID > 0) { if (SanitaMessageBox.Show("Bạn có chắc chắn muốn xóa không ?", "Thông Báo", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { if (Intent_RequestPresenter.DeleteIntent_Request(data) > 0) { DoRefresh(); } } } }
private void mListViewData_MouseDoubleClick(object sender, MouseEventArgs e) { Intent_Request data = mListViewData.SelectedObject as Intent_Request; if (data != null && data.Intent_RequestID > 0) { using (FormEditIntent_Request form = new FormEditIntent_Request(data, mListData_Flat)) { if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK) { mIntent_Request = form.mIntent_Request; DoRefresh(); } } } }
public String ExecuteCommand(Intent_Request data) { if (data.DM_Entity_TypeID == 0) { data.DM_Entity_TypeID = DM_Entity_Type.KE_CHUYEN_CUOI; } //Lấy response Intent_Response mIntent_Response = Intent_ResponsePresenter.GetIntent_Response_Request(data); String response_data = mIntent_Response.Data; response_data = response_data ?? ""; //Response return(response_data); }
private void btnCopy_Click(object sender, EventArgs e) { Intent_Request data = mListViewData.SelectedObject as Intent_Request; if (data != null && data.Intent_RequestID > 0) { Intent_Request mDataNew = ObjectCopier.Clone(data); mDataNew.Intent_RequestID = 0; using (FormEditIntent_Request form = new FormEditIntent_Request(mDataNew, mListData_Flat)) { if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK) { mIntent_Request = form.mIntent_Request; DoRefresh(); } } } }
public FormEditIntent_Request(Intent_Request _mIntent_Request, IList <Intent_Request> _mListIntent_Request) { InitializeComponent(); this.Translate(); this.UpdateUI(); base.DoInit(); //Create worker mThread = new ExBackgroundWorker(); mThread.WorkerReportsProgress = true; mThread.WorkerSupportsCancellation = true; mThread.ProgressChanged += new ProgressChangedEventHandler(bwAsync_WorkerChanged); mThread.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwAsync_WorkerCompleted); mThread.DoWork += new DoWorkEventHandler(bwAsync_Worker); mIntent_Request = _mIntent_Request ?? new Intent_Request(); mListIntent_Request = _mListIntent_Request; }
public String XuLyRequest(Intent_Request data) { var type = typeof(ICommand); var types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(s => s.GetTypes()).Where(p => type.IsAssignableFrom(p)); foreach (Type m_type in types) { var field = m_type.GetProperty("Instance", BindingFlags.Public | BindingFlags.Static); if (field != null) { var value = (ICommand)field.GetValue(null, null); if (value != null) { if (value.DM_Intent_TypeID == data.DM_Intent_TypeID) { return(value.ExecuteCommand(data)); } } } } return(""); }
public int InsertIntent_Request(IDbConnection connection, IDbTransaction trans, Intent_Request data) { lock (lockObject) { if (data == null) { return(DataTypeModel.RESULT_NG); } String data_request = data.Data; data_request = data_request ?? ""; data_request = System.Text.RegularExpressions.Regex.Replace(data_request, @"<[^>]+>", ""); data_request = data_request.TrimSpace().Trim(); StringBuilder sql = new StringBuilder(); sql.Append(" INSERT INTO tb_intent_request ("); sql.Append(" IntentID,"); sql.Append(" Data,"); sql.Append(" Data_Query,"); sql.Append(" DM_Entity_TypeID,"); sql.Append(" Current_DM_Intent_TypeID,"); sql.Append(" Current_DM_Entity_TypeID,"); sql.Append(" DM_Intent_TypeID)"); sql.Append(" VALUES( "); sql.Append(" " + data.IntentID.Escape()).Append(", "); sql.Append(" " + data.Data.Escape()).Append(", "); sql.Append(" " + data_request.Escape_TSQuery()).Append(", "); sql.Append(" " + data.DM_Entity_TypeID.Escape()).Append(", "); sql.Append(" " + data.Current_DM_Intent_TypeID.Escape()).Append(", "); sql.Append(" " + data.Current_DM_Entity_TypeID.Escape()).Append(", "); sql.Append(" " + data.DM_Intent_TypeID.Escape()).Append(") "); int newId = baseDAO.DoInsert(connection, trans, sql.ToString()); data.Intent_RequestID = newId; if (newId > 0) { return(newId); } else { return(DataTypeModel.RESULT_NG); } } }
public API_TroLyAoData_Out TroLyAo_Execute(API_TroLyAoData_In data) { //Output API_TroLyAoData_Out mAPI_TroLyAoData_Out = new API_TroLyAoData_Out(); mAPI_TroLyAoData_Out.Language = "vi-VN"; //Kiểm tra data if (data == null) { mAPI_TroLyAoData_Out.Data = "Bạn hãy hỏi gì đi..."; mAPI_TroLyAoData_Out.ID = Sanita.Utility.Encryption.CryptorEngine.CreateMD5Hash(mAPI_TroLyAoData_Out.Data); return(mAPI_TroLyAoData_Out); } //Kiểm tra device Device mDevice = DevicePresenter.GetDevice(data.DeviceID); if (mDevice.DeviceID <= 0) { mAPI_TroLyAoData_Out.Data = "Thiết bị của bạn chưa được đăng ký."; mAPI_TroLyAoData_Out.ID = Sanita.Utility.Encryption.CryptorEngine.CreateMD5Hash(mAPI_TroLyAoData_Out.Data); return(mAPI_TroLyAoData_Out); } //Kiểm tra user User mUser = UserPresenter.GetUser(mDevice.UserID); if (mUser.APIKey != data.API_Key) { mAPI_TroLyAoData_Out.Data = "API key không đúng."; mAPI_TroLyAoData_Out.ID = Sanita.Utility.Encryption.CryptorEngine.CreateMD5Hash(mAPI_TroLyAoData_Out.Data); return(mAPI_TroLyAoData_Out); } if (!MyVar.mListDevice.Any(p => p.DeviceID == mDevice.DeviceID)) { MyVar.mListDevice.Add(mDevice); } mDevice = MyVar.mListDevice.FirstOrDefault(p => p.DeviceID == mDevice.DeviceID); mDevice.mUser = mUser; //Xử lý input data.Data = XuLyDuLieu(data.Data); //Lấy danh sách request IList <Intent_Request> mListRequest = Intent_RequestPresenter.GetIntent_Requests(data.Data); //Lọc theo bối cảnh hiện tại IList <Intent_Request> mListRequest_Current = mListRequest.Where(p => p.Current_DM_Entity_TypeID == mDevice.Current_DM_Entity_TypeID && p.Current_DM_Intent_TypeID == mDevice.Current_DM_Intent_TypeID).ToList(); if (mListRequest_Current.Count == 0) { mListRequest_Current = mListRequest.Where(p => p.Current_DM_Entity_TypeID == 0 && p.Current_DM_Intent_TypeID == 0).ToList(); } if (mListRequest_Current.Count > 0) { mListRequest = mListRequest_Current; } //Sắp xếp IList <Intent_Request> mListRequest_NoneParam = mListRequest.Where(p => !p.Data.Contains("<") && !p.Data.Contains(">")).OrderByDescending(p => p.Data.Length).ToList(); IList <Intent_Request> mListRequest_Param = mListRequest.Where(p => p.Data.Contains("<") && p.Data.Contains(">")).OrderByDescending(p => p.Data.Length).ToList(); mListRequest = mListRequest_NoneParam.Concat(mListRequest_Param).ToList(); Intent_Request mIntent_Request = new Intent_Request(); foreach (Intent_Request request in mListRequest) { String request_data = request.Data; request_data = request_data ?? ""; request_data = request_data.Replace("<*>", "(.*)"); request_data = request_data.Replace("<", "(?<"); request_data = request_data.Replace(">", ">(.+))"); request_data = "^" + request_data + "$"; Regex mRegex = new Regex(request_data, RegexOptions.IgnoreCase | RegexOptions.Singleline); if (mRegex.IsMatch(data.Data)) { mIntent_Request = request; mDevice.Current_DM_Intent_TypeID = mIntent_Request.DM_Intent_TypeID; mDevice.Current_DM_Entity_TypeID = mIntent_Request.DM_Entity_TypeID; GroupCollection groups = mRegex.Match(data.Data).Groups; foreach (string groupName in mRegex.GetGroupNames()) { EntityParam mEntityParam = new EntityParam(); mEntityParam.Name = groupName; mEntityParam.Value = groups[groupName].Value; mIntent_Request.mListParam.Add(mEntityParam); } } } //Set device mIntent_Request.mDevice = mDevice; //Xử lý request String response_request = XuLyRequest(mIntent_Request); if (!String.IsNullOrEmpty(response_request)) { mAPI_TroLyAoData_Out.Data = response_request; mAPI_TroLyAoData_Out.ID = Sanita.Utility.Encryption.CryptorEngine.CreateMD5Hash(mAPI_TroLyAoData_Out.Data); return(mAPI_TroLyAoData_Out); } //Get response Intent_Response mIntent_Response = Intent_ResponsePresenter.GetIntent_Response_Request(mIntent_Request); if (String.IsNullOrEmpty(mIntent_Response.Data)) { mIntent_Response.Data = "Xin lỗi... Tôi không hiểu !"; } //Update global if (mIntent_Response.Data.Contains("<") && mIntent_Response.Data.Contains(">")) { mIntent_Response.Data.Replace("<thoi_gian_hien_tai>", String.Format("{0:HH:mm}", SystemInfo.NOW)); mIntent_Response.Data.Replace("<ngay_hien_tai>", String.Format("{0:dd/MM/yyyy}", SystemInfo.NOW)); mIntent_Response.Data.Replace("<thu_hien_tai>", String.Format("{0}", SystemInfo.NOW.GetThu())); mIntent_Response.Data.Replace("<ngay_mai>", String.Format("{0:dd/MM/yyyy}", SystemInfo.NOW.AddDays(1))); mIntent_Response.Data.Replace("<thu_mai>", String.Format("{0}", SystemInfo.NOW.AddDays(1).GetThu())); } //Return mAPI_TroLyAoData_Out.Data = mIntent_Response.Data; mAPI_TroLyAoData_Out.ID = Sanita.Utility.Encryption.CryptorEngine.CreateMD5Hash(mAPI_TroLyAoData_Out.Data); return(mAPI_TroLyAoData_Out); #if false //Check if (data.Data.Contains("thời tiết") && data.Data.Contains("hôm nay")) { String thu = ""; if (SystemInfo.NOW.DayOfWeek == DayOfWeek.Sunday) { thu = String.Format("chủ nhật"); } else { thu = String.Format("thứ {0}", (int)SystemInfo.NOW.DayOfWeek + 1); } mAPI_TroLyAoData_Out.Data = String.Format("Dự báo thời tiết hôm nay ở Quan Khê, Hải Dương {0} ngày {1:dd/MM} có mưa rào nhẹ, nhiệt độ từ 26 đến 32 độ, độ ẩm 94%", thu, SystemInfo.NOW); } else if ((data.Data.Contains("thời tiết") && data.Data.Contains("ngày mai")) || data.Data.Contains("còn ngày mai")) { String thu = ""; if (SystemInfo.NOW.AddDays(1).DayOfWeek == DayOfWeek.Sunday) { thu = String.Format("chủ nhật"); } else { thu = String.Format("thứ {0}", (int)SystemInfo.NOW.AddDays(1).DayOfWeek + 1); } mAPI_TroLyAoData_Out.Data = String.Format("Dự báo thời tiết ngày mai ở Quan Khê, Hải Dương {0} ngày {1:dd/MM} trời nhiều mây và nắng nhẹ, nhiệt độ từ 26 đến 33 độ, độ ẩm 76%", thu, SystemInfo.NOW.AddDays(1)); } else if (data.Data.Contains("mấy giờ rồi") || data.Data.Contains("bây giờ là mấy giờ")) { mAPI_TroLyAoData_Out.Data = String.Format("Thời gian là {0:HH:mm} phút", SystemInfo.NOW); } else if (data.Data.Contains("hôm nay") && data.Data.Contains("thứ mấy")) { if (SystemInfo.NOW.DayOfWeek == DayOfWeek.Sunday) { mAPI_TroLyAoData_Out.Data = String.Format("Hôm nay là chủ nhật"); } else { mAPI_TroLyAoData_Out.Data = String.Format("Hôm nay là thứ {0}", (int)SystemInfo.NOW.DayOfWeek + 1); } } else if (data.Data.Contains("ngày mai") && data.Data.Contains("thứ mấy")) { if (SystemInfo.NOW.AddDays(1).DayOfWeek == DayOfWeek.Sunday) { mAPI_TroLyAoData_Out.Data = String.Format("Ngày mai là chủ nhật"); } else { mAPI_TroLyAoData_Out.Data = String.Format("Ngày mai là thứ {0}", (int)SystemInfo.NOW.AddDays(1).DayOfWeek + 1); } } else if (data.Data.EqualText("bạn là ai") || data.Data.EqualText("bạn là cái gì")) { mAPI_TroLyAoData_Out.Data = "Tôi là trợ lý ảo của bạn đây"; } else if (data.Data.EqualText("tên bạn là gì")) { mAPI_TroLyAoData_Out.Data = "Tôi chưa tự giới thiệu sao ? Tên tôi là Daisy !"; } else if (data.Data.Contains("bạn biết hát không") || data.Data.Contains("bạn có biết hát không") || data.Data.Contains("hát cho tôi nghe")) { mAPI_TroLyAoData_Out.Data += "<speak>"; mAPI_TroLyAoData_Out.Data += "<p>"; mAPI_TroLyAoData_Out.Data += "<s>Xin lỗi, giờ tôi vẫn chưa biết hát.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Thay vào đó, tôi có thể đọc lời bài hát cho bạn tự tưởng tượng theo.</s>"; mAPI_TroLyAoData_Out.Data += "<break time=\"300ms\"/>"; mAPI_TroLyAoData_Out.Data += "<s>Kìa con bướm vàng.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Kìa con bướm vàng.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Xòe đôi cánh.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Xòe đôi cánh.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Tung cánh bay năm ba vòng.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Tung cánh bay năm ba vòng.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Em ngồi xem...</s>"; mAPI_TroLyAoData_Out.Data += "<s>Em ngồi xem...</s>"; mAPI_TroLyAoData_Out.Data += "</p>"; mAPI_TroLyAoData_Out.Data += "</speak>"; } else if (data.Data.Contains("bạn đang ở đâu")) { mAPI_TroLyAoData_Out.Data += "<speak>"; mAPI_TroLyAoData_Out.Data += "<p>"; mAPI_TroLyAoData_Out.Data += "<s>Tôi ở trong thiết bị này.</s>"; mAPI_TroLyAoData_Out.Data += "<s>cả máy tính bảng có ngay khi cần.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Google home cũng có phần.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Ôi nhiều nhà quá phân vân chọn hoài.</s>"; mAPI_TroLyAoData_Out.Data += "</p>"; mAPI_TroLyAoData_Out.Data += "</speak>"; } else if (data.Data.Contains("truyện cười") || data.Data.Contains("chuyện cười")) { mAPI_TroLyAoData_Out.Data += "<speak>"; mAPI_TroLyAoData_Out.Data += "<p>"; mAPI_TroLyAoData_Out.Data += "<s>Được, bạn nghe nhé !</s>"; mAPI_TroLyAoData_Out.Data += "<break time=\"300ms\"/>"; mAPI_TroLyAoData_Out.Data += "<s>Trong giờ địa lý, thầy hỏi trò.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Em hãy nói ba lý do khiến em chắc rằng trái đất hình cầu.</s>"; mAPI_TroLyAoData_Out.Data += "<s>Thưa thầy, bố em nói thế, mẹ em nói thế và thầy cũng nói thế ạ !</s>"; mAPI_TroLyAoData_Out.Data += "<audio src=\"https://ia601507.us.archive.org/31/items/google_cuoi/google_cuoi.ogg\"/>"; mAPI_TroLyAoData_Out.Data += "</p>"; mAPI_TroLyAoData_Out.Data += "</speak>"; } else if (data.Data.Contains("truyện khác") || data.Data.Contains("chuyện khác")) { mAPI_TroLyAoData_Out.Data += "<speak>"; mAPI_TroLyAoData_Out.Data += "<p>"; mAPI_TroLyAoData_Out.Data += "<s>Được, nghe tôi kể đây này !</s>"; mAPI_TroLyAoData_Out.Data += "<break time=\"300ms\"/>"; mAPI_TroLyAoData_Out.Data += "<s>Ngày đầu tiên bé đi học về, bố mẹ hỏi. Ở lớp thế nào con ?</s>"; mAPI_TroLyAoData_Out.Data += "<s>Vui lắm bố ạ, cô giáo con xinh lắm !</s>"; mAPI_TroLyAoData_Out.Data += "<s>Thế cô dạy con những gì ?</s>"; mAPI_TroLyAoData_Out.Data += "<s>Cô chẳng biết gì cả ! Cái gì cũng phải hỏi : Em nào cho cô biết nào.</s>"; mAPI_TroLyAoData_Out.Data += "<audio src=\"https://ia601507.us.archive.org/31/items/google_cuoi/google_cuoi.ogg\"/>"; mAPI_TroLyAoData_Out.Data += "</p>"; mAPI_TroLyAoData_Out.Data += "</speak>"; } else if (data.Data.EqualText("bật đèn phòng khách")) { mAPI_TroLyAoData_Out.Data = "OK, đã bật đèn phòng khách"; } else if (data.Data.EqualText("tắt đèn phòng khách")) { mAPI_TroLyAoData_Out.Data = "OK, đã tắt đèn phòng khách"; } else if (data.Data.EqualText("bật điều hòa") || data.Data.EqualText("tôi nóng quá")) { mAPI_TroLyAoData_Out.Data = "OK, đã bật điều hòa"; } else if (data.Data.EqualText("để điều hòa 26 độ")) { mAPI_TroLyAoData_Out.Data = "OK, đã để điều hòa 26 độ C"; } //Return if (String.IsNullOrEmpty(mAPI_TroLyAoData_Out.Data)) { mAPI_TroLyAoData_Out.Data = "Xin lỗi... Tôi không hiểu !"; } mAPI_TroLyAoData_Out.ID = Sanita.Utility.Encryption.CryptorEngine.CreateMD5Hash(mAPI_TroLyAoData_Out.Data); mAPI_TroLyAoData_Out.Language = "vi-VN"; return(mAPI_TroLyAoData_Out); #endif }
public String ExecuteCommand(Intent_Request data) { EntityParam thiet_bi = data.mListParam.FirstOrDefault(p => p.Name == "thiet_bi"); if (thiet_bi == null) { return("<speak><p><s>Bạn hãy nói tên thiết bị</s></p></speak>"); } //Danh sách thiết bị IList <Device> mListDevice = DevicePresenter.GetDevices(null, null); IList <Room> mListRoom = RoomPresenter.GetRooms(null, null); foreach (Device device in mListDevice) { device.mRoom = mListRoom.FirstOrDefault(p => p.RoomID == device.RoomID); device.mRoom = device.mRoom ?? new Room(); } Device mDevice = null; while (true) { //Tìm thiết bị trùng khớp //ví dụ "đèn ngủ 1" { mDevice = mListDevice.FirstOrDefault(p => p.DeviceName.EqualTextNoCase(thiet_bi.Value)); if (mDevice != null) { break; } } //Tìm thiết bị gồm tên thiết bị (đầy đủ) + tên phòng //ví dụ "đèn ngủ 1 phòng khách" { mDevice = mListDevice.FirstOrDefault(p => (p.DeviceName + " " + p.mRoom.RoomName).EqualTextNoCase(thiet_bi.Value)); if (mDevice != null) { break; } } //Tìm thiết bị gồm tên thiết bị (ngắn gọn) + tên phòng //ví dụ "đèn phòng khách" { mDevice = mListDevice.FirstOrDefault(p => (p.DeviceName_Short + " " + p.mRoom.RoomName).EqualTextNoCase(thiet_bi.Value)); if (mDevice != null) { break; } } //Tìm thiết bị cùng phòng (tên đầy đủ) { mListDevice = mListDevice.Where(p => p.RoomID == data.mDevice.RoomID).ToList(); { mDevice = mListDevice.FirstOrDefault(p => p.DeviceName.EqualTextNoCase(thiet_bi.Value)); if (mDevice != null) { break; } } //Tìm thiết bị cùng phòng (tên ngắn gọn) { mDevice = mListDevice.FirstOrDefault(p => p.DeviceName_Short.EqualTextNoCase(thiet_bi.Value)); if (mDevice != null) { break; } } } break; } if (mDevice != null) { switch (data.DM_Entity_TypeID) { case DM_Entity_Type.HOME_CONTROL_BAT_THIET_VI: { if (UtilityHassIO.mInstance.Switch_Turn_OnOff(data.mDevice.mUser.HassIO_URL, data.mDevice.mUser.HassIO_KEY, mDevice.DeviceCode, "on")) { return(String.Format("<speak><p><s>Đã bật {0}</s></p></speak>", mDevice.DeviceName)); } else { return(String.Format("<speak><p><s>Xin lỗi, tôi không thực hiện được yêu cầu của bạn</s></p></speak>", mDevice.DeviceName)); } } case DM_Entity_Type.HOME_CONTROL_TAT_THIET_VI: { if (UtilityHassIO.mInstance.Switch_Turn_OnOff(data.mDevice.mUser.HassIO_URL, data.mDevice.mUser.HassIO_KEY, mDevice.DeviceCode, "off")) { return(String.Format("<speak><p><s>Đã tắt {0}</s></p></speak>", mDevice.DeviceName)); } else { return(String.Format("<speak><p><s>Xin lỗi, tôi không thực hiện được yêu cầu của bạn</s></p></speak>", mDevice.DeviceName)); } } default: break; } } else { return("<speak><p><s>Tôi không tìm được thiết bị trong nhà của bạn</s></p></speak>"); } return(""); }
public String ExecuteCommand(Intent_Request data) { String thoi_gian = ""; String thoi_gian_gio = ""; String thoi_gian_phut = ""; //Check entity if (data.DM_Entity_TypeID == 0) { EntityParam mEntityParam_ThoiGian = data.mListParam.FirstOrDefault(p => p.Name == "thoi_gian"); if (mEntityParam_ThoiGian != null) { if (mEntityParam_ThoiGian.Value == "theo can chi") { data.DM_Entity_TypeID = DM_Entity_Type.THOI_GIAN_AM_LICH_HOM_NAY; } } } if (data.DM_Entity_TypeID == 0) { data.DM_Entity_TypeID = DM_Entity_Type.THOI_GIAN_HOM_NAY; } //Lấy response Intent_Response mIntent_Response = Intent_ResponsePresenter.GetIntent_Response_Request(data); String response_data = mIntent_Response.Data; response_data = response_data ?? ""; //Cập nhật biến switch (data.DM_Entity_TypeID) { case DM_Entity_Type.THOI_GIAN_HOM_NAY: { thoi_gian = String.Format("{0:HH:mm}", SystemInfo.NOW); thoi_gian_gio = String.Format("{0:HH}", SystemInfo.NOW); thoi_gian_phut = String.Format("{0:mm}", SystemInfo.NOW); } break; case DM_Entity_Type.THOI_GIAN_HOM_NAY_DIA_DIEM: { EntityParam dia_diem = data.mListParam.FirstOrDefault(p => p.Name == "dia_diem"); if (dia_diem != null) { thoi_gian = GetThoiGian_DiaDiem(dia_diem.Value); IList <String> list_time = thoi_gian.Split(':').ToList(); if (list_time.Count == 2) { thoi_gian_gio = list_time[0]; thoi_gian_phut = list_time[1]; } } } break; default: break; } //Update biến if (!String.IsNullOrEmpty(thoi_gian)) { response_data = response_data.Replace("<thoi_gian>", thoi_gian); response_data = response_data.Replace("<thoi_gian_gio>", thoi_gian_gio); response_data = response_data.Replace("<thoi_gian_phut>", thoi_gian_phut); } else { response_data = ""; data.DM_Intent_TypeID = DM_Intent_Type.KHONG_HIEU; } //Update biến đầu vào foreach (EntityParam param in data.mListParam) { response_data = response_data.Replace("<" + param.Name + ">", param.Value); } //Response return(response_data); }
public static int DeleteIntent_Request(Intent_Request data) { return(Intent_RequestDB.mInstance.DeleteIntent_Request(data)); }
public static void InsertIntent_Request(Intent_Request data) { Intent_RequestDB.mInstance.InsertIntent_Request(null, null, data); }
public static void UpdateIntent_Request(Intent_Request data) { Intent_RequestDB.mInstance.UpdateIntent_Request(null, null, data); }
public int UpdateIntent_Request(IDbConnection connection, IDbTransaction trans, Intent_Request data) { lock (lockObject) { if (data == null) { return(DataTypeModel.RESULT_NG); } String data_request = data.Data; data_request = data_request ?? ""; data_request = System.Text.RegularExpressions.Regex.Replace(data_request, @"<[^>]+>", ""); data_request = data_request.TrimSpace().Trim(); StringBuilder sql = new StringBuilder(); sql.Append(" UPDATE tb_intent_request "); sql.Append(" SET "); sql.Append(" IntentID = " + data.IntentID.Escape()).Append(", "); sql.Append(" Data = " + data.Data.Escape()).Append(", "); sql.Append(" Data_Query = " + data_request.Escape_TSQuery()).Append(", "); sql.Append(" DM_Entity_TypeID = " + data.DM_Entity_TypeID.Escape()).Append(", "); sql.Append(" Current_DM_Intent_TypeID = " + data.Current_DM_Intent_TypeID.Escape()).Append(", "); sql.Append(" Current_DM_Entity_TypeID = " + data.Current_DM_Entity_TypeID.Escape()).Append(", "); sql.Append(" DM_Intent_TypeID = " + data.DM_Intent_TypeID.Escape()); sql.Append(" WHERE Intent_RequestID = " + data.Intent_RequestID); return(baseDAO.DoUpdate(connection, trans, sql.ToString())); } }
public String ExecuteCommand(Intent_Request data) { EntityParam noi_dung = data.mListParam.FirstOrDefault(p => p.Name == "noi_dung"); if (noi_dung != null) { String noi_dung_request = noi_dung.Value; if (data.DM_Entity_TypeID == DM_Entity_Type.WIKI_LA_AI) { noi_dung_request += " là ai"; } if (data.DM_Entity_TypeID == DM_Entity_Type.WIKI_LA_GI) { noi_dung_request += " là gì"; } if (data.DM_Entity_TypeID == DM_Entity_Type.WIKI_DINH_NGHIA) { noi_dung_request = "định nghĩa " + noi_dung_request; } String data_response = TraCuuThongTin(noi_dung_request); if (!String.IsNullOrEmpty(data_response)) { return(data_response); } else { if (data.DM_Entity_TypeID == 0) { String data_response_new = ""; //là gì noi_dung_request = noi_dung.Value + " là gì"; data_response_new = TraCuuThongTin(noi_dung_request); if (!String.IsNullOrEmpty(data_response_new)) { return(data_response_new); } //là ai noi_dung_request = noi_dung.Value + " là ai"; data_response_new = TraCuuThongTin(noi_dung_request); if (!String.IsNullOrEmpty(data_response_new)) { return(data_response_new); } //định nghĩa noi_dung_request = "định nghĩa " + noi_dung.Value; data_response_new = TraCuuThongTin(noi_dung_request); if (!String.IsNullOrEmpty(data_response_new)) { return(data_response_new); } } } } return(""); }
public static Intent_Response GetIntent_Response_Request(Intent_Request mIntent_Request) { return(Intent_ResponseDB.mInstance.GetIntent_Response(mIntent_Request)); }
private void bwAsync_Worker(object sender, DoWorkEventArgs e) { ProcessingType type = (ProcessingType)e.Argument; e.Result = type; switch (type) { case ProcessingType.LoadData: { mListData_Flat = Intent_RequestPresenter.GetIntent_Requests(); //Update dữ liệu mListData = new List <Intent_Request>(); foreach (DM_Intent_Type nhom in DM_Intent_Type.GetDefaultList(0)) { if (mListData_Flat.Any(p => p.DM_Intent_TypeID == nhom.DM_Intent_TypeID)) { Intent_Request group_Intent_Request = new Intent_Request(); group_Intent_Request.DM_Intent_TypeID = nhom.DM_Intent_TypeID; group_Intent_Request.Intent_RequestID = -1; group_Intent_Request.Data = nhom.DM_Intent_TypeName; group_Intent_Request.mListSubData = new List <Intent_Request>(); mListData.Add(group_Intent_Request); IList <DM_Entity_Type> ListDM_Entity_Type = DM_Entity_Type.GetDefaultList(0).Where(p => p.DM_Intent_TypeID == nhom.DM_Intent_TypeID).ToList(); if (ListDM_Entity_Type.Count == 0) { group_Intent_Request.mListSubData = mListData_Flat.Where(p => p.DM_Intent_TypeID == nhom.DM_Intent_TypeID).ToList(); group_Intent_Request.mListSubData = group_Intent_Request.mListSubData.Select(p => { p.mParent = group_Intent_Request; return(p); }).ToList(); } else { foreach (DM_Entity_Type loai_dichvu in ListDM_Entity_Type) { if (mListData_Flat.Any(p => p.DM_Entity_TypeID == loai_dichvu.DM_Entity_TypeID && p.DM_Intent_TypeID == loai_dichvu.DM_Intent_TypeID)) { Intent_Request type_service = new Intent_Request(); type_service.DM_Intent_TypeID = nhom.DM_Intent_TypeID; type_service.DM_Entity_TypeID = loai_dichvu.DM_Entity_TypeID; type_service.Intent_RequestID = -2; type_service.Data = loai_dichvu.DM_Entity_TypeName; type_service.mListSubData = mListData_Flat.Where(p => p.DM_Intent_TypeID == loai_dichvu.DM_Intent_TypeID && p.DM_Entity_TypeID == loai_dichvu.DM_Entity_TypeID).ToList(); type_service.mListSubData = type_service.mListSubData.Select(p => { p.mParent = type_service; return(p); }).ToList(); if (type_service.mListSubData.Count > 0) { group_Intent_Request.mListSubData.Add(type_service); } } } } } } //Update danh sách { mListThongTinDanhSachIntent_Request = new List <ThongTinDanhSachIntent_Request>(); mListThongTinDanhSachIntent_Request_Flat = new List <ThongTinDanhSachIntent_Request>(); ThongTinDanhSachIntent_Request.ThongTinDanhSachIntent_RequestID_Index = 1; //Add tất cả nhóm dịch vụ ThongTinDanhSachIntent_Request root = new ThongTinDanhSachIntent_Request(); root.ThongTinDanhSachIntent_RequestType = (int)ThongTinDanhSachIntent_Request.TYPE.ROOT; root.mListData = mListData; root.ThongTinDanhSachIntent_RequestName = String.Format("Tất cả ({0})".Translate(), mListData_Flat.Count()); mListThongTinDanhSachIntent_Request.Add(root); mListThongTinDanhSachIntent_Request_Flat.Add(root); foreach (DM_Intent_Type nhom_dich_vu in DM_Intent_Type.GetDefaultList(1)) { Intent_Request group_service = mListData.FirstOrDefault(p => p.DM_Intent_TypeID == nhom_dich_vu.DM_Intent_TypeID && p.Intent_RequestID == -1); if (group_service != null) { ThongTinDanhSachIntent_Request mData = new ThongTinDanhSachIntent_Request(); mData.ThongTinDanhSachIntent_RequestType = (int)ThongTinDanhSachIntent_Request.TYPE.GROUP; mData.DM_Intent_TypeID = nhom_dich_vu.DM_Intent_TypeID; mData.mListSubData = new List <ThongTinDanhSachIntent_Request>(); mData.mListData = group_service.mListSubData; mData.ThongTinDanhSachIntent_RequestName = DM_Intent_Type.GetDefault(mData.DM_Intent_TypeID).DM_Intent_TypeName + " (" + mListData_Flat.Where(p => p.DM_Intent_TypeID == mData.DM_Intent_TypeID).Count() + ")"; mListThongTinDanhSachIntent_Request.Add(mData); mListThongTinDanhSachIntent_Request_Flat.Add(mData); //Add loại dịch vụ { IList <DM_Entity_Type> list_sub = DM_Entity_Type.GetDefaultList(0).Where(p => p.DM_Intent_TypeID == nhom_dich_vu.DM_Intent_TypeID).ToList(); list_sub = list_sub.OrderBy(p => p.DM_Intent_TypeID).ThenBy(p => p.DM_Entity_TypeID).ToList(); foreach (DM_Entity_Type sub_data in list_sub) { Intent_Request type_service = group_service.mListSubData.FirstOrDefault(p => p.DM_Entity_TypeID == sub_data.DM_Entity_TypeID && p.Intent_RequestID == -2 && p.DM_Intent_TypeID == sub_data.DM_Intent_TypeID); if (type_service != null) { ThongTinDanhSachIntent_Request mSubData = new ThongTinDanhSachIntent_Request(); mSubData.ThongTinDanhSachIntent_RequestType = (int)ThongTinDanhSachIntent_Request.TYPE.SUB_GROUP; mSubData.DM_Intent_TypeID = mData.DM_Intent_TypeID; mSubData.DM_Entity_TypeID = sub_data.DM_Entity_TypeID; mSubData.mListData = group_service.mListSubData.Where(p => p.DM_Entity_TypeID == sub_data.DM_Entity_TypeID && p.DM_Intent_TypeID == sub_data.DM_Intent_TypeID).ToList(); mSubData.ThongTinDanhSachIntent_RequestName = DM_Entity_Type.GetDefault(mSubData.DM_Entity_TypeID).DM_Entity_TypeName + " (" + mListData_Flat.Where(p => p.DM_Entity_TypeID == mSubData.DM_Entity_TypeID && p.DM_Intent_TypeID == mSubData.DM_Intent_TypeID).Count() + ")"; if (mSubData.mListData.Count > 0) { mData.mListSubData.Add(mSubData); mListThongTinDanhSachIntent_Request_Flat.Add(mSubData); } } } } } } } } break; default: break; } }
public FormViewIntent_Request() { InitializeComponent(); this.Translate(); this.UpdateUI(); base.DoInit(); //Create worker mThread = new ExBackgroundWorker(); mThread.WorkerReportsProgress = true; mThread.WorkerSupportsCancellation = true; mThread.ProgressChanged += new ProgressChangedEventHandler(bwAsync_WorkerChanged); mThread.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bwAsync_WorkerCompleted); mThread.DoWork += new DoWorkEventHandler(bwAsync_Worker); this.olvColumnLoai.AspectGetter = delegate(object x) { Intent_Request data = (Intent_Request)x; if (data != null && data.Intent_RequestID > 0) { return(DM_Intent_Type.GetDefault(data.DM_Intent_TypeID).DM_Intent_TypeName); } return(""); }; this.olvColumnDoiTuong.AspectGetter = delegate(object x) { Intent_Request data = (Intent_Request)x; if (data != null && data.Intent_RequestID > 0) { DM_Entity_Type checkdata = DM_Entity_Type.GetDefaultList(0).FirstOrDefault(p => p.DM_Intent_TypeID == data.DM_Intent_TypeID && p.DM_Entity_TypeID == data.DM_Entity_TypeID); if (checkdata != null) { return(checkdata.DM_Entity_TypeName); } else { return(""); } } return(""); }; //Init container tree list view this.mListViewData.CanExpandGetter = delegate(object x) { Intent_Request data = (Intent_Request)x; if (data.mListSubData != null && data.mListSubData.Count > 0) { IList <Intent_Request> mListSubData = data.mListSubData; if (mListSubData.Count > 0) { return(true); } } return(false); }; this.mListViewData.ChildrenGetter = delegate(object x) { Intent_Request data = (Intent_Request)x; IList <Intent_Request> mListSubData = data.mListSubData; return(mListSubData); }; mListViewData.PrimarySortOrder = SortOrder.Ascending; mListViewData.PrimarySortColumn = olvColumnID; //Init container tree list view this.ListViewNhomDichVu.CanExpandGetter = delegate(object x) { ThongTinDanhSachIntent_Request data = (ThongTinDanhSachIntent_Request)x; if (data.mListSubData != null && data.mListSubData.Count > 0) { IList <ThongTinDanhSachIntent_Request> mListSubData = data.mListSubData; return(data.mListSubData.Count > 0); } return(false); }; this.ListViewNhomDichVu.ChildrenGetter = delegate(object x) { ThongTinDanhSachIntent_Request data = (ThongTinDanhSachIntent_Request)x; return(data.mListSubData); }; }