//Display course information // GET: /Courses/CourseInfo public ActionResult CourseInfo(int courseId) { logManager.AddEventLog("CoursesController => CourseInfo ActionResult called(GET)", "ActionResult"); var course = coursesManager.GetSpecificCourse(courseId); ViewBag.Lector = coursesManager.GetLectorInfo(course); string currentUserId = User.Identity.GetUserId(); ViewBag.UserIsSignedToCourse = coursesManager.UserIsSignedToCourse(courseId, currentUserId); ViewBag.UserIsLector = false; ViewBag.CourseStatusEnded = false; if (course.CourseStatus == Course.Status.Ended) { ViewBag.CourseStatusEnded = true; } if (course.LectorId == currentUserId) { ViewBag.UserIsLectorOfThisCourse = true; } else { ViewBag.UserIsLectorOfThisCourse = false; } return(View(course)); }
//Manage journals when course is Ended // GET: /Journal/ManageJournal public ActionResult ManageJournal(int courseId, string userFirstNameFilter, string userLastNameFilter, int?page, string statusMessage) { logManager.AddEventLog("JournalController => ManageJournal ActionResult called(GET)", "ActionResult"); ViewBag.StatusMessage = statusMessage; ViewBag.FirstNameFilter = userFirstNameFilter; ViewBag.LastNameFilter = userLastNameFilter; ViewBag.CourseId = courseId; int pageSize = 5; int pageNumber = (page ?? 1); var journalsList = journalsManager.GetMarksForUsers(courseId); var course = coursesManager.GetSpecificCourse(courseId); var courseLectorId = course.LectorId; var currentUserId = User.Identity.GetUserId(); if (courseLectorId == currentUserId && course.CourseStatus == Course.Status.Ended) { if (Request.HttpMethod == "POST") { journalsList = usersManager.GetSortedUsersList(userFirstNameFilter, userLastNameFilter, null, journalsList); List <JournalViewModel> journalsPost = JournalViewModel.GetJournalsList(journalsList, course); return(View(journalsPost.ToPagedList(pageNumber, pageSize))); } journalsList = usersManager.GetSortedUsersList(userFirstNameFilter, userLastNameFilter, null, journalsList); List <JournalViewModel> journals = JournalViewModel.GetJournalsList(journalsList, course); return(View(journals.ToPagedList(pageNumber, pageSize))); } return(View("Error")); }
//Display user data and links to see user courses, lectors functions, admin functions, edit account // GET: /Manage/Index public async Task <ActionResult> Index(ManageMessageId?message) { logManager.AddEventLog("ManageController => Index ActionResult called(GET)", "ActionResult"); ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set." : message == ManageMessageId.Error ? "An error has occurred." : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added." : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." : message == ManageMessageId.ProfileEdited ? "You succesfully edited your account data!" : ""; var userId = User.Identity.GetUserId(); var user = usersManager.GetSpecificUser(userId); ViewBag.UserRole = usersManager.GetUserRole(userId); var model = new IndexViewModel { UserId = userId, FirstName = user.FirstName, LastName = user.LastName, Age = user.Age, UserInfo = user.UserInformation, HasPassword = HasPassword(), PhoneNumber = await UserManager.GetPhoneNumberAsync(userId), TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId), Logins = await UserManager.GetLoginsAsync(userId), BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId) }; return(View(model)); }
public static List <JournalViewModel> GetJournalsList(ICollection <Journal> journals, UsersManager usersManager, CoursesManager coursesManager) { LogManager logManager = new LogManager(); logManager.AddEventLog("JournalViewModel => GetJournalsList 2nd method called", "Method"); List <JournalViewModel> result = new List <JournalViewModel>(); foreach (var item in journals) { var course = coursesManager.GetSpecificCourse(item.CourseId); var lectorData = usersManager.GetSpecificUser(course.LectorId); var lector = "None"; if (lectorData != null) { lector = string.Concat(lectorData.FirstName, " ", lectorData.LastName); } result.Add(new JournalViewModel( item.Id, item.Users.First().FirstName, item.Users.First().LastName, item.Mark, course.CourseName, course.Theme, course.Id, lector, course.CourseStatus.ToString() )); } return(result); }
public JObject Insert([FromBody] JObject obj) { LogEventEntry.EventType type = (LogEventEntry.EventType)(int) obj["type"]; long accountId = (long)obj["accountId"]; Dictionary <string, object> args = new Dictionary <string, object>(); JObject argsObj = (JObject)obj["args"]; if (argsObj != null) { switch (type) { case LogEventEntry.EventType.OUT_OF_SYNC: args.Add("subTick", (int)argsObj["subTick"]); args.Add("clientChecksum", (int)argsObj["clientChecksum"]); args.Add("serverChecksum", (int)argsObj["serverChecksum"]); args.Add("debugJSON", (string)argsObj["debugJSON"]); break; default: return(this.BuildResponse(HttpStatusCode.InternalServerError)); } LogManager.AddEventLog(type, new LogicLong((int)(accountId >> 32), (int)accountId), args); return(this.BuildResponse(HttpStatusCode.OK)); } return(this.BuildResponse(HttpStatusCode.InternalServerError)); }
//return typed list to display it in View public static List <CourseViewModel> GetCoursesList(ICollection <Course> coursesList, int constructorType) { LogManager logManager = new LogManager(); logManager.AddEventLog("CourseViewModel => GetCoursesList method called", "Method"); UsersManager usersManager = new UsersManager(); var lectors = usersManager.GetAllLectors(); List <CourseViewModel> courses = new List <CourseViewModel>(); switch (constructorType) { //Display courses for all users case 1: foreach (var item in coursesList) { var lectorData = lectors.Where(u => u.Id == item.LectorId).FirstOrDefault(); var lector = "None"; if (lectorData != null) { lector = string.Concat(lectorData.FirstName, " ", lectorData.LastName); } courses.Add(new CourseViewModel( item.Id, item.CourseName, item.StartDate.ToShortDateString(), item.EndDate.ToShortDateString(), item.Theme, item.CourseStatus.ToString(), item.Users.Count, lector, item.LectorId)); } break; //Display courses for lector case 2: foreach (var item in coursesList) { courses.Add(new CourseViewModel( item.Id, item.CourseName, item.StartDate.ToShortDateString(), item.EndDate.ToShortDateString(), item.Theme, item.CourseStatus.ToString(), item.Users.Count)); } break; } return(courses); }
//Add new user // GET: /Admin/ManageUsers/AddUser public ActionResult AddUser() { logManager.AddEventLog("ManageUsersController(Admin area) => AddUser ActionResult called(GET)", "ActionResult"); ViewBag.Roles = new List <string> { "Admin", "Lector", "Student" }; return(View()); }
// GET: Lector public ActionResult LectorInfo(int courseId) { logManager.AddEventLog("LectorController => LectorInfo ActionResult called(GET)", "ActionResult"); if (courseId == null) { return(View("Error")); } var lectorId = coursesManager.GetSpecificCourse(courseId).LectorId; var lector = usersManager.GetSpecificUser(lectorId); ViewBag.CourseId = courseId; return(View(lector)); }
//Display all journals // GET: /Admin/ManageJournals/DisplayJournals public ActionResult DisplayJournals(string userFirstNameFilter, string userLastNameFilter, int?page, string statusMessage) { logManager.AddEventLog("ManageJournalsController(Admin area) => DisplayJournals ActionResult called(GET)", "ActionResult"); ViewBag.StatusMessage = statusMessage; ViewBag.FirstNameFilter = userFirstNameFilter; ViewBag.LastNameFilter = userLastNameFilter; int pageSize = 10; int pageNumber = (page ?? 1); var journalsList = journalsManager.GetAllJournals(); if (Request.HttpMethod == "POST") { journalsList = journalsManager.GetSortedJournalsList(userFirstNameFilter, userLastNameFilter, journalsList); List <JournalViewModel> journalsPost = JournalViewModel.GetJournalsList(journalsList, usersManager, coursesManager); return(View(journalsPost.ToPagedList(pageNumber, pageSize))); } journalsList = journalsManager.GetSortedJournalsList(userFirstNameFilter, userLastNameFilter, journalsList); List <JournalViewModel> journals = JournalViewModel.GetJournalsList(journalsList, usersManager, coursesManager); return(View(journals.ToPagedList(pageNumber, pageSize))); }
public static List <JournalViewModel> GetJournalsList(ICollection <ApplicationUser> users, Course course) { LogManager logManager = new LogManager(); logManager.AddEventLog("JournalViewModel => GetJournalsList 1st method called", "Method"); List <JournalViewModel> result = new List <JournalViewModel>(); foreach (var item in users) { result.Add(new JournalViewModel( item.Journals.First().Id, item.FirstName, item.LastName, item.Journals.First().Mark, course.CourseName, course.Id )); } return(result); }
//get sorted viewmodel list based on filters public static List <JournalViewModel> GerSortedJournalsList(string courseName, string courseStatus, List <JournalViewModel> journals) { LogManager logManager = new LogManager(); logManager.AddEventLog("JournalViewModel => GerSortedJournalsList method called", "Method"); if (courseName != null && courseName != "") { journals = journals .Where(c => c.CourseName.Length >= courseName.Length) .Where(c => c.CourseName.ToLower().Substring(0, courseName.Length) == courseName.ToLower()) .ToList(); } if (courseStatus != null && courseStatus != "" && courseStatus != "All") { journals = journals .Where(c => c.CourseStatus == courseStatus) .ToList(); } return(journals); }
public static List <UserViewModel> GetUsersList(ICollection <ApplicationUser> usersList, UsersManager usersManager) { LogManager logManager = new LogManager(); logManager.AddEventLog("UserViewModel => GetUsersList method called", "Method"); List <UserViewModel> users = new List <UserViewModel>(); if (usersList != null) { foreach (var item in usersList) { users.Add(new UserViewModel( item.Id, item.FirstName, item.LastName, item.Age, item.Email, usersManager.GetUserRole(item.Id) )); } } return(users); }
//Add new course // GET: /Admin/ManageCourses/AddCourse public ActionResult AddCourse() { logManager.AddEventLog("ManageCoursesController(Admin area) => AddCourse ActionResult called(GET)", "ActionResult"); ViewBag.LectorsList = new SelectList(usersManager.GetLectorsForCourseEdit(null), "Id", "LastName"); return(View()); }