public IActionResult Signup(User user, string password) { var db = new BitlyManager(_connectionString); db.AddUser(user, password); return(RedirectToAction("Login", "Account")); }
public IActionResult MyUrl() { var db = new BitlyManager(_connectionString); User user = db.GetByEmail(User.Identity.Name); List <Bitly> bitlies = db.GetBitlyForUser(user.Id); return(View(bitlies)); }
public IActionResult GoToUrl(string hash) { var db = new BitlyManager(_connectionString); Bitly bitly = db.GetBitlyForHash(hash); db.AddView(bitly.Id, bitly.Views); return(Redirect(bitly.Url)); }
public IActionResult Login(string email, string password) { var db = new BitlyManager(_connectionString); var user = db.Login(email, password); if (user == null) { return(RedirectToAction("Login")); } var claims = new List <Claim> { new Claim("user", email) }; HttpContext.SignInAsync(new ClaimsPrincipal( new ClaimsIdentity(claims, "Cookies", "user", "role"))).Wait(); return(Redirect("/home/index")); }
public IActionResult ShortenUrl(string url) { var db = new BitlyManager(_connectionString); string hash = ShortId.Generate(7); while (db.CheckIfContainedHash(hash)) { hash = ShortId.Generate(7); } Bitly bitly = new Bitly(); bitly.Url = url; bitly.Hash = hash; if (User.Identity.IsAuthenticated) { User user = db.GetByEmail(User.Identity.Name); bitly.UserId = user.Id; } db.AddBitly(bitly); string h = "https://localhost:44372/" + hash; return(Json(h)); }