private void ReceiveMessage(UserActionMessage message) { var mg = message; if (mg.ActionType == UserActionType.Postback) { var data = JsonConvert.DeserializeObject <ActionData>(mg.Postback.Data); if (data.Name == CommandNames.ApplyCommand) { var rUser = WebApp.Current.DatabaseCache.User.SelectBy_LineID(mg.Source.ID); var dc = new OfferDataContext(rUser.UserCD); var gg = new List <Guid>(); gg.Add(Guid.Parse(data.Value)); var l = new List <OfferDataContext.Entry_Result_Edit_Record>(); if (data.Method == nameof(OfferEntryResult.Elected)) { l = dc.Entry_Result_Edit(OfferEntryResult.Elected, gg.ToArray()); } else if (data.Method == nameof(OfferEntryResult.Rejected)) { l = dc.Entry_Result_Edit(OfferEntryResult.Rejected, gg.ToArray()); } var cl = new LineBotClient(); foreach (var r in l) { cl.SendElectedMessage(r, WebApp.Current.TextManager.Copy(rUser.Language)); } } if (data.Name == CommandNames.EntryScheduleAcceptCommand) { if (data.Method == "Accept") { var rUser = WebApp.Current.DatabaseCache.User.SelectBy_LineID(mg.Source.ID); var scheduleCD = Guid.Parse(data.Value); var dc = new OfferDataContext(rUser.UserCD); dc.Entry_Schedule_Accept(scheduleCD); var rOffer = dc.DOffer_SelectBy_ScheduleCD(scheduleCD); var tm = WebApp.Current.TextManager; var cl = new LineBotClient(); //Send to Instagramer cl.SendMessage(mg.Source.ID, tm.Text(TextKey.ScheduleIsAccepted) + Environment.NewLine + "https://www.stargramer.com/User/Offer/List"); //Send to shop person var rShop = WebApp.Current.DatabaseCache.Shop.SelectByPrimaryKey(rOffer.ShopCD); if (rShop.LineID.IsNullOrEmpty() == false) { cl.SendMessage(rShop.LineID, tm.Text(TextKey.ScheduleAcceptCompletedAndSendMessageToInstagramer)); } } else if (data.Method == "Deny") { } } } }
public static void SendElectedMessage(this LineBotClient client, OfferDataContext.Entry_Result_Edit_Record record, TextManager textManager) { var r = record; var cl = client; var tm = textManager; cl.SendMessage(r.LineID, tm.Text(TextKey.YourEntryElected)); var url = String.Format("{0}/Offer/{1}/View", StargramerUrlInfo.WebSiteUrl, r.OfferCD); cl.SendMessage(r.LineID, tm.Text(TextKey.PleaseInputScheduleCandidate) + Environment.NewLine + url); }
public async Task <HttpResponseMessage> Post() { try { var contentString = await Request.Content.ReadAsStringAsync(); dynamic contentObj = JsonConvert.DeserializeObject(contentString); var result = contentObj.result[0]; //Change Your ChannelID ChannelSecret MID LineBotClient LineBot = new LineBotClient("{ChannelID}", "{ChannelSecret}", "{MID}"); LineBot.PostAsJsonAsync(result); return(new HttpResponseMessage(System.Net.HttpStatusCode.OK)); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e); return(new HttpResponseMessage(System.Net.HttpStatusCode.InternalServerError)); } }