Example #1
0
        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."));
            }
        }
Example #2
0
        private Subject ConvertFromDTO(PostSubjectDTO newSubject)
        {
            Subject x = new Subject
            {
                Name  = newSubject.Name,
                Grade = newSubject.Grade,
                NumberOfClassesPerWeek = newSubject.NumberOfClassesPerWeek
            };

            return(x);
        }
Example #3
0
        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);
        }