public bool Upsert(BonusEnum.UpsertType upsertType = BonusEnum.UpsertType.Upsert) { bool success = false; try { using (var dc = new ArmsContext()) { var sqlEntry = dc.Supervisors.FirstOrDefault(x => x.SupervisorID == this.SupervisorID); // Insert the new supervisor to the DB if (sqlEntry == null && (upsertType == BonusEnum.UpsertType.Upsert || upsertType == BonusEnum.UpsertType.Insert)) { dc.Supervisors.Add(this); } // Updates existing supervisor if (sqlEntry != null && (upsertType == BonusEnum.UpsertType.Upsert || upsertType == BonusEnum.UpsertType.Update)) { sqlEntry.UserID = this.UserID; sqlEntry.CourseID = this.CourseID; } dc.SaveChanges(); } success = true; } catch (Exception ex) { var catchMsg = ex.Message; } return(success); }
public bool Upsert(BonusEnum.UpsertType upsertType = BonusEnum.UpsertType.Upsert) { bool success = false; try { using (var dc = new ArmsContext()) { var sqlEntry = dc.Attendees.FirstOrDefault(x => x.AttendeeID == this.AttendeeID); // Insert new attendee to DB if (sqlEntry == null && (upsertType == BonusEnum.UpsertType.Upsert || upsertType == BonusEnum.UpsertType.Insert)) { dc.Attendees.Add(this); } // Update existing entry if (sqlEntry != null && (upsertType == BonusEnum.UpsertType.Upsert || upsertType == BonusEnum.UpsertType.Update)) { sqlEntry.LectureID = this.LectureID; sqlEntry.UserID = this.UserID; } dc.SaveChanges(); } success = true; } catch (Exception ex) { var catchMsg = ex.Message; } return(success); }
// getting the actual course from db private static Course Get(int courseId = 0, string courseName = null) { Course model = null; try { using (var dc = new ArmsContext()) { // User id if given if (courseId > 0) { model = dc.Courses.Include(x => x.Creator).FirstOrDefault(x => x.CourseID == courseId); } else if (courseName != null) { model = dc.Courses.Include(x => x.Creator).FirstOrDefault(x => x.CourseName == courseName); } } } catch (Exception ex) { ex.ToString(); } return(model); }
// return true/false depending if the current user is a participant of the course public static string GetStudentStatusForCourse(int userId, int courseId) { var type = ""; try { using (var dc = new ArmsContext()) { if (dc.Participants.Any(p => p.UserID == userId && p.CourseID == courseId && p.ParticipantStatus == Participant.STATUS_ACTIVE)) { type = Participant.STATUS_ACTIVE; } else if (dc.Participants.Any(p => p.UserID == userId && p.CourseID == courseId && p.ParticipantStatus == Participant.STATUS_PENDING)) { type = Participant.STATUS_PENDING; } else { type = "not"; } } } catch (Exception ex) { var catchMsg = ex.Message; } return(type); }
// for testing purposes public static List <Attendee> GetAllAttendees() { using (var dc = new ArmsContext()) { var list = dc.Attendees.Include(x => x.User).Include(x => x.Lecture).ToList(); return(list); } }
// for testing purposes public static List <User> GetAllUsers() { using (var dc = new ArmsContext()) { var list = dc.Users.ToList(); return(list); } }
// for testing purposes public static List <Course> GetAllCourses() { using (var dc = new ArmsContext()) { var list = dc.Courses.Include(x => x.Creator).ToList(); return(list); } }
// for testing purposes public static List <Lecture> GetAllLectures() { using (var dc = new ArmsContext()) { var list = dc.Lectures.Include(x => x.Course).ToList(); return(list); } }
// for testing purposes public static List <Supervisor> GetAllTeachers() { using (var dc = new ArmsContext()) { var list = dc.Supervisors.ToList(); return(list); } }
public IHttpActionResult GetById(int id) { using (var dc = new ArmsContext()) { dc.Configuration.LazyLoadingEnabled = false; return(Ok <Lecture>(dc.Lectures.FirstOrDefault(x => x.LectureID == id))); } }
// for testing purposes public static List <Participant> GetAllParticipants() { using (var dc = new ArmsContext()) { var list = dc.Participants.Include(x => x.User).Include(x => x.Course).ToList(); return(list); } }
public IHttpActionResult GetById(int id) { using (var dc = new ArmsContext()) { dc.Configuration.LazyLoadingEnabled = false; var results = dc.Participants.Include(x => x.User).Where(x => x.CourseID == id); return(Ok(results.ToList())); } }
public IHttpActionResult DeclineParticipant([FromBody] Participant participant) { using (var dc = new ArmsContext()) { var db_part = dc.Participants.FirstOrDefault(x => x.ParticipantID == participant.ParticipantID); db_part.ParticipantStatus = "active"; db_part.Delete(); return(Ok(new ApiCallbackMessage("Success", true))); } }
protected override void Dispose(bool disposing) { ArmsContext db = new ArmsContext(); if (disposing) { db.Dispose(); } base.Dispose(disposing); }
public IHttpActionResult AcceptParticipant([FromBody] Participant participant) { using (var dc = new ArmsContext()) { //todo: add check if exists var db_part = dc.Participants.FirstOrDefault(x => x.ParticipantID == participant.ParticipantID); db_part.ParticipantStatus = "active"; db_part.Update(); return(Ok(new ApiCallbackMessage("Success", true))); } }
public IHttpActionResult GetForCourse(int id) { var course = CourseHelper.GetById(id); using (var dc = new ArmsContext()) { dc.Configuration.LazyLoadingEnabled = false; var lectures = dc.Lectures.Include(x => x.Course).Where(x => x.CourseID == course.CourseID); return(Ok(lectures.ToList())); } }
public IHttpActionResult ApplyParticipant(int course_id) { var user_id = APIUtils.GetUserFromClaim(ClaimsPrincipal.Current); using (var dc = new ArmsContext()) { //TODO: Add check if exists Participant part = new Participant(user_id, course_id, "pending"); part.Insert(); return(Ok(new ApiCallbackMessage("Success", true))); } }
public IHttpActionResult GetByName(string name) { List <Course> resultCourses = null; using (var dc = new ArmsContext()) { var searchCourses = dc.Courses.Include(m => m.Creator) .Where(course => course.CourseName.ToLower().Contains(name.ToLower())); resultCourses = searchCourses.ToList(); return(Ok(resultCourses)); } }
public IHttpActionResult AddSupervisorToCourse([FromBody] Course courseToAddTo, [FromBody] User userToAdd) { if (!APIUtils.CanChangeCourse(courseToAddTo.CourseID, ClaimsPrincipal.Current)) { return(Unauthorized()); } using (var dc = new ArmsContext()) { dc.Supervisors.Add(new Supervisor(userToAdd.UserID, courseToAddTo.CourseID)); dc.SaveChanges(); return(Ok(new ApiCallbackMessage("Success", true))); } }
public IHttpActionResult GetForStudent(int id) { var curr_user = UserHelper.GetById(id); using (var dc = new ArmsContext()) { dc.Configuration.LazyLoadingEnabled = false; var participations = dc.Participants .Where(x => x.UserID == curr_user.UserID && x.ParticipantStatus == "active") .Select(x => x.CourseID).ToList(); var courses_lectures = dc.Lectures.Include(x => x.Course).Where(x => participations.Contains(x.CourseID) && x.To.CompareTo(DateTime.Now) >= 0); return(Ok <List <Lecture> >(courses_lectures.ToList())); } }
public IHttpActionResult GetActiveLectureForTeacher() { var curr_user = UserHelper.GetById(APIUtils.GetUserFromClaim(ClaimsPrincipal.Current)); using (var dc = new ArmsContext()) { dc.Configuration.LazyLoadingEnabled = false; var supervisions = dc.Supervisors.Where(x => x.UserID == curr_user.UserID) .Select(x => x.CourseID).ToList(); var active_lectures = dc.Lectures.Include(x => x.Course).FirstOrDefault(x => supervisions.Contains(x.CourseID) && x.To.CompareTo(DateTime.Now) >= 0 && x.From.CompareTo(DateTime.Now) <= 0); return(Ok <Lecture>(active_lectures)); } }
public IHttpActionResult UserAttendedLecture(int lecture_id, string bluetooth_address) { var user_id = APIUtils.GetUserFromClaim(ClaimsPrincipal.Current); using (var dc = new ArmsContext()) { dc.Configuration.LazyLoadingEnabled = false; var attendance = dc.Attendees.Where(x => x.LectureID == lecture_id && x.UserID == user_id).Count(); if (attendance == 1) { return(Ok(new ApiCallbackMessage("Success", true))); } return(NotFound()); } }
// get all participants for course public static List <Participant> GetParticipantsForCourse(int courseId) { try { using (var dc = new ArmsContext()) { var list = dc.Participants.Where(x => x.CourseID == courseId).ToList(); return(list); } } catch (Exception ex) { var msg = ex.Message; } return(null); }
// get all supervisors (users) for the specified course public static List <User> GetSupervisorsForCourse(int courseId) { var users = new List <User>(); try { using (var dc = new ArmsContext()) { users = dc.Supervisors.Where(s => s.CourseID == courseId).Select(s => s.User).ToList(); } } catch (Exception ex) { var catchMsg = ex.Message; } return(users); }
// checks if the given id is matching a supervisors for the course specified public static bool IsUserSupervisor(int userId, int courseId) { var isSupervisor = false; try { using (var dc = new ArmsContext()) { isSupervisor = dc.Supervisors.Where(s => s.CourseID == courseId).Any(x => x.UserID == userId); } } catch (Exception ex) { var catchMsg = ex.Message; } return(isSupervisor); }
// returns whether there is a User with such email in the DB public static bool IsRegistered(string email) { bool isReg = false; try { using (var dc = new ArmsContext()) { isReg = !dc.Users.Any(u => u.Email == email); } } catch (Exception ex) { var catchMsg = ex.Message; } return(isReg); }
// returns whether there is a Course with such courseName in the DB public static bool Exists(string courseName) { var exists = false; try { using (var dc = new ArmsContext()) { exists = dc.Courses.Any(u => u.CourseName == courseName); } } catch (Exception ex) { var catchMsg = ex.Message; } return(exists); }
// get students (users) pending for a specified course public static List <User> GetPendingParticipantsForCourse(int courseId) { var list = new List <User>(); try { using (var dc = new ArmsContext()) { list = dc.Participants.Where(ps => ps.CourseID == courseId && ps.ParticipantStatus == Participant.STATUS_PENDING).Select(ps => ps.User).ToList(); } } catch (Exception ex) { var catchMsg = ex.Message; } return(list); }
// get Attendee by id public static Attendee GetById(int attendeeId) { Attendee model = null; try { using (var dc = new ArmsContext()) { model = dc.Attendees.Include(x => x.User).Include(x => x.Lecture).FirstOrDefault(x => x.AttendeeID == attendeeId); } } catch (Exception ex) { ex.ToString(); } return(model); }
// get lecture by id public static Participant GetById(int userId, int courseId) { Participant model = null; try { using (var dc = new ArmsContext()) { model = dc.Participants.Include(x => x.User).Include(x => x.Course).FirstOrDefault(x => x.UserID == userId && x.CourseID == courseId); } } catch (Exception ex) { ex.ToString(); } return(model); }