public IActionResult Signup(User user, string password)
        {
            var db = new BitlyManager(_connectionString);

            db.AddUser(user, password);
            return(RedirectToAction("Login", "Account"));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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"));
        }
Exemple #5
0
        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));
        }