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 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 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 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))); } }