public string updateAccessToken(int userId, string accessToken) { string status = ""; try { using (MovieEntities db = new MovieEntities()) { var query = db.UsersSessions.Where(x => x.Users_ID == userId).FirstOrDefault(); if (query != null) { query.token = accessToken; query.createdDate = DateTime.UtcNow; db.SaveChanges(); } else { var usersession = new UsersSession(); usersession.Users_ID = userId; usersession.token = accessToken; usersession.createdDate = DateTime.UtcNow; db.UsersSessions.Add(usersession); db.SaveChanges(); } } } catch { status = "There seems to be an issue with updating access token. Please try again."; } return(status); }
internal bool Login(string username, string password) { string passwordHash = utils.HashPassword(password); userName = username; userPasswordHash = passwordHash; Damocles2Entities de = new Damocles2Entities(); User user = de.Users.Where(u => u.Username == username && u.UserPassword == passwordHash).FirstOrDefault(); if (user == null) { return(false); } CurrentUser.UserId = user.Id; //TODO: This is not functioning correctly - simply want the User's current rank. UserRank ur = de.UserRanks.Where(usr => usr.UserId == user.Id).FirstOrDefault(); user.IsOnline = true; UserRank = ur.Rank.RankNameEnglish; UserJurisdiction uj = de.UserJurisdictions.Where(usrj => usrj.UserId == user.Id).FirstOrDefault(); if (uj != null) { if (uj.Jurisidction.Country == uj.Jurisidction.State) { UJurisdiction = uj.Jurisidction.Country; } else { UJurisdiction = uj.Jurisidction.State.Trim() + " in " + uj.Jurisidction.Country.Trim(); } } else { UJurisdiction = "Unknown"; } var aus = de.UsersSessions.Where(auss => auss.id == user.Id); foreach (UsersSession userS in aus) { CurrentUser.SessionSecondsTotal += userS.SessionSeconds; } UsersSession us = new UsersSession(); us.LoggedOnAt = DateTime.UtcNow; us.id = user.Id; de.UsersSessions.Add(us); de.SaveChanges(); return(true); }
internal void LogOff() { Damocles2Entities de = new Damocles2Entities(); string passwordHash = utils.HashPassword(CurrentUser.UserPassword); User u = de.Users.Where(usr => usr.Username == CurrentUser.Username && usr.UserPassword == passwordHash).FirstOrDefault(); // UsersSession us = de.UsersSessions.Where(uss => uss.id == u.Id && uss.loggedOffAt == null) // v1.OrderByDescending(rec => rec.Id).FirstOrDefault(); UsersSession us = de.UsersSessions.Where(uss => uss.id == u.Id && uss.loggedOffAt == null).OrderByDescending(ob => ob.LoggedOnAt).FirstOrDefault(); us.loggedOffAt = DateTime.UtcNow; us.SessionSeconds = CurrentUser.ThisSessionSeconds; u.IsOnline = false; de.SaveChanges(); }