public Object RegisterUser([FromBody] RegisterUserModel regUser) { var currentUser = _context.users.SingleOrDefault(user => user.Email == regUser.Email); if (currentUser == null) { // List<string> HashRes = HashSalt (regUser.Password, CreateByteSalt ()); User newUser = new User { FirstName = regUser.FirstName, LastName = regUser.LastName, Email = regUser.Email, Password = regUser.Password, // Password = HashRes[1], // Salt = HashRes[0], }; _context.Add(newUser); _context.SaveChanges(); var JustAddedUser = _context.users.SingleOrDefault(user => user.Email == regUser.Email); List <SlimQuizResult> QuizResults = new List <SlimQuizResult>(); SlimUser NewSlimUser = new SlimUser { FirstName = JustAddedUser.FirstName, LastName = JustAddedUser.LastName, ConnectionID = JustAddedUser.ConnectionID, UserID = JustAddedUser.UserID, QuizResults = QuizResults }; HttpContext.Session.SetObjectAsJson("currentUser", NewSlimUser); return(NewSlimUser); } return(BadRequest("User with this email already exists. Please specify use a different email address")); }
public SlimUser CheckSession() { SlimUser currentUser = HttpContext.Session.GetObjectFromJson <SlimUser> ("currentUser"); System.Console.WriteLine(currentUser); return(currentUser); }
public List <SlimUser> OnlineUsers() { List <User> OnlineUsersDB = _context.users.Where(u => u.ConnectionID != "").Include(u => u.QuizResults).ToList(); List <SlimUser> OnlineUsers = new List <SlimUser>(); foreach (var user in OnlineUsersDB) { List <SlimQuizResult> SlimQuizResults = new List <SlimQuizResult>(); foreach (var OneSlimQuizResult in user.QuizResults) { SlimQuizResult SlimQuizResult = new SlimQuizResult { QuizResultID = OneSlimQuizResult.QuizResultID, ResultString = OneSlimQuizResult.ResultString, QuizID = OneSlimQuizResult.QuizID, UserID = OneSlimQuizResult.UserID }; SlimQuizResults.Add(SlimQuizResult); } SlimUser NewSlimUser = new SlimUser { FirstName = user.FirstName, LastName = user.LastName, ConnectionID = user.ConnectionID, UserID = user.UserID, QuizResults = SlimQuizResults, }; OnlineUsers.Add(NewSlimUser); } ; return(OnlineUsers); }
public SlimUser CheckSessionCookieMaker() { SlimUser currentUser = HttpContext.Session.GetObjectFromJson <SlimUser> ("currentUser"); CookieSet("UserID", currentUser.UserID.ToString(), 1); System.Console.WriteLine(currentUser); return(currentUser); }
public Object SumbitResults([FromBody] QuizResultSubmitModel ResultModel) { System.Console.WriteLine(ResultModel); SlimUser currentUser = HttpContext.Session.GetObjectFromJson <SlimUser> ("currentUser"); int LoggedUserID = currentUser.UserID; QuizResult ExistingResult = _context.quiz_results.SingleOrDefault(quiz_result => quiz_result.UserID == LoggedUserID && quiz_result.QuizID == ResultModel.QuizID); if (ExistingResult == null) { QuizResult QuizResult = new QuizResult { ResultString = ResultModel.ResultString, QuizID = ResultModel.QuizID, UserID = LoggedUserID }; _context.quiz_results.Add(QuizResult); _context.SaveChanges(); QuizResult SavedNewResult = _context.quiz_results.SingleOrDefault(quiz_result => quiz_result.UserID == QuizResult.UserID && quiz_result.QuizID == QuizResult.QuizID); if (SavedNewResult != null) { SlimQuizResult SlimQuizResult = new SlimQuizResult { QuizResultID = SavedNewResult.QuizResultID, ResultString = SavedNewResult.ResultString, QuizID = SavedNewResult.QuizID, UserID = SavedNewResult.UserID }; currentUser.QuizResults.Add(SlimQuizResult); HttpContext.Session.SetObjectAsJson("currentUser", currentUser); return(SavedNewResult); } return(BadRequest("Your quiz failed for some reason")); } ExistingResult.ResultString = ResultModel.ResultString; _context.SaveChanges(); QuizResult SavedResult = _context.quiz_results.SingleOrDefault(quiz_result => quiz_result.UserID == ExistingResult.UserID && quiz_result.QuizID == ExistingResult.QuizID); if (SavedResult != null) { SlimQuizResult SlimQuizResult = new SlimQuizResult { QuizResultID = ExistingResult.QuizResultID, ResultString = ExistingResult.ResultString, QuizID = ExistingResult.QuizID, UserID = ExistingResult.UserID }; //HARDCODED QUIZ RESULT!!! WILL NEED FORLOOP currentUser.QuizResults[0] = SlimQuizResult; //HARDCODED QUIZ RESULT!!! WILL NEED FORLOOP HttpContext.Session.SetObjectAsJson("currentUser", currentUser); return(SavedResult); } return(BadRequest("Your quiz failed for some reason")); }
public Object LoginUser([FromBody] LoginUserModel logUser) { var currentUser = _context.users.Include(user => user.QuizResults).SingleOrDefault(user => user.Email == logUser.Email); if (currentUser == null) { //SOME ERROR MESSAGE FOR FRONT END return(BadRequest("User email does not exist")); } List <SlimQuizResult> SlimQuizResults = new List <SlimQuizResult>(); foreach (var OneSlimQuizResult in currentUser.QuizResults) { SlimQuizResult SlimQuizResult = new SlimQuizResult { QuizResultID = OneSlimQuizResult.QuizResultID, ResultString = OneSlimQuizResult.ResultString, QuizID = OneSlimQuizResult.QuizID, UserID = OneSlimQuizResult.UserID }; SlimQuizResults.Add(SlimQuizResult); } SlimUser NewSlimUser = new SlimUser { FirstName = currentUser.FirstName, LastName = currentUser.LastName, ConnectionID = currentUser.ConnectionID, UserID = currentUser.UserID, QuizResults = SlimQuizResults }; //Compare passwords // byte[] Salt = Convert.FromBase64String (currentUser.Salt); // string HashSaltedPswd = CreatePasswordHash(currentUser.Password, Salt); // if (HashSaltedPswd == currentUser.Password){ if (logUser.Password == currentUser.Password) { HttpContext.Session.SetObjectAsJson("currentUser", NewSlimUser); HttpContext.Session.SetInt32("UserID", currentUser.UserID); return(NewSlimUser); } else { return(BadRequest("Password does not match!")); }; }
public void MarkRead(SlimUser newUser) { }
public ThreadMember(SlimUser u) { User = u; }