public IHttpActionResult PostSubject([FromBody] PostSubjectDTO newSubject) { string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value; logger.Info("UserId: " + userId + ": Requesting Subject Insert"); try { Subject saved = subjectsService.Create(newSubject); if (saved == null) { logger.Info("Failed!"); return(BadRequest("Failed! Something went wrong.")); } logger.Info("Success!"); return(Ok(saved)); } catch (Exception e) { logger.Error(e); return(BadRequest("The Subject in already in the system.")); } }
private Subject ConvertFromDTO(PostSubjectDTO newSubject) { Subject x = new Subject { Name = newSubject.Name, Grade = newSubject.Grade, NumberOfClassesPerWeek = newSubject.NumberOfClassesPerWeek }; return(x); }
public Subject Create(PostSubjectDTO newSubject) { Subject duplicate = db.SubjectsRepository.Duplicate(newSubject.Name, newSubject.Grade, newSubject.NumberOfClassesPerWeek); if (duplicate != null) { throw new HttpException("The Subject is already in the system with id: " + duplicate.Id + "."); } Subject subject = ConvertFromDTO(newSubject); db.SubjectsRepository.Insert(subject); db.Save(); return(subject); }