public ActionResult Edit(MessageEditViewModel model) { using (AlexaSkillEntities db = new AlexaSkillEntities()) { if (model.MessageId != 0) { IntentMessage message = db.IntentMessages.FirstOrDefault(x => x.Id == model.MessageId); if (message != null) { message.Message = model.Message; } } else { IntentMessage message = new IntentMessage() { Message = model.Message, IntentId = model.IntentId }; db.IntentMessages.Add(message); } db.SaveChanges(); } return(RedirectToAction("Detail", "Intent", new { id = model.IntentId })); }
/// <summary> /// Called when the intent has been recognized /// </summary> /// <param name="intent"></param> /// <param name="session"></param> /// <returns></returns> public async Task OnIntentAsync(IntentMessage intent, Session session) { //Check the Slots in intent //Finish the session await _snipsApi.EndSessionAsync(intent.SessionId, "Test is Done!"); }
public IActionResult SendIntent([FromBody] IntentMessage param) { IpcMessage ipcMessage = new IpcMessage() { Body = JsonConvert.SerializeObject(param) }; this.mPseudoFrontentIpcMessageBridge.Invoke("PIXS_INTENT_MESSAGE", ipcMessage); return(Ok()); }
public void SelectAction(Action action, int turnCount) { if (ws == null || !ws.IsConnected()) { Debug.LogError("No connection to send message to"); return; } // TODO pass turn count string message = IntentMessage.MakeIntentMessage(action, turnCount); ws.SendString(message); }
public ActionResult Delete(int id) { MessageEditViewModel model = new MessageEditViewModel(); using (AlexaSkillEntities db = new AlexaSkillEntities()) { IntentMessage message = db.IntentMessages.FirstOrDefault(x => x.Id == id); List <IntentMessagesRead> reads = db.IntentMessagesReads.Where(x => x.IntentMessageId == id).ToList(); db.IntentMessagesReads.RemoveRange(reads); db.IntentMessages.Remove(message); db.SaveChanges(); return(RedirectToAction("Detail", "Intent", new { id = message.IntentId })); } }
public ActionResult DeleteConfirm(int id) { MessageEditViewModel model = new MessageEditViewModel(); using (AlexaSkillEntities db = new AlexaSkillEntities()) { IntentMessage message = db.IntentMessages.FirstOrDefault(x => x.Id == id); if (message != null) { model.MessageId = message.Id; model.Message = message.Message; model.IntentId = message.IntentId; model.SkillId = message.Intent.SkillId; } } return(View(model)); }
public IntentMessageModel GetIntentMessage(string applicationId, string intentName, string userId) { int skillId = GetSkillId(applicationId); IntentMessage newMessage = null; using (var db = new AlexaSkillEntities()) { Intent intent = db.Intents.FirstOrDefault(x => x.Name == intentName && x.SkillId == skillId); if (intent != null) { List <IntentMessage> messages = intent.IntentMessages.ToList(); if (messages.Count == 0) { return(null); } List <int> readedIds = db.IntentMessagesReads.Where(x => x.UserId == userId).Select(x => x.IntentMessageId).ToList(); //Never Read List <IntentMessage> unreadMessages = messages.Where(x => !readedIds.Contains(x.Id)).ToList(); if (unreadMessages.Count > 0) { newMessage = GetRandomMessage(unreadMessages); db.IntentMessagesReads.Add(new IntentMessagesRead() { IntentMessageId = newMessage.Id, UserId = userId, ReadSecond = false }); db.SaveChanges(); return(new IntentMessageModel() { Mesasge = newMessage.Message, ShouldEndSession = intent.ShouldEndSession }); } ; //Not 2 times read unreadMessages = messages.Where(x => x.IntentMessagesReads.Any(y => y.UserId == userId && y.ReadSecond == false)).ToList(); if (unreadMessages.Count > 0) { newMessage = GetRandomMessage(unreadMessages); IntentMessagesRead readedMessage = db.IntentMessagesReads.FirstOrDefault(x => x.IntentMessageId == newMessage.Id); if (readedMessage != null) { readedMessage.ReadSecond = true; db.SaveChanges(); } return(new IntentMessageModel() { Mesasge = newMessage.Message, ShouldEndSession = intent.ShouldEndSession }); } //All read 2 times newMessage = GetRandomMessage(messages); List <int> messageIds = messages.Select(person => person.Id).ToList(); List <IntentMessagesRead> readedMessages = db.IntentMessagesReads.Where(x => x.UserId == userId && messageIds.Contains(x.IntentMessageId)).ToList(); foreach (IntentMessagesRead readedMessage in readedMessages) { if (newMessage.Id != readedMessage.IntentMessageId) { readedMessage.ReadSecond = false; } } db.SaveChanges(); return(new IntentMessageModel() { Mesasge = newMessage.Message, ShouldEndSession = intent.ShouldEndSession }); } } return(null); }