示例#1
0
        public async Task <IActionResult> Create([Bind("IdEquipo,NombreEquipo")] Equipo equipo)
        {
            if (ModelState.IsValid)
            {
                _context.Add(equipo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(equipo));
        }
示例#2
0
        public async Task <IActionResult> Create([Bind("IdJugador,NombreJugador,Edad,IdEquipo")] Jugador jugador)
        {
            if (ModelState.IsValid)
            {
                _context.Add(jugador);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdEquipo"] = new SelectList(_context.Equipos, "IdEquipo", "IdEquipo", jugador.IdEquipo);
            return(View(jugador));
        }
示例#3
0
        public async Task <IActionResult> Post([FromBody] JObject body)
        {
            dynamic jsonObj      = body;
            string  pushEndpoint = (string)jsonObj.endpoint;

            if (string.IsNullOrWhiteSpace(pushEndpoint))
            {
                return(BadRequest());
            }

            var subscription = await _dbContext.PushSubscriptions.FromSql(
                @"SELECT * FROM ""PushSubscriptions"" WHERE (""Data""->>'endpoint')::TEXT = {0}",
                pushEndpoint
                )
                               .SingleOrDefaultAsync()
                               .ConfigureAwait(false);

            if (subscription != null)
            {
                _dbContext.PushSubscriptions.Remove(subscription);
                await _dbContext.SaveChangesAsync()
                .ConfigureAwait(false);
            }

            return(Ok());
        }
示例#4
0
        private async Task RemoveSubscription(Data.PushSubscription subscription,
                                              CancellationToken cancellationToken = default)
        {
            var sub = await _dbContext.PushSubscriptions
                      .SingleAsync(s => s.Id == subscription.Id, cancellationToken)
                      .ConfigureAwait(false);

            _dbContext.Remove(sub);
            await _dbContext.SaveChangesAsync(cancellationToken)
            .ConfigureAwait(false);
        }
示例#5
0
        public async Task <IActionResult> Post([FromBody] JObject body)
        {
            dynamic jsonObj      = body;
            string  pushEndpoint = (string)jsonObj.endpoint;
            string  p256dh       = (string)jsonObj.keys?.p256dh;
            string  auth         = (string)jsonObj.keys?.auth;

            string payload = JsonConvert.SerializeObject(new PushNotification
            {
                Title   = "Nice! You are subscribed to push notifications.",
                Options = new PushNotificationOptions
                {
                    Icon = "favicon.ico",
                }
            });

            string json = body.ToString();

            await _dbContext.PushSubscriptions.AddAsync(new Data.PushSubscription
            {
                Data = json,
            });

            await _dbContext.SaveChangesAsync();

            var webPushClient = new WebPushClient();

            try
            {
                var subscription = new PushSubscription(pushEndpoint, p256dh, auth);

                await webPushClient.SendNotificationAsync(subscription, payload, _vapidDetails);
            }
            catch (WebPushException exception)
            {
                Console.WriteLine("Http STATUS code" + exception.StatusCode);
            }

            return(Ok());
        }