// checks if given username and password matches in the database. If matches // redirects to the session depending on the role(admin, manager, worker), // if it doesn't, redirects to login page. public ActionResult Autherize(MVClogin.Models.User userModel) { userModel.Password = Encrypt(userModel.Password); using (LoginDataBaseEntities1 db = new LoginDataBaseEntities1()) { var userDetails = db.Users.Where(x => x.UserName == userModel.UserName && x.Password == userModel.Password).FirstOrDefault(); if (userDetails == null) { userModel.LoginErrorMessage = "Wrong username or password"; userModel.Password = ""; return(View("Index", userModel)); } else { Session["UserID"] = userDetails.UserID; Session["Name"] = userDetails.Name; Session["Surname"] = userDetails.Surname; Session["Gross"] = userDetails.Salary * 3; Session["Salary"] = userDetails.Salary * 2; Session["Role"] = userDetails.Role; if (userDetails.Role == 1) { return(RedirectToAction("Admin", "Home")); } else if (userDetails.Role == 2) { return(RedirectToAction("Manager", "Home")); } return(RedirectToAction("Worker", "Home")); } } }
// returns the information about editing user public ActionResult Edit(int id) { using (LoginDataBaseEntities1 db = new LoginDataBaseEntities1()) { return(View(db.Users.Where(x => x.UserID == id).FirstOrDefault <User>())); } }
//updates user's data public ActionResult Edit(User emp) { using (LoginDataBaseEntities1 db = new LoginDataBaseEntities1()) { db.Entry(emp).State = EntityState.Modified; db.SaveChanges(); return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet)); } }
// deletes user from database public ActionResult Delete(int id) { using (LoginDataBaseEntities1 db = new LoginDataBaseEntities1()) { User emp = db.Users.Where(x => x.UserID == id).FirstOrDefault <User>(); db.Users.Remove(emp); db.SaveChanges(); return(Json(new { success = true, message = "Deleted Successfully" }, JsonRequestBehavior.AllowGet)); } }
// gets data from the database and counts approximate gross of each user. public ActionResult GetData() { using (LoginDataBaseEntities1 db = new LoginDataBaseEntities1()) { List <User> empList = db.Users.ToList <User>(); foreach (User usr in empList) { usr.Gross = approxGross(usr.Salary); } return(Json(new { data = empList }, JsonRequestBehavior.AllowGet)); } }
//adds a new user to database public ActionResult Add(User emp) { using (LoginDataBaseEntities1 db = new LoginDataBaseEntities1()) { emp.Password = Encrypt(emp.Password); if (db.Users.Where(x => x.UserName == emp.UserName).FirstOrDefault() == null) { db.Users.Add(emp); db.SaveChanges(); return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { success = false, message = "Username already exists" }, JsonRequestBehavior.AllowGet)); } } }