private async Task HandleNotificationMessages(Activity activity, ConnectorClient connector) { var toId = activity.From.Id; var toName = activity.From.Name; var fromId = activity.Recipient.Id; var fromName = activity.Recipient.Name; var serviceUrl = activity.ServiceUrl; var channelId = activity.ChannelId; var conversationId = activity.Conversation.Id; var messageConversation = string.Concat("Activity: ", toId, " toName: " + toName + " fromID: " + fromId + " fromName:", fromName + " serviceurl: " + serviceUrl + " channelid:" + channelId + " conversation: " + conversationId); Activity reply = activity.CreateReply(messageConversation); var botUserRegisterDto = new BoutUserRegisterDto { Activity = toId, ChannelId = channelId, Conversation = conversationId, FromID = fromId, FromName = fromName, UserName = toName, RegistryDate = DateTime.Now, ServiceUrl = serviceUrl }; var homeRestService = new HomeRestService(); await homeRestService.RegisterBotUser(botUserRegisterDto); await connector.Conversations.ReplyToActivityAsync(reply); }
private async Task <string> executeSmsHomeAction(string actionToExecute) { HomeRestService homeRestService = new HomeRestService(); var defaultResult = MessagesDialog.SmsActionNotUnderstanding; var result = await this.executeSmsHomeLightOnAction(actionToExecute, homeRestService); if (string.IsNullOrEmpty(result)) { result = await this.executeSmsHomeLightOffAction(actionToExecute, homeRestService); } if (string.IsNullOrEmpty(result)) { result = await this.executeSmsHomeBlindUpAction(actionToExecute, homeRestService); } if (string.IsNullOrEmpty(result)) { result = await this.executeSmsHomeBlindDownAction(actionToExecute, homeRestService); } if (string.IsNullOrEmpty(result)) { result = defaultResult; } return(result); }
public async Task ApagarDicho(IDialogContext context, LuisResult result) { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOnAllAction); var message = "Todas las luces de la casa encendida"; await context.PostAsync(message); context.Wait(MessageReceived); }
public async Task Temperatura(IDialogContext context, LuisResult result) { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.temperatureRequestAction); var typingMessage = context.MakeMessage(); typingMessage.Type = ActivityTypes.Typing; await context.PostAsync(typingMessage); }
public async Task CarteroBuzon(IDialogContext context, LuisResult result) { var authorizeAction = "entregarpaquetecartero"; HomeRestService homeRestService = new HomeRestService(); await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = authorizeAction, EMail = "*****@*****.**" }); await context.PostAsync(messageRequestAuthoration); context.Wait(MessageReceived); }
private async Task AfterUserHasChosenSubirPersianaOptionAsync(IDialogContext context, IAwaitable <string> result) { string message = string.Empty; var messageBody = string.Empty; string userChoice = await result; HomeRestService homeRestService = new HomeRestService(); if (userChoice.ToLower() == "cocina") { await homeRestService.ExecuteAction(HomeRestService.blindUpKitchenAction); message = "Persiana de la cocina subida"; } if (userChoice.ToLower() == "habitacion") { await homeRestService.ExecuteAction(HomeRestService.blindUpBedroomAction); message = "Persiana de la habitacion subida"; } if (userChoice.ToLower() == "buzón") { await homeRestService.ExecuteAction(HomeRestService.blindUpMailboxAction); message = "Persiana del buzón subida"; } if (userChoice.ToLower() == "todas") { await homeRestService.ExecuteAction(HomeRestService.blindUpAllAction); message = "Todas las ventanas subidas"; } await context.PostAsync(message); context.Wait(MessageReceived); }
private async Task AfterUserHasChosenBajarPersianaOptionAsync(IDialogContext context, IAwaitable <string> result) { string message = string.Empty; HomeRestService homeRestService = new HomeRestService(); string userChoice = await result; if (userChoice.ToLower() == "cocina") { await homeRestService.ExecuteAction(HomeRestService.blindDownKitchenAction); message = "Persiana de la cocina bajada"; } if (userChoice.ToLower() == "habitacion") { await homeRestService.ExecuteAction(HomeRestService.blindDownBedroomAction); message = "Persiana de la habitacion bajada"; } if (userChoice.ToLower() == "buzón") { await homeRestService.ExecuteAction(HomeRestService.blindDownMailboxAction); message = "Persiana del buzón bajada"; } if (userChoice.ToLower() == "todas") { await homeRestService.ExecuteAction(HomeRestService.blindDownAllAction); message = "Todas las persianas bajadas"; } await context.PostAsync(message); context.Wait(MessageReceived); }
public async Task ApagarElementoCasa(IDialogContext context, LuisResult result) { context.PrivateConversationData.SetValue("laststep", "apagarelementocasa"); var entities = result.Entities.ToList(); string message = string.Empty; if (entities.Where(m => m.Type == "espacio").FirstOrDefault() != null) { HomeRestService homeRestService = new HomeRestService(); var userCanPerformAction = homeRestService.CanUserPerformAction(context.Activity.From.Name); var entityEspacio = entities.Where(m => m.Type == "espacio").Select(n => n.Entity).FirstOrDefault(); if (entityEspacio == "cocina") { if (userCanPerformAction) { await homeRestService.ExecuteAction(HomeRestService.lightOffKitchenAction); message = "Luz de la cocina apagada"; } else { await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = "apagarluzcocina", EMail = "*****@*****.**" }); message = messageRequestAuthoration; } } if (entityEspacio == "baño") { if (userCanPerformAction) { await homeRestService.ExecuteAction(HomeRestService.lightOffBathRoomAction); message = "Luz del baño apagagada"; } else { await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = "apagarluzbaño", EMail = "*****@*****.**" }); message = messageRequestAuthoration; } } if (entityEspacio == "recibidor") { if (userCanPerformAction) { await homeRestService.ExecuteAction(HomeRestService.lightOffEntranceHallAction); message = "Luz del recibidor apagada"; } else { await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = "apagarluzrecibidor", EMail = "*****@*****.**" }); message = messageRequestAuthoration; } } if (entityEspacio == "habitacion" || entityEspacio == "habitación") { if (userCanPerformAction) { await homeRestService.ExecuteAction(HomeRestService.lightOffBedroomAction); message = "Luz de la habitación apagada"; } else { await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = "apagarluzhabitacion", EMail = "*****@*****.**" }); message = messageRequestAuthoration; } } var activityMessage = context.MakeMessage(); activityMessage.Type = ActivityTypes.Message; await context.PostAsync(message); } if (string.IsNullOrEmpty(message)) { var dialog = new PromptDialog.PromptChoice <string>(houseSpaces, "Que parte de la casa quieres apagar", "Esta no es una opción válida", 2); context.Call(dialog, AfterUserHasChoiceLedLowOption); } }
public async Task SubirPersiana(IDialogContext context, LuisResult result) { context.PrivateConversationData.SetValue("laststep", "subirventana"); string message = string.Empty; var entities = result.Entities.ToList(); if (entities.Where(m => m.Type == "espacio").FirstOrDefault() != null) { HomeRestService homeRestService = new HomeRestService(); var userCanPerformAction = homeRestService.CanUserPerformAction(context.Activity.From.Name); var entityEspacio = entities.Where(m => m.Type == "espacio").Select(n => n.Entity).FirstOrDefault(); if (entityEspacio == "cocina") { if (userCanPerformAction) { await homeRestService.ExecuteAction(HomeRestService.blindUpKitchenAction); message = "Persiana de la cocina subida"; } else { await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = "subirpersianacocina", EMail = "*****@*****.**" }); message = messageRequestAuthoration; } } if (entityEspacio == "habitacion" || entityEspacio == "habitación") { if (userCanPerformAction) { await homeRestService.ExecuteAction(HomeRestService.blindUpBedroomAction); message = "Persiana de la habitación subida"; } else { await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = "subirpersianahabitacion", EMail = "*****@*****.**" }); message = messageRequestAuthoration; } } if (entityEspacio == "buzon" || entityEspacio == "buzón") { if (userCanPerformAction) { await homeRestService.ExecuteAction(HomeRestService.blindUpMailboxAction); message = "Persiana del buzón subida"; } else { await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = "subirpersianabuzon", EMail = "*****@*****.**" }); message = messageRequestAuthoration; } } var activityMessage = context.MakeMessage(); activityMessage.Type = ActivityTypes.Message; await context.PostAsync(message); } else { var activity = context.MakeMessage(); activity.Text = "¿De que parte de la casa quieres subir la persiana?"; var dialog = new PromptDialog.PromptChoice <string>(new string[] { "Cocina", "Habitacion", "Buzón", "Todas" }, "¿De que parte de la casa quieres subir la persiana?", "Esta no es una opción válida", 2); context.Call(dialog, AfterUserHasChosenSubirPersianaOptionAsync); } }
private async Task AfterUserHasChoiceLedLowOption(IDialogContext context, IAwaitable <string> result) { var message = string.Empty; string userChoice = await result; string messageBody = string.Empty; HomeRestService homeRestService = new HomeRestService(); if (homeRestService.CanUserPerformAction(context.Activity.From.Name)) { if (userChoice.ToLower() == "cocina") { await homeRestService.ExecuteAction(HomeRestService.lightOffKitchenAction); message = "Luz de la cocina apagada"; } if (userChoice.ToLower() == "baño") { await homeRestService.ExecuteAction(HomeRestService.lightOffBathRoomAction); message = "Luz del baño apagada"; } if (userChoice.ToLower() == "recibidor") { await homeRestService.ExecuteAction(HomeRestService.lightOffEntranceHallAction); message = "Luz del recibidor apagada"; } if (userChoice.ToLower() == "habitacion") { await homeRestService.ExecuteAction(HomeRestService.lightOffBedroomAction); message = "Luz de la habitación apagada"; } if (userChoice.ToLower() == "todas") { await homeRestService.ExecuteAction(HomeRestService.lightOffAllAction); message = "Todas las luces de la casa apagadas."; } } else { var authorizeAction = string.Empty; if (userChoice.ToLower() == "cocina") { authorizeAction = "apagarluzcocina"; } if (userChoice.ToLower() == "baño") { authorizeAction = "apagarluzbaño"; } if (userChoice.ToLower() == "recibidor") { authorizeAction = "apagarluzrecibidor"; } if (userChoice.ToLower() == "habitacion") { authorizeAction = "apagarluzrecibidor"; } await homeRestService.MakeAuthyRequest(new AuthyRequestDto { UserRequest = context.Activity.From.Name, ActionToTake = authorizeAction, EMail = "*****@*****.**" }); message = "Hemos enviado una petición a Padre Bic para que autorice esta acción"; var typingMessage = context.MakeMessage(); typingMessage.Type = ActivityTypes.Typing; await context.PostAsync(typingMessage); } await context.PostAsync(message); context.Wait(MessageReceived); }
private async Task <string> takeAction(string text) { var result = string.Empty; var luisService = new LuisService(); var resultado = await luisService.MakeRequest(text); // encender if (resultado == "encendercocina") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOnKitchenAction); return("Luz de la cocina encendida"); } if (resultado == "encenderbaño") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOnBathRoomAction); return("Luz del baño encendida"); } if (resultado == "encenderrecibidor") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOnEntranceHallAction); return("Luz del recibidor encendida"); } if (resultado == "encenderhabitacion") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOnBedroomAction); return("Luz de la habitación encendida"); } //apagar if (resultado == "apagarcocina") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOffKitchenAction); return("Luz de la cocina apagada"); } if (resultado == "apagarbaño") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOffBathRoomAction); return("Luz del baño apagada"); } if (resultado == "apagarrecibidor") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOffEntranceHallAction); return("Luz del recibidor apagada"); } if (resultado == "apagarhabitacion") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOffBedroomAction); return("Luz de la habitación apagada"); } if (resultado == "apagartodo") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOffAllAction); return("Apagadas todas las luces de la casa"); } // bajar persiana if (resultado == "bajarpersianacocina") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.blindDownKitchenAction); return("Bajada la persiana de la cocina"); } if (resultado == "bajarpersianahabitacion") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.blindDownBedroomAction); return("Bajada la persiana de la habitación"); } if (resultado == "bajarpersianabuzon") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.blindDownMailboxAction); return("Bajada la persiana del buzón"); } // subir persiana if (resultado == "subirpersianacocina") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.blindUpKitchenAction); return("Subida la persiana de la cocina"); } if (resultado == "subirpersianahabitacion") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.blindUpBedroomAction); return("Subida la persiana de la habitación"); } if (resultado == "subirpersianabuzon") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.blindDownMailboxAction); return("Subida la persiana del buzón"); } if (resultado == "carteropaquete") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.mailUserRequestAction); return("Por favor deposita el paquete en el buzón"); } if (resultado == "encendertodo") { HomeRestService homeRestService = new HomeRestService(); await homeRestService.ExecuteAction(HomeRestService.lightOnAllAction); return("Encendidas todas las luces de la casa"); } return(resultado); }
private async Task <string> executeSmsHomeBlindDownAction(string actionToExecute, HomeRestService homeRestService) { string message = string.Empty; if (actionToExecute.ToLower() == SmsMessage.BlindDownHomme) { await homeRestService.ExecuteAction(HomeRestService.blindDownAllAction); message = MessagesDialog.BlindDownHomeAll; } if (actionToExecute.ToLower() == SmsMessage.BlindDownKitchen) { await homeRestService.ExecuteAction(HomeRestService.blindDownKitchenAction); message = MessagesDialog.BlindDownKitchen; } if (actionToExecute.ToLower() == SmsMessage.BlindDownMailBox) { await homeRestService.ExecuteAction(HomeRestService.blindDownMailboxAction); message = MessagesDialog.BlindDownMailbox; } if (actionToExecute.ToLower() == SmsMessage.BlindDownBedRoom || actionToExecute.ToLower() == SmsMessage.BlindDownBedRoomAlternative) { await homeRestService.ExecuteAction(HomeRestService.blindDownBedroomAction); message = MessagesDialog.BlindDownBedroom; } return(message); }
private async Task <string> executeSmsHomeLightOffAction(string actionToExecute, HomeRestService homeRestService) { string message = string.Empty; if (actionToExecute.ToLower() == SmsMessage.LightOffHome) { await homeRestService.ExecuteAction(HomeRestService.lightOffAllAction); message = MessagesDialog.LightOffHomeMessage; } if (actionToExecute.ToLower() == SmsMessage.LightOffBathRoom) { await homeRestService.ExecuteAction(HomeRestService.lightOffBathRoomAction); message = MessagesDialog.LightOffBathroomMessage; } if (actionToExecute.ToLower() == SmsMessage.LightOffEntranceHall) { await homeRestService.ExecuteAction(HomeRestService.lightOffEntranceHallAction); message = MessagesDialog.LightOffEntranceHallMessage; } if (actionToExecute.ToLower() == SmsMessage.LightOffbedroom || actionToExecute.ToLower() == SmsMessage.LightOffbedroomAlternative || actionToExecute.ToLower() == SmsMessage.LightOffbedroomOtherAlternative) { await homeRestService.ExecuteAction(HomeRestService.lightOffBedroomAction); message = MessagesDialog.LightOnBathroomMessage; } if (actionToExecute.ToLower() == SmsMessage.LightOffKitchen) { await homeRestService.ExecuteAction(HomeRestService.lightOffKitchenAction); message = MessagesDialog.LightOffKitchenMessage; } return(message); }