예제 #1
0
 public ActionResult Save(User user, HttpPostedFileBase ImageFile)
 {
     if (!ModelState.IsValid)
     {
         var viewModel = new NewUserViewModel
         {
             User = user
         };
         return(View("Index", viewModel));
     }
     if (user.Id == 0)
     {
         if (ImageFile != null)
         {
             string filename = Path.GetFileName(ImageFile.FileName);
             user.ImagePath = "/Images/" + filename;
             filename       = Path.Combine(Server.MapPath("~/Images/"), filename);
             ImageFile.SaveAs(filename);
         }
         else
         {
             user.ImagePath = "/Images/LOG-IN.png";
         }
         user.UserRank = "Customer";
         user.Password = EncDecPassword.EncryptPassword(user.Password);
         _context.Users.Add(user);
     }
     _context.SaveChanges();
     return(RedirectToAction("Index", "Login"));
 }
        public ActionResult Login(User user)
        {
            var userInDb = _context.Users.FirstOrDefault(c => c.Username == user.Username);

            if (userInDb == null)
            {
                Session["ErrorMessage"] = "Account not existing. Go to registration.";
                return(RedirectToAction("Index", "Login"));
            }
            else
            {
                var pass = EncDecPassword.DecryptPassword(userInDb.Password);
                userInDb = user.Password == pass ? userInDb : null;
                if (userInDb == null)
                {
                    Session["ErrorMessage"] = "The password is incorrect. Check the 'caps lock'.";
                    return(RedirectToAction("Index", "Login"));
                }
                else
                {
                    Session["Id"]           = userInDb.Id;
                    Session["ImagePath"]    = userInDb.ImagePath;
                    Session["FirstName"]    = userInDb.FirstName;
                    Session["UserRank"]     = userInDb.UserRank;
                    Session["Username"]     = userInDb.Username;
                    Session["ErrorMessage"] = null;
                    Lists.Users.Add(userInDb);
                    return(RedirectToAction("Index", "Home"));
                }
            }
        }
예제 #3
0
 public ActionResult YourProfile()
 {
     if (Session["Id"] != null && Session["UserRank"].ToString() == "Customer")
     {
         int userId   = Convert.ToInt32(Session["Id"]);
         var userInDb = _context.Users.FirstOrDefault(u => u.Id == userId);
         userInDb.Password = EncDecPassword.DecryptPassword(userInDb.Password);
         var viewModel = new NewRandomViewModel
         {
             User = userInDb
         };
         return(View(viewModel));
     }
     return(HttpNotFound());
 }
예제 #4
0
 public ActionResult SaveData(User user, HttpPostedFileBase UserImage)
 {
     if (Session["Id"] != null && Session["UserRank"].ToString() == "Customer")
     {
         if (!ModelState.IsValid)
         {
             var viewModel = new NewRandomViewModel
             {
                 User = user
             };
             return(View("YourProfile", viewModel));
         }
         var userInDb = _context.Users.FirstOrDefault(u => u.Id == user.Id);
         if (userInDb == null)
         {
             return(HttpNotFound());
         }
         userInDb.FirstName = user.FirstName;
         userInDb.LastName  = user.LastName;
         userInDb.Username  = user.Username;
         userInDb.Password  = EncDecPassword.EncryptPassword(user.Password);
         if (UserImage != null)
         {
             string filename = Path.GetFileName(UserImage.FileName);
             userInDb.ImagePath = "/Images/" + filename;
             filename           = Path.Combine(Server.MapPath("~/Images/"), filename);
             UserImage.SaveAs(filename);
         }
         _context.SaveChanges();
         Session["FirstName"]  = userInDb.FirstName;
         Session["Username"]   = userInDb.Username;
         Session["ImagePath"]  = userInDb.ImagePath;
         Session["UpdateUser"] = "******";
         var model = new NewRandomViewModel
         {
             User = _context.Users.FirstOrDefault(u => u.Id == user.Id)
         };
         return(View("YourProfile", model));
     }
     return(HttpNotFound());
 }
예제 #5
0
 public ActionResult EditUser(int id)
 {
     if (Session["Id"] != null && Session["UserRank"].ToString() == "Admin")
     {
         var userInDb = _context.Users.FirstOrDefault(u => u.Id == id);
         if (userInDb == null)
         {
             return(HttpNotFound());
         }
         userInDb.Password = EncDecPassword.DecryptPassword(userInDb.Password);
         var viewModel = new NewRandomViewModel
         {
             User = userInDb
         };
         Session["UpdateUser"] = "******";
         return(View("EditUser", viewModel));
     }
     else
     {
         return(HttpNotFound());
     }
 }
예제 #6
0
        public ActionResult Login(string email, string password)
        {
            var userInDb = _context.Users.FirstOrDefault(u => u.Email == email);

            if (userInDb == null)
            {
                Session["ErrorMessage"] = "Account not existing. Go to registration.";
                return(RedirectToAction("LoginPage", "Login"));
            }
            else
            {
                var pass = EncDecPassword.DecryptPassword(userInDb.Password);
                userInDb = password == pass ? userInDb : null;
                if (userInDb == null)
                {
                    Session["ErrorMessage"] = "The password is incorrect. Check the 'caps lock'.";
                    return(RedirectToAction("LoginPage", "Login"));
                }
                else
                {
                    Session["Id"]           = userInDb.Id;
                    Session["ImagePath"]    = userInDb.ImagePath;
                    Session["FirstName"]    = userInDb.FirstName;
                    Session["UserRank"]     = userInDb.UserRank;
                    Session["Email"]        = userInDb.Email;
                    Session["ErrorMessage"] = null;
                    //bool check = true;
                    //for (int i = 0; i < Lists.ActiveUsers.Count(); i++)
                    //{
                    //    if (Lists.ActiveUsers[i].Id == Convert.ToInt32(Session["Id"]))
                    //        check = false;
                    //}
                    //if(check)
                    Lists.ActiveUsers.Add(userInDb);
                    return(RedirectToAction("Index", "Home"));
                }
            }
        }
예제 #7
0
 public ActionResult Save(User user, HttpPostedFileBase UserImage)
 {
     if (Session["Id"] != null && Session["UserRank"].ToString() == "Admin")
     {
         if (!ModelState.IsValid)
         {
             var viewModel = new NewRandomViewModel
             {
                 User = user
             };
             return(View("EditUser", viewModel));
         }
         if (user.Id == 0)
         {
             if (UserImage != null)
             {
                 string filename = Path.GetFileName(UserImage.FileName);
                 user.ImagePath = "/Images/" + filename;
                 filename       = Path.Combine(Server.MapPath("~/Images/"), filename);
                 UserImage.SaveAs(filename);
             }
             else
             {
                 user.ImagePath = "/Images/LOG-IN.png";
             }
             user.UserRank = "Customer";
             user.Password = EncDecPassword.EncryptPassword(user.Password);
             _context.Users.Add(user);
         }
         else
         {
             var userInDb = _context.Users.FirstOrDefault(u => u.Id == user.Id);
             if (userInDb == null)
             {
                 return(HttpNotFound());
             }
             //ViewBag.UserIdForExisting = userInDb.Id;
             userInDb.FirstName = user.FirstName;
             userInDb.LastName  = user.LastName;
             userInDb.Username  = user.Username;
             userInDb.Password  = EncDecPassword.EncryptPassword(user.Password);
             if (UserImage != null)
             {
                 string filename = Path.GetFileName(UserImage.FileName);
                 userInDb.ImagePath = "/Images/" + filename;
                 filename           = Path.Combine(Server.MapPath("~/Images/"), filename);
                 UserImage.SaveAs(filename);
             }
         }
         _context.SaveChanges();
         var model = new NewRandomViewModel
         {
             Users = _context.Users.Where(u => u.UserRank == "Customer").ToList()
         };
         return(View("Index", model));
     }
     else
     {
         return(HttpNotFound());
     }
 }