public TeacherToSubjectDTOForAdmin PutStoppedTeachingNowByTSId(int id) { TeacherToSubject found = GetByID(id); if (found == null) { throw new HttpException("The Teacher-Subject combination with id: " + id + " was not found."); } found.StoppedTeaching = DateTime.UtcNow; db.TeachersToSubjectsRepository.Update(found); IEnumerable <FormToTeacherSubject> ftsByFoundTSId = found.TeacherSubjectForms; if (ftsByFoundTSId != null) { foreach (var fts in ftsByFoundTSId) { if (fts.Stopped == null) { fts.Stopped = DateTime.UtcNow; db.FormsToTeacherSubjectsRepository.Update(fts); } } } db.Save(); TeacherToSubjectDTOForAdmin dto = toDTO.ConvertToTeacherToSubjectDTOForAdmin(found); return(dto); }
public HttpResponseMessage PutStoppedTeachingNowByTSId(int id) { string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value; logger.Info("UserId: " + userId + ": Requesting Teacher To Subject Update - Stopped Teaching for TeacherToSubject Id: " + id); try { TeacherToSubjectDTOForAdmin saved = teachersToSubjectsService.PutStoppedTeachingNowByTSId(id); if (saved == null) { logger.Info("Failed!"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Failed!")); } logger.Info("Success!"); return(Request.CreateResponse(HttpStatusCode.OK, saved)); } catch (Exception e) { logger.Error(e); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } }
public HttpResponseMessage PostTeacherToSubject(string teacherId, int subjectId) { string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value; logger.Info("UserId: " + userId + ": Requesting Teacher To Subject Insert - Teacher Id: " + teacherId + ", " + "Subject Id:" + subjectId); try { TeacherToSubjectDTOForAdmin saved = teachersToSubjectsService.Create(teacherId, subjectId); if (saved == null) { logger.Info("Failed!"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Failed!")); } logger.Info("Success!"); return(Request.CreateResponse(HttpStatusCode.OK, saved)); } catch (Exception e) { logger.Error(e); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } }
public HttpResponseMessage GetTeacherToSubject(int id) { string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value; string userRole = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == ClaimTypes.Role).Value; logger.Info("UserRole: " + userRole + ", UserId: " + userId + ": Requesting Teacher To Subject by id: " + id); try { TeacherToSubject ts = teachersToSubjectsService.GetByID(id); if (ts == null) { logger.Info("The teacher with id: " + id + " was not found."); return(Request.CreateResponse(HttpStatusCode.BadRequest, "The TeacherToSubject with id: " + id + " was not found.")); } if (userRole == "admin") { logger.Info("Requesting found TeacherToSubject convert for " + userRole + "role."); TeacherToSubjectDTOForAdmin dto = toDTO.ConvertToTeacherToSubjectDTOForAdmin(ts); if (dto == null) { logger.Info("Failed!"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Something went wrong.")); } logger.Info("Success!"); return(Request.CreateResponse(HttpStatusCode.OK, dto)); } else if (userRole == "teacher") { logger.Info("Requesting found TeacherToSubject convert for " + userRole + "role."); TeacherToSubjectDTOForTeacher dto = toDTO.ConvertToTeacherToSubjectDTOForTeacher(ts); if (dto == null) { logger.Info("Failed!"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Something went wrong.")); } logger.Info("Success!"); return(Request.CreateResponse(HttpStatusCode.OK, dto)); } else //if (userRole == "student" || userRole == "parent") { logger.Info("Requesting found TeacherToSubject convert for " + userRole + "role."); TeacherToSubjectDTOForStudentAndParent dto = toDTO.ConvertToTeacherToSubjectDTOForStudentAndParent(ts); if (dto == null) { logger.Info("Failed!"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Something went wrong.")); } logger.Info("Success!"); return(Request.CreateResponse(HttpStatusCode.OK, dto)); } } catch (Exception e) { logger.Error(e); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } }
public IList <TeacherToSubjectDTOForAdmin> ConvertToTSDTOListForAdmin(List <TeacherToSubject> tTSs) { IList <TeacherToSubjectDTOForAdmin> dtos = new List <TeacherToSubjectDTOForAdmin>(); foreach (var ts in tTSs) { TeacherToSubjectDTOForAdmin dto = ConvertToTeacherToSubjectDTOForAdmin(ts); dtos.Add(dto); } return(dtos); }
public TeacherToSubjectDTOForAdmin ConvertToTeacherToSubjectDTOForAdmin(TeacherToSubject x) { TeacherToSubjectDTOForAdmin dto = new TeacherToSubjectDTOForAdmin { Id = x.Id, Teacher = teacherToDTO.ConvertToTeacherDTOForAdmin(x.Teacher, (List <IdentityUserRole>)x.Teacher.Roles), Subject = x.Subject, StartedTeaching = x.StartedTeaching, StoppedTeaching = x.StoppedTeaching }; return(dto); }
public TeacherToSubjectDTOForAdmin Create(string teacherId, int subjectId) { Teacher foundTeacher = db.TeachersRepository.GetByID(teacherId); if (foundTeacher == null) { throw new HttpException("The teacher with id: " + teacherId + " was not found"); } if (foundTeacher.IsStillWorking == false) { throw new HttpException("The teacher with id: " + teacherId + " is currently not an active faculty member. " + "You cannot assign this teacher to a subject."); } Subject foundSubject = subjectsService.GetByID(subjectId); if (foundSubject == null) { throw new HttpException("The subject with id: " + subjectId + " was found"); } TeacherToSubject found = db.TeachersToSubjectsRepository.GetByTeacherIdAndSubjectId(foundTeacher.Id, foundSubject.Id); if (found != null) { throw new HttpException("The subject with id: " + subjectId + " is already assign to " + "the teacher with id: " + teacherId + ". You can find the existing Teacher-Subject combination (" + found.Id + ") with HttpGet at route: http://localhost:54164/project/teachers-to-subjects/" + found.Id); } TeacherToSubject ts = new TeacherToSubject { Teacher = foundTeacher, Subject = foundSubject, StartedTeaching = DateTime.UtcNow, StoppedTeaching = null }; db.TeachersToSubjectsRepository.Insert(ts); db.Save(); TeacherToSubjectDTOForAdmin dto = toDTO.ConvertToTeacherToSubjectDTOForAdmin(ts); return(dto); }
public HttpResponseMessage PutStartedOrStoppedTeaching(int id, string date, [FromUri] DateTime updated) { string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value; logger.Info("UserId: " + userId + ": Requesting Teacher To Subject Update"); try { TeacherToSubjectDTOForAdmin saved = new TeacherToSubjectDTOForAdmin(); if (date.ToLower().Equals("started")) { logger.Info("Requesting StartedTeaching Property Update"); saved = teachersToSubjectsService.UpdateStartedTeaching(id, updated); } else if (date.ToLower().Equals("stopped")) { logger.Info("Requesting StoppedTeaching Property Update"); saved = teachersToSubjectsService.UpdateStoppedTeaching(id, updated); } else { logger.Info("The route value: " + date + " isn't valid. The correct options are: started or stopped."); return(Request.CreateResponse(HttpStatusCode.BadRequest, "The route value: " + date + " isn't valid. " + "The correct options are: started or stopped.")); } if (saved == null) { logger.Info("Failed!"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Failed!")); } logger.Info("Success!"); return(Request.CreateResponse(HttpStatusCode.OK, saved)); } catch (Exception e) { logger.Error(e); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e)); } }
public TeacherToSubjectDTOForAdmin UpdateStoppedTeaching(int id, DateTime updated) { TeacherToSubject found = GetByID(id); if (found == null) { throw new HttpException("The Teacher-Subject combination with id: " + id + " was not found."); } if (found.StartedTeaching > updated) { throw new HttpException("The StoppedTeaching date must be after StartedTeaching Date: " + found.StartedTeaching); } found.StoppedTeaching = updated; db.TeachersToSubjectsRepository.Update(found); db.Save(); TeacherToSubjectDTOForAdmin dto = toDTO.ConvertToTeacherToSubjectDTOForAdmin(found); return(dto); }