Exemple #1
0
        public async Task <IActionResult> Push(ExternalRequest request)
        {
            dupBubbleMulticast         bubble   = new dupBubbleMulticast();
            dupBubbleMulticastNoFooter nofooter = new dupBubbleMulticastNoFooter();

            DAC.REST_KeepEventTransaction("PushMessage", func.JsonSerialize(request), "Push", "[364]");
            string strmessage = template.MessageAlertTaskList();

            // Get Data for string format
            dt = new DataTable();
            dt = DAC.REST_GetApplicationInformation(request.AppNo);
            if (dt.Rows.Count > 0)
            {
                DateTime date = Convert.ToDateTime(dt.Rows[0]["Application_CreateDate"].ToString());
                strmessage = string.Format(
                    strmessage,
                    dt.Rows[0]["Application_DealerName"].ToString(),
                    dt.Rows[0]["Application_No"].ToString(),
                    date.ToString("dd/MM/yyyy HH:mm"),
                    dt.Rows[0]["Application_CustomerName"].ToString(),
                    dt.Rows[0]["Area"].ToString(),
                    dt.Rows[0]["Application_PhoneNumber"].ToString(),
                    dt.Rows[0]["Application_DealerCode"].ToString(),
                    dt.Rows[0]["Dealer_BranchCode"].ToString(),
                    dt.Rows[0]["PhoneNumber"].ToString()
                    );
                dt = new DataTable();
                dt = DAC.REST_GetCheckerList(request.AppNo);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    bubble   = new dupBubbleMulticast();
                    nofooter = new dupBubbleMulticastNoFooter();
                    if (dt.Rows[i]["action"].ToString() == "NoFooter")
                    {
                        try
                        {
                            nofooter = api.SetBubbleMessageMultiCastNoFooter(strmessage, request.AppNo);
                            nofooter.to.Add(dt.Rows[i]["User_LineUserId"].ToString());
                            await api.CallApiMultiCast(nofooter);

                            DAC.REST_KeepEventTransaction("PushMessage : NoFooter", func.JsonSerialize(nofooter.to), "Push", "[395]");
                        }
                        catch (Exception e)
                        {
                            DAC.REST_KeepEventTransaction("PushMessage : NoFooter", func.JsonSerialize(nofooter.to), "Push", e.StackTrace);
                        }
                    }
                    else
                    {
                        try
                        {
                            bubble = api.SetBubbleMessageMultiCast(strmessage, request.AppNo);
                            bubble.to.Add(dt.Rows[i]["User_LineUserId"].ToString());
                            await api.CallApiMultiCast(bubble);

                            DAC.REST_KeepEventTransaction("PushMessage : haveFooter", func.JsonSerialize(bubble.to), "Push", "[409]");
                        }
                        catch (Exception e)
                        {
                            DAC.REST_KeepEventTransaction("PushMessage : haveFooter", func.JsonSerialize(bubble.to), "Push", e.StackTrace);
                        }
                    }
                }
            }


            return(Ok());
        }