public IActionResult ShortURLNotLogin(ShortUrls url) { string URL = ""; Random rand = new Random(); for (int i = 0; i < 11; i++) { int random = rand.Next(0, 3); if (random == 1) { random = rand.Next(0, numbers.Count); URL += numbers[random].ToString(); } else { random = rand.Next(0, characters.Count); URL += characters[random].ToString(); } } var x = new ShortUrls { Title = url.Title, ShortUrl = URL, Url = url.Url, UserId = 0, CreatedAt = DateTime.Now }; _AppDbContext.Add(x); _AppDbContext.SaveChanges(); return(Ok(new { shorturl = URL })); }
public async Task <IActionResult> Save(EditViewModel model) { if (!ModelState.IsValid) { return(await Edit(model)); } var groupInfo = _userHelperService.GetSelectedGroup(User); ShortUrls shortUrl = null; if (!model.Id.HasValue) { shortUrl = new ShortUrls() { IdGroup = groupInfo.Key, DtAdd = DateTime.UtcNow }; await _context.ShortUrls.AddAsync(shortUrl); } else { shortUrl = await _context.ShortUrls.FindAsync(model.Id.Value); } shortUrl.Name = model.Name; shortUrl.RedirectTo = model.RedirectTo; shortUrl.IsSubscriberRequired = model.IsSubscriberRequired; shortUrl.IsSingleClick = model.IsSingleClick; shortUrl.IdChain = (model.AddToChain && model.IsSubscriberRequired) ? model.IdChain : null; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public IActionResult ShortURL(ShortUrls url) { var token = Request.Headers["Authorization"]; token = token.ToString().Substring(7); var jwtSecrTokenHandler = new JwtSecurityTokenHandler(); var secrToken = jwtSecrTokenHandler.ReadToken(token) as JwtSecurityToken; var username = secrToken?.Claims.First(claim => claim.Type == "sub").Value; Console.WriteLine(token); Console.WriteLine(username); Console.WriteLine(Request.Cookies["username"]); Console.WriteLine("COBA"); Console.WriteLine(url.ShortUrl); Console.WriteLine("COBA"); var cookie = ""; if (Request.Cookies["Username"] != null) { cookie = Request.Cookies["Username"]; } var id = from i in _AppDbContext.users where i.Username == username select i; int idUserLogin = 0; foreach (var i in id) { idUserLogin = i.Id; } if (url.ShortUrl == "") { string URL = ""; Random rand = new Random(); for (int i = 0; i < 11; i++) { int random = rand.Next(0, 3); if (random == 1) { random = rand.Next(0, numbers.Count); URL += numbers[random].ToString(); } else { random = rand.Next(0, characters.Count); URL += characters[random].ToString(); } } var x = new ShortUrls { Title = url.Title, ShortUrl = URL, Url = url.Url, UserId = idUserLogin, CreatedAt = DateTime.Now }; _AppDbContext.Add(x); _AppDbContext.SaveChanges(); return(Ok(new { shorturl = URL })); } else { string URL = url.ShortUrl; var x = new ShortUrls { Title = url.Title, ShortUrl = url.ShortUrl, Url = url.Url, UserId = idUserLogin, CreatedAt = DateTime.Now }; _AppDbContext.Add(x); _AppDbContext.SaveChanges(); return(Ok(new { shorturl = url.ShortUrl })); } }