Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        //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]);
        }