public async Task <IActionResult> CheckerAcceptTask(ExternalRequest request) { PushLineResponseModel response = new PushLineResponseModel(); MessageResponseModel message = new MessageResponseModel(); LineMessageTemplate template = new LineMessageTemplate(); dt = new DataTable(); DAC.REST_KeepEventTransaction("CheckerAcceptTask", func.JsonSerialize(request), "CheckerAcceptTask", "[487]"); dt = DAC.CheckApplicationNo(request.AppNo); if (dt.Rows.Count > 0) { dtifExists = new DataTable(); dtifExists = DAC.REST_CheckAceptTaskExisting(request.AppNo); try { if (dtifExists.Rows.Count > 0) { if (!string.IsNullOrEmpty(dtifExists.Rows[0]["Application_Responsibility"].ToString())) { message = api.SetMessage("ไม่สามารถทำรายการได้เนื่องจากมีคนกดรับงานไปแล้ว"); response.to = request.LineUserId; response.messages.Add(message); await api.CallApi(response); DAC.REST_KeepEventTransaction("CheckerAcceptTask", response.to, "DealerController -> CallApi", "[496]"); return(Ok()); } } else { DAC.REST_KeepEventTransaction("CheckerAcceptTask", request.AppNo, "DealerController -> REST_CheckAceptTaskExisting is Empty", "REST_CheckAceptTaskExisting " + request.AppNo); } try { checker.AcceptTask(request.LineUserId, request.AppNo); message = api.SetMessage("บันทึกข้อมูลสำเร็จ"); response.to = request.LineUserId; response.messages.Add(message); await api.CallApi(response); DAC.REST_KeepEventTransaction("CheckerAcceptTask", response.to, "DealerController -> CallApi", "[511]"); } catch (Exception e) { DAC.REST_KeepEventTransaction("CheckerAcceptTask", request.AppNo, "DealerController -> AcceptTask", e.StackTrace); } } catch (Exception e) { DAC.REST_KeepEventTransaction("CheckerAcceptTask", request.AppNo, "DealerController -> REST_CheckApplicationNo", e.StackTrace); } return(Ok()); } else { DAC.REST_KeepEventTransaction("CheckerAcceptTask", request.AppNo, "DealerController -> REST_CheckApplicationNo is Empty", "REST_CheckApplicationNo " + request.AppNo); } return(Ok()); }
public async void AcceptTask(string UserLineId, string AppNo) { PushLineResponseModel response = new PushLineResponseModel(); MessageResponseModel message = new MessageResponseModel(); string strmessage = ""; dt = new DataTable(); dt = DAC.REST_UpdateStatusApp(UserLineId, AppNo); try { if (dt.Rows.Count > 0) { strmessage = template.AcceptTaskMessage(); strmessage = string.Format(strmessage, dt.Rows[0]["User_Name"].ToString(), dt.Rows[0]["Application_No"].ToString(), dt.Rows[0]["Application_DealerName"].ToString(), dt.Rows[0]["User_PhoneNumber"].ToString()); message = api.SetMessage(strmessage); response.to = dt.Rows[0]["Application_CreateBy"].ToString(); response.messages.Add(message); await api.CallApi(response); DAC.REST_KeepEventTransaction("AcceptTask", response.to, "CheckerController -> AcceptTask", "[59]"); } else { DAC.REST_KeepEventTransaction("AcceptTask", AppNo, "CheckerController -> AcceptTask is Empty", "REST_UpdateStatusApp " + UserLineId + ", " + AppNo); } } catch (Exception e) { DAC.REST_KeepEventTransaction("AcceptTask", AppNo, "CheckerController -> AcceptTask", e.StackTrace); } }
public async Task CallApi(object data) { clsPushLineResponseModel = new PushLineResponseModel(); clsFlexMessageMain = new LineMessageTemplate.FlexMessageMain(); StringContent content = new StringContent(func.JsonSerialize(data), System.Text.Encoding.UTF8, "application/json"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ChannelAccessToken); var response = await client.PostAsync("https://api.line.me/v2/bot/message/push", content); try { var contents = await response.Content.ReadAsStringAsync(); // Sqlstr = "EXEC REST_KeepEventTransaction '{0}', '{1}', '{2}', '{3}' "; if (data.GetType() == Type.GetType("APICore.Models.PushLineResponseModel")) { clsPushLineResponseModel = (PushLineResponseModel)data; Sqlstr = "EXEC REST_KeepEventTransaction 'API : push[108]', 'CallApi', '" + clsPushLineResponseModel.to + "', '" + contents + "' "; // Sqlstr = string.Format(Sqlstr, "API : push[108]", "CallApi", clsPushLineResponseModel.to, contents); } else if (data.GetType() == Type.GetType("APICore.Models.FlexMessageMain")) { clsFlexMessageMain = (LineMessageTemplate.FlexMessageMain)data; Sqlstr = "EXEC REST_KeepEventTransaction 'API : push[113]', 'CallApi', '" + clsPushLineResponseModel.to + "', '" + contents + "' "; // Sqlstr = string.Format(Sqlstr, "API : push[113]", "CallApi",clsPushLineResponseModel.to, contents); } // else if (data.GetType() == Type.GetType("PushLineResponseMultiCastModel")) // { // clsPushMultiCast = (PushLineResponseMultiCastModel)data; // Sqlstr = string.Format(Sqlstr, "API : push", func.JsonSerialize(clsPushMultiCast.to), contents); // } } catch (Exception e) { // Write Log Exception ExecuteSQL("EXEC REST_KeepEventTransaction 'API : multicast[179]', 'CallApiMultiCast', '" + func.JsonSerialize(data) + "', '" + e.StackTrace + "'"); } finally { // Write Log Response ExecuteSQL(Sqlstr); } }