private async Task SendNotificationAsync() { try { ReadRepository ReadRepository = new ReadRepository(); var events = await ReadRepository.GetNextEvents(); if (events == null && events.Count > 0) { return; } ToastNotifier notifier = ToastNotificationManager.CreateToastNotifier(); XmlDocument content = ToastNotificationManager.GetTemplateContent( ToastTemplateType.ToastImageAndText01); var texts = content.GetElementsByTagName("text"); texts[0].InnerText = $"Usted tiene un evento próximo!!"; texts[1].InnerText = $"El evento {events.First().Title} , se realizara el dia {events.First().Date.ToLocalTime()}"; var image = content.GetElementsByTagName("image"); image[0].InnerText = events.First().Image; notifier.Show(new ToastNotification(content)); } catch (Exception ex) { throw; } }
private static async Task HandleReadEventsCommandAsync(VoiceCommandServiceConnection connection) { try { ReadRepository ReadRepository = new ReadRepository(); //Genero un mensaje de espera para que el usuario vea var userMessage = new VoiceCommandUserMessage(); userMessage.DisplayMessage = "Buscando eventos próximos .."; userMessage.SpokenMessage = "Buscando eventos próximos "; var response = VoiceCommandResponse.CreateResponse(userMessage); await connection.ReportProgressAsync(response); var today = DateTime.Now.Date; var notices = await ReadRepository.GetNextEvents(); if (notices.Count > 1) { userMessage.SpokenMessage = userMessage.DisplayMessage = $"El dia de hoy se realizan {notices.Count} eventos"; var tile = new VoiceCommandContentTile(); tile.ContentTileType = VoiceCommandContentTileType.TitleOnly; var titleList = new List <VoiceCommandContentTile>(); var count = 0; foreach (var noticeModel in notices) { if (count <= 5) { titleList.Add(new VoiceCommandContentTile { Title = noticeModel.Title.ToString(), ContentTileType = VoiceCommandContentTileType.TitleWithText, TextLine1 = noticeModel.Date.ToString() }); ++count; } } response = VoiceCommandResponse.CreateResponse(userMessage, titleList); await connection.ReportProgressAsync(response); } else { if (notices != null) { userMessage.SpokenMessage = userMessage.DisplayMessage = $"Usted tiene {notices.First().Title} eventos próximos"; response = VoiceCommandResponse.CreateResponse(userMessage); } } await connection.ReportSuccessAsync(response); } catch (Exception ex) { throw; } }
//Muestro una noticia random private static async Task <EventModel> GetRandomNotice() { ReadRepository ReadRepository = new ReadRepository(); var noticeInDay = await ReadRepository.GetNextEvents(); var random = new Random(); var number = random.Next(0, noticeInDay.Count - 1); return(noticeInDay[number]); }