public IActionResult Edit(int bookId)
        {
            var db      = new software_engineering_projectContext();
            var book_db = db.Books.FirstOrDefault(x => x.BookId == bookId);

            return(View("Edit", book_db));
        }
        public IActionResult Index()

        {
            var db = new software_engineering_projectContext();

            return(View(MapBooks(db.Books.ToList())));
        }
        public IActionResult Edit(int bookId, Books book)
        {
            var db      = new software_engineering_projectContext();
            var book_db = db.Books.FirstOrDefault(x => x.BookId == bookId);

            if (book_db != null)
            {
                book_db.Author      = book.Author;
                book_db.Description = book.Description;
                book_db.Name        = book.Name;
                book_db.Price       = book.Price;
                book_db.Thumbnail   = book.Thumbnail;
            }
            else
            {
                db.Books.Add(new Books()
                {
                    Author      = book.Author,
                    Name        = book.Name,
                    Price       = book.Price,
                    Description = book.Description,
                    Thumbnail   = book.Thumbnail
                });
            }

            db.SaveChanges();

            return(RedirectToActionPermanent("Index", "Books"));
        }
Esempio n. 4
0
        public IActionResult Index(Registration register)
        {
            //return error

            string error = string.Empty;


            if (!ModelState.IsValid)
            {
                return(View());
            }

            bool containtsUpper   = register.Password.Any(x => Char.IsLetter(x) && Char.IsUpper(x));
            bool containtsLower   = register.Password.Any(x => Char.IsLetter(x) && Char.IsLower(x));
            bool containtsSpecial = register.Password.Any(x => Char.IsPunctuation(x) || char.IsSymbol(x));

            if (containtsLower && containtsUpper && containtsSpecial)
            {
                // Save to database
                using (var db = new software_engineering_projectContext())
                {
                    db.User.Add(new User()
                    {
                        FirstName = register.FirstName,
                        LastName  = register.LastName,
                        Email     = register.Email,
                        Address   = register.Address,
                        Password  = register.Password,
                        Phone     = register.Phone,
                        UserName  = register.UserName
                    });

                    db.SaveChanges();
                }

                // Return a message
                ViewBag.Message = "Account Created";
                return(RedirectToAction("Index", "Home"));
            }

            if (!containtsLower)
            {
                error = error + " Password must contain a lower case letter ";
            }

            if (!containtsUpper)
            {
                error = error + " Password must contain a upper case letter ";
            }

            if (!containtsSpecial)
            {
                error = error + " Password must contain a special character ";
            }

            ViewBag.Error = error;
            return(View());
        }
        public IActionResult Index(LoginModel loginDetails)
        {
            User user = null;

            var db = new software_engineering_projectContext();

            user = db.User.FirstOrDefault(x => x.UserName.ToLower() == loginDetails.UserName.ToLower());


            if (user != null)
            {
                if (user.IsLocked == 1)
                {
                    ViewBag.Error = "Your account is locked!";
                }
                else
                {
                    if (user.Password == loginDetails.Password)
                    {
                        user.FailedAttempts = 0;
                        db.SaveChanges();

                        HttpContext.Session.SetString("User", JsonSerializer.Serialize(user));

                        return(RedirectToActionPermanent("Index", "Books"));
                    }
                    else
                    {
                        user.FailedAttempts += 1;
                        db.SaveChanges();
                    }

                    if (user.FailedAttempts == 3)
                    {
                        user.IsLocked = 1;
                        db.SaveChanges();

                        ViewBag.Error = "You have exceeded maximum login attempts. Your account is blocked";
                    }
                    else
                    {
                        ViewBag.Error = "Invalid User Name or Password";
                    }
                }
                return(View());
            }

            ViewBag.Error = "Invalid User Name or Password";

            return(View());
        }