Esempio n. 1
0
        public ActionResult SendProduct(ProductQuantityModel model)
        {
            if (Session["UserID"] == null)
            {
                return(RedirectToAction("Login"));
            }

            if (model == null)
            {
                return(View());
            }

            using (var context = new WareHouseEntities())
            {
                var userID = Session["UserID"];
                var user   = context.Users.Find(userID);

                if (user != null)
                {
                    user.Quantity += model.Quantity;
                    context.SaveChanges();

                    ViewBag.Message = "Quantity " + model.Quantity + " was added successfully. Total quantity now is: " + user.Quantity;
                    return(Json(new { Error = false, Message = "Quantity " + model.Quantity + " was added successfully. Total quantity now is: " + user.Quantity }, JsonRequestBehavior.AllowGet));
                }

                return(Json(new { Error = true, Message = "Error in adding quantity." }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 2
0
        public ActionResult SaveUser(NewUserModel model)
        {
            if (model == null)
            {
                return(Json(new { Error = true, Message = "Fill all the input fields." }, JsonRequestBehavior.AllowGet));
            }

            if (string.IsNullOrWhiteSpace(model.UserName) || string.IsNullOrWhiteSpace(model.Password) || string.IsNullOrWhiteSpace(model.ConfirmPassword))
            {
                return(Json(new { Error = true, Message = "Fill all the input fields." }, JsonRequestBehavior.AllowGet));
            }

            if (model.Password.Length < 6)
            {
                return(Json(new { Error = true, Message = "Password has to be at least 6 characters long." }, JsonRequestBehavior.AllowGet));
            }

            if (model.Password != model.ConfirmPassword)
            {
                return(Json(new { Error = true, Message = "Confirm password does not match password." }, JsonRequestBehavior.AllowGet));
            }

            string hash = "";

            using (MD5 md5Hash = MD5.Create())
            {
                hash = GetMd5Hash(md5Hash, model.Password);
            }

            if (hash == "")
            {
                return(Json(new { Error = true, Message = "Error in adding user." }, JsonRequestBehavior.AllowGet));
            }

            //check if username is in use
            using (var context = new WareHouseEntities())
            {
                var users = context.Users;

                var userNameTaken = users.FirstOrDefault(x => x.UserName == model.UserName) != null;

                if (userNameTaken)
                {
                    return(Json(new { Error = true, Message = "User name is taken." }, JsonRequestBehavior.AllowGet));
                }

                User newUser = new User()
                {
                    UserName = model.UserName,
                    Password = hash,
                    Quantity = 0
                };

                context.Users.Add(newUser);
                context.SaveChanges();

                return(Json(new { Error = false, Message = "User created successfully." }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 3
0
        public ActionResult Login(LoginModel model)
        {
            if (model == null)
            {
                return(Json(new { Error = true, Message = "Fill the login info." }, JsonRequestBehavior.AllowGet));
            }

            using (var context = new WareHouseEntities())
            {
                var user = context.Users.FirstOrDefault(x => x.UserName == model.UserName);
                if (user == null)
                {
                    return(Json(new { Error = true, Message = "Incorrect username or password." }, JsonRequestBehavior.AllowGet));
                }

                string inputHash = "";
                bool   correctPassword;
                using (MD5 md5Hash = MD5.Create())
                {
                    inputHash = GetMd5Hash(md5Hash, model.Password);

                    if (VerifyMd5Hash(md5Hash, inputHash, user.Password))
                    {
                        correctPassword = true;
                    }
                    else
                    {
                        correctPassword = false;
                    }
                }

                if (!correctPassword)
                {
                    return(Json(new { Error = true, Message = "Incorrect username or password." }));
                }

                Session["UserName"] = user.UserName;
                Session["UserID"]   = user.UserID;

                return(Json(new { Error = false, Message = "Logged in successfully." }, JsonRequestBehavior.AllowGet));
            }
        }