public async Task <IActionResult> OnGetAsync(long?id) { if (id == null) { return(NotFound()); } Urlshortener = await _context.Urlshortener.FirstOrDefaultAsync(m => m.AutoId == id); if (Urlshortener == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(long?id) { if (id == null) { return(NotFound()); } Urlshortener = await _context.Urlshortener.FindAsync(id); if (Urlshortener != null) { _context.Urlshortener.Remove(Urlshortener); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <ActionResult <Urlshortener> > RefreshToken(long id) { const string splittor = @"://"; // Urlshortener shortener = await _context.Urlshortener.FirstOrDefaultAsync <Urlshortener>(u => u.AutoId == id); if (shortener != null) { // string newToken = GenerateToken(); while (_context.Urlshortener.FirstOrDefault <Urlshortener>(u => u.Token.Equals(newToken)) != null) { newToken = GenerateToken(); } // shortener.Token = newToken; // shortener.ShortUrl = shortener.Url.Split(splittor)[0] + splittor + shortener.Token; _context.Attach(shortener).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { return(new JsonResult("500 Internal Server Error.")); } return(Redirect("/Urlshorteners/Edit/?id=" + id)); } else { return(NotFound()); } }
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()); } }
public async Task <ActionResult <Urlshortener> > PostUrlshortener(Urlshortener urlshortener) { const string splittor = @"://"; // string newToken = GenerateToken(); while (_context.Urlshortener.FirstOrDefault <Urlshortener>(u => u.Token.Equals(newToken)) != null) { newToken = GenerateToken(); } // Urlshortener newItem = new Urlshortener(); newItem.Url = urlshortener.Url; newItem.CreatedTimeStamp = DateTime.Now; newItem.ExpiredDateTime = urlshortener.ExpiredDateTime; newItem.Token = newToken; // int i = urlshortener.Url.IndexOf(splittor); if (i == -1) { newItem.Url = @"http://" + newItem.Url; } newItem.ShortUrl = newItem.Url.Split(splittor)[0] + splittor + newItem.Token; // _context.Urlshortener.Add(newItem); await _context.SaveChangesAsync(); return(CreatedAtAction("GetUrlshortener", new { id = newItem.AutoId }, newItem)); }