//* * * CREATION METHODS public int createUser(string forname, string surname, string email, string username, string cryptedPassword) { User user = new User { Forename = forname, Surname = surname, Email = email, Username = username, Password = cryptedPassword }; return mediator.DataManager.saveUser(user); }
public bool emailIsUnique(string email) { User user = new User(); try { user = mediator.DataManager.getUserByEmail(email); } catch { user = null; } return user == null; }
public abstract User editUser(int userId, User newUser);
//SET METHODS - for data storage public abstract int saveUser(User user);
public int validateUser(string username, string password) { User user = new User(); try { user = mediator.DataManager.getUserByUsername(username); } catch { return 0; } string storedPassword = mediator.DataManager.getUserPassword(user.Id); if (storedPassword == password) { return user.Id; } else { return 0; } }
public bool usernameIsUnique(string username) { User user = new User(); try { user = mediator.DataManager.getUserByUsername(username); } catch { user = null; } return user == null; }
//* * * SET METHODS - all data storage methods /// <summary> /// Store the user object in the database /// </summary> /// <param name="user"></param> /// <returns>id of created user</returns> public override int saveUser(User user) { emdb.Users.Add(user); emdb.SaveChanges(); return user.Id; }
/// <summary> /// Update with specified id. Child objects ARE NOT updated. /// </summary> /// <param name="userId">id of user to update</param> /// <param name="newUser">user object with replacement data</param> public override User editUser(int userId, User newUser) { User oldUser = emdb.Users.Find(userId); oldUser.Email = newUser.Email; oldUser.Forename = newUser.Forename; oldUser.Password = newUser.Password; oldUser.Surname = newUser.Surname; oldUser.Username = newUser.Username; emdb.SaveChanges(); return oldUser; }
public ActionResult LogOn(User user, string returnUrl) { try { string cryptedPassword = encryptPassword(user.Password, user.Username); int userId = ResponseReader.convertTo<int>(emAPI.validateUser(user.Username, cryptedPassword)); if (userId != 0) { ///FormsAuthentication.SetAuthCookie(user.Username, false); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { ModelState.AddModelError("", "The user name or password provided is incorrect."); return View(user); } else { ///store userId in cookie FormsAuthentication.SetAuthCookie(userId.ToString(), false); ///take the user to their homepage return RedirectToAction("UserHome", "Home", new { id = userId }); } } else { return View(user); } } catch { // If we got this far, something failed, redisplay form return View("Error"); } }