/// <summary> /// Display the user profile / preferences alteration page if a person is logged in /// </summary> public IActionResult Preferences() { string sessionId = _cookie.Get("ReportSession"); if (!string.IsNullOrEmpty(sessionId)) { GetReportUserByCookieResponse reportUserByCookie = _authenticationService.GetReportUserByWebCookie(sessionId); if (reportUserByCookie.Success == true) { var viewModel = new AccountPreferencesViewModel(reportUserByCookie.User); return(View(viewModel)); } } return(RedirectToAction("Login", "Account")); }
public GetReportUserByCookieResponse GetReportUserByWebCookie(string cookie) { GetReportUserByCookieResponse result = new GetReportUserByCookieResponse(); WebSession webSession = _wrapper.WebSessionRepository.GetOne <WebSession>(f => f.SessionCookie == cookie); if (webSession != null && webSession.Expiry > DateTime.UtcNow) { result.User = _wrapper.ReportUserRepository.GetOne <ReportUser>(f => f.Id == webSession.ReportUserId); result.Success = true; } else { result.User = null; result.Success = false; } return(result); }
public IActionResult Index() { string sessionId = _cookie.Get("ReportSession"); GetReportUserByCookieResponse reportUserByCookie = _authenticationService.GetReportUserByWebCookie(sessionId); if (reportUserByCookie.Success == true && reportUserByCookie.User.OrganizationRoles.Contains("ToolAdmin")) { var viewModel = new ReportWebApp.Models.ViewModels.ToolAdminIndexViewModel(_authenticationService, sessionId); viewModel.IsToolAdmin = true; return(View(viewModel)); } else { return(RedirectToAction("Login", "Account")); } }
public IActionResult SaveReport(DateTime forDate, int timeSpent, bool online, string affectedPeople, string narrative) { string sessionId = _cookie.Get("ReportSession"); if (!string.IsNullOrEmpty(sessionId)) { GetReportUserByCookieResponse reportUserByCookie = _authenticationService.GetReportUserByWebCookie(sessionId); if (reportUserByCookie.Success == true) { var viewModel = new AccountSaveReportViewModel(); viewModel.CurrentUsername = reportUserByCookie.User.Username; _activityReportService.SaveActivity(reportUserByCookie.User.Id, forDate, timeSpent, online, affectedPeople, narrative); viewModel.Message = "Saved your activity report."; return(View(viewModel)); } } return(RedirectToAction("Login", "Account")); }
public IActionResult Index() { var viewModel = new AccountIndexViewModel(); string sessionId = _cookie.Get("ReportSession"); if (!string.IsNullOrEmpty(sessionId)) { GetReportUserByCookieResponse reportUserByCookie = _authenticationService.GetReportUserByWebCookie(sessionId); if (reportUserByCookie.Success == true) { viewModel.CurrentUsername = reportUserByCookie.User.Username; viewModel.AllThisMonth = _activityReportService.CountActivity(reportUserByCookie.User.Id, DateTime.Now, false); viewModel.IngameThisMonth = _activityReportService.CountActivity(reportUserByCookie.User.Id, DateTime.Now, true); } return(View(viewModel)); } return(RedirectToAction("Login", "Account")); }
public IActionResult Index() { var viewModel = new ReportWebApp.Models.ViewModels.Home.HomeIndex(this.discordService); string sessionId = _cookie.Get("ReportSession"); GetReportUserByCookieResponse reportUserByCookie = authService.GetReportUserByWebCookie(sessionId); if (reportUserByCookie.Success == true) { viewModel.NeedToSignIn = false; } else { viewModel.NeedToSignIn = true; } return(View(viewModel)); }
public Signin(IDiscordService discordService, string code, IAuthenticationService authenticationService, string sessionId) { AccessTokenResponse response = discordService.GetAccessTokenWithCode(code); MeResponse discordUser = discordService.GetMeResponse(response.access_token); GetReportUserByCookieResponse tryRetrieveUser = authenticationService.GetReportUserByWebCookie(sessionId); if (tryRetrieveUser.Success == true) { Message = "You were logged in already, this site has tried to associate your discord ID and report tool account (" + tryRetrieveUser.User.Username + ")."; authenticationService.AssociateUserWithDiscordId(tryRetrieveUser.User.Id, discordUser.id); this.NewSessionCookie = authenticationService.CreateWebSessionFromDiscordId(discordUser.id); } else { Message = "You were not logged in to a report tool account before utilizing discord as a signin service."; this.NewSessionCookie = authenticationService.CreateWebSessionFromDiscordId(discordUser.id); if (this.NewSessionCookie == string.Empty) { Message = "This site does not permit auto-creation of users. Seek out a tool administrator's assistance with registration."; } } }