public IActionResult UpdateProfile(Users user) { CheckValid valid = new CheckValid(); try { valid.IsExistedUsername(user.Username); if (valid.IsValid) { FaceIOContext context = new FaceIOContext(); context.Users.Update(user); context.SaveChanges(); return(Ok(new BaseResponse(user, "Update success", true))); } return(NotFound(new BaseResponse(null, "User not found", false))); } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }
public IActionResult GetProfile(string username) { CheckValid valid = new CheckValid(); try { valid.IsExistedUsername(username); if (valid.IsValid) { FaceIOContext context = new FaceIOContext(); var user = context.Users.Where(x => x.Username == username).FirstOrDefault(); if (user != null) { return(Ok(new BaseResponse(user, "Get profile success", true))); } return(NotFound(new BaseResponse(null, "Not found", false))); } return(NotFound(new BaseResponse(null, "Username not found", false))); } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }
public IActionResult CreateTicket(string studentId, string teacherId, string content) { CheckValid valid = new CheckValid(); try { if (!valid.IsExistedTeacherId(teacherId)) { valid.IsValid = false; } if (!valid.IsExistedStudentId(studentId)) { valid.IsValid = false; } if (valid.IsValid) { var context = new FaceIOContext(); var student = context.Users.Where(q => q.Username == studentId).FirstOrDefault(); var teacher = context.Teacher.Where(t => t.Id == teacherId).FirstOrDefault(); if (student == null || teacher == null || string.IsNullOrEmpty(content)) { return(NotFound(new BaseResponse(null, "Teacher or student not found or content is blank", false))); } else { context.Ticket.Add(new Ticket() { Content = content, StartDate = DateTime.Now, EndDate = DateTime.Now.AddDays(10), Status = "Open" }); context.SaveChanges(); context.StudentTeacherTicket.Add(new StudentTeacherTicket() { StudentId = studentId, TeacherId = teacherId, TicketId = context.Ticket.Where(t => t.Content == content).FirstOrDefault().Id }); context.SaveChanges(); } return(Ok(new BaseResponse(null, "Create ticket success", true))); } return(NotFound(new BaseResponse(null, valid.ErrorMessage, false))); } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }
public StudentStudyAttendance GetAttendance(string studentId, int classSubjectScheduleId, int classSubjectId) { var context = new FaceIOContext(); var StudentStudy = context.StudentStudy.Where(x => x.StudentId == studentId && x.ClassSubjectId == classSubjectId).FirstOrDefault() as StudentStudy; var attendance = context.StudentStudyAttendance.Where(x => x.StudentStudyId == StudentStudy.Id && x.ClassSubjectScheduleId == classSubjectScheduleId).FirstOrDefault(); return(attendance); }
private List <ClassSubject> GetClassSubjectByStudentId(string studentId) { var context = new FaceIOContext(); var classSubjectId = context.StudentStudy.Where(s => s.StudentId == studentId).ToList <StudentStudy>(); var listClassSubject = new List <ClassSubject>(); foreach (StudentStudy ss in classSubjectId) { var classSubject = context.ClassSubject.Where(c => c.Id == ss.ClassSubjectId).FirstOrDefault(); listClassSubject.Add(classSubject); } return(listClassSubject); }
private List <Schedule> GetScheduleByClassSubjectId(int ClassSubjectId) { var context = new FaceIOContext(); var ListClassSubjectSchedule = context.ClassSubjectSchedule.Where(x => x.ClassSubjectId == ClassSubjectId).ToList <ClassSubjectSchedule>(); var ListSchedule = new List <Schedule>(); foreach (var ClassSubjectSchedule in ListClassSubjectSchedule) { var Schedule = context.Schedule.Where(x => x.Id == ClassSubjectSchedule.ScheduleId).FirstOrDefault(); ListSchedule.Add(Schedule); } return(ListSchedule); }
public bool IsExistedTeacherId(string teacherId) { TeacherId = teacherId; FaceIOContext context = new FaceIOContext(); var result = context.Teacher.Where(x => x.Id == TeacherId).FirstOrDefault() != null; if (!result) { ErrorMessageBuilder.Append("Teacher Id is not found \n"); ErrorMessage = ErrorMessageBuilder.ToString(); } return(result); }
public bool IsExistedUsername(string username) { Username = username; FaceIOContext context = new FaceIOContext(); var result = context.Users.Where(x => x.Username == Username).FirstOrDefault() != null; if (!result) { ErrorMessageBuilder.Append("Username is not found \n"); ErrorMessage = ErrorMessageBuilder.ToString(); } return(result); }
public bool IsExistedStudentId(string studentId) { StudentId = studentId; FaceIOContext context = new FaceIOContext(); var result = context.Student.Where(x => x.Id == StudentId).FirstOrDefault() != null; if (!result) { ErrorMessageBuilder.Append("Student ID is not found \n"); ErrorMessage = ErrorMessageBuilder.ToString(); } return(result); }
public IActionResult GetTicketByStudentId(string studentId) { CheckValid valid = new CheckValid(); try { if (!valid.IsExistedStudentId(studentId)) { valid.IsValid = false; } if (valid.IsValid) { var context = new FaceIOContext(); var listIdTicket = context.StudentTeacherTicket.Where(x => x.StudentId == studentId).Select(x => x.TicketId) .ToList(); var tickets = context.Ticket.Where(x => listIdTicket.Contains(x.Id)).ToList(); var result = new List <Object>(); foreach (var ticket in tickets) { result.Add(new { id = ticket.Id, content = ticket.Content, startDate = ticket.StartDate, endDate = ticket.EndDate, status = ticket.Status, teacherId = context.StudentTeacherTicket.Where(x => x.TicketId == ticket.Id).FirstOrDefault() .TeacherId }); } return(Ok(new BaseResponse(result, "Success", true))); } return(NotFound(new BaseResponse(null, valid.ErrorMessage, false))); } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }
public IActionResult GetProfiles(string name) { try { FaceIOContext context = new FaceIOContext(); var users = context.Users.Where(x => x.Fullname.Contains(name)).ToList(); if (users.Count > 0) { return(Ok(new BaseResponse(users, "Get profiles success", true))); } return(NotFound(new BaseResponse(null, "Not found", false))); } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }
public IActionResult Login(string username, string password) { try { if (!string.IsNullOrEmpty(username) && !string.IsNullOrEmpty(password)) { var context = new FaceIOContext(); var result = context.Users.Where(q => q.Username == username && q.Password == password).FirstOrDefault(); if (result != null) { return(Ok(new BaseResponse(result, "", true))); } return(NotFound(new BaseResponse(result, "Invalid username or password", false))); } return(NotFound(new BaseResponse(null, "Username and password cannot be blank", false))); } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }
public IActionResult UpdateTicket(Ticket ticket) { try { var context = new FaceIOContext(); if (ticket == null) { return(NotFound(new BaseResponse(null, "Ticket cannot be Null", false))); } else { context.Ticket.Update(ticket); context.SaveChanges(); return(Ok(new BaseResponse(null, "Success", true))); } } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }
public IActionResult GetStudentStudyAttendance(string studentId, int classSubjectScheduleId, int classSubjectId) { try { var context = new FaceIOContext(); var StudentStudy = context.StudentStudy.Where(x => x.StudentId == studentId && x.ClassSubjectId == classSubjectId).FirstOrDefault() as StudentStudy; var attendance = GetAttendance(studentId, classSubjectScheduleId, classSubjectId); if (attendance != null) { return(Ok(new BaseResponse(attendance, "", true))); } else { return(NotFound(new BaseResponse(attendance, "Attendance failed", false))); } } catch (Exception e) { return(BadRequest(new BaseResponse(null, "There are some error while getting data", false))); } }
public IActionResult UpdateAttendance(string studentId, bool attendance) { CheckValid valid = new CheckValid(); var timeRequest = DateTime.Now; var slotJoin = getSlot(timeRequest); var check = false; try { if (!valid.IsExistedStudentId(studentId)) { valid.IsValid = false; } if (valid.StringIsNullOrEmpty(attendance.ToString())) { valid.IsValid = false; } if (valid.IsValid) { var listClassSubject = GetClassSubjectByStudentId(studentId); if (listClassSubject.Count > 0) { foreach (var classSubject in listClassSubject) { var ListSchedule = GetScheduleByClassSubjectId(classSubject.Id).Where(x => x.Date == timeRequest.Date); foreach (var schedule in ListSchedule) { if (schedule.Slot == slotJoin) { var context = new FaceIOContext(); var classSubjectSchedule = context.ClassSubjectSchedule.Where(x => x.ClassSubjectId == classSubject.Id && x.ScheduleId == schedule.Id).FirstOrDefault(); var studentStudyAttendance = context.StudentStudyAttendance.Where(x => x.ClassSubjectScheduleId == classSubjectSchedule.Id).FirstOrDefault(); if (studentStudyAttendance != null) { studentStudyAttendance.Attendance = true; context.StudentStudyAttendance.Update(studentStudyAttendance); context.SaveChanges(); check = true; break; } } else { continue; } } if (check) { break; } } if (check == false) { return(NotFound(new BaseResponse(null, "Attendance failed", false))); } else { return(Ok(new BaseResponse(null, "Update attendance success", true))); } } return(NotFound(new BaseResponse(null, "Not found any subject by student ID", false))); } return(NotFound(new BaseResponse(null, valid.ErrorMessage, false))); } catch (Exception e) { return(BadRequest(new BaseResponse(null, e.Message, false))); } }