public async Task <ActionResult <Urlshortener> > UrlRedirect([FromRoute] string token)
        {
            Urlshortener shortener = await _context.Urlshortener.FirstOrDefaultAsync <Urlshortener>(u => u.Token.Equals(token));

            if (shortener != null)
            {
                if (shortener.ExpiredDateTime == null || shortener.ExpiredDateTime > DateTime.Now)
                {
                    //
                    if (shortener.Clicked == null)
                    {
                        shortener.Clicked = 0;
                    }

                    //
                    shortener.Clicked += 1;
                    _context.Attach(shortener).State = EntityState.Modified;
                    try
                    {
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        return(new JsonResult("500 Internal Server Error."));
                    }

                    return(Redirect(shortener.Url));
                }
                else
                {
                    return(new JsonResult(token + " has expired."));
                }
            }
            else
            {
                return(NotFound());
            }
        }
Ejemplo n.º 2
0
 public Restaurant UpdateRestaurant(Restaurant rest)
 {
     _context.Attach(rest).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
     _context.SaveChanges();
     return(rest);
 }