Пример #1
0
        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());
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }