예제 #1
0
        public void UpdateSubject(SubjectRequestModel subjectRequest, int id)
        {
            var subject = _subjectRepository.GetById(id);

            if (subjectRequest == null)
            {
                throw new Exception("Request model data not valid!");
            }

            if (!string.IsNullOrEmpty(subjectRequest.Name))
            {
                throw new Exception("Subject name is requried!");
            }

            if (subjectRequest.Semester == 0)
            {
                throw new Exception("Semester can not be 0");
            }

            if (subjectRequest.Credits == 0)
            {
                throw new Exception("Credints can not to be 0");
            }

            subject.Name     = subjectRequest.Name;
            subject.Credits  = subjectRequest.Credits;
            subject.Semester = subjectRequest.Semester;

            _subjectRepository.Update(subject);
        }
예제 #2
0
        public void AddSubject(SubjectRequestModel subjectRequest)
        {
            if (subjectRequest == null)
            {
                throw new Exception("Request model data not valid!");
            }

            if (string.IsNullOrEmpty(subjectRequest.Name))
            {
                throw new Exception("Subject name is requried!");
            }

            if (subjectRequest.Semester == 0)
            {
                throw new Exception("Semester can not be 0");
            }

            if (subjectRequest.Credits == 0)
            {
                throw new Exception("Credints can not to be 0");
            }

            var subject = new Subject()
            {
                Name     = subjectRequest.Name,
                Credits  = subjectRequest.Credits,
                Semester = subjectRequest.Semester
            };

            _subjectRepository.Insert(subject);
        }
예제 #3
0
 public IActionResult UpdateSubject([FromBody] SubjectRequestModel subjectRequest, [FromQuery] int subjectId)
 {
     try
     {
         _subjectService.UpdateSubject(subjectRequest, subjectId);
         return(Ok("Subject successfully added!"));
     }
     catch (Exception ex)
     {
         return(Ok(ex.Message));
     }
 }
예제 #4
0
 public IActionResult AddSubject([FromBody] SubjectRequestModel subjectRequest)
 {
     try
     {
         _subjectService.AddSubject(subjectRequest);
         return(Ok("Subject successfully added"));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
예제 #5
0
        public async Task <SubjectResponseModel> PostSubject(
            [FromForm] SubjectRequestModel model,
            CancellationToken cancellationToken
            )
        {
            cancellationToken.ThrowIfCancellationRequested();

            var command = new CreateSubjectCommand(
                model.GroupId,
                model.Name
                );

            var subjectId = await _mediator.Send(command, cancellationToken);

            var query = new FindSubjectByIdQuery(subjectId);

            var subject = await _mediator.Send(query, cancellationToken);

            var response = _mapper.Map <SubjectResponseModel>(subject);

            return(response);
        }
예제 #6
0
        public async Task <IActionResult> CreateSubject([FromBody] SubjectRequestModel subjectRequestModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                if (subjectRequestModel.ParentSubjectId.HasValue)
                {
                    var parentSubject = await _subjectRepository.GetById(subjectRequestModel.ParentSubjectId.Value);

                    if (parentSubject == null)
                    {
                        return(BadRequest("Parent not found."));
                    }
                    var subject = new Subject(subjectRequestModel.Name, subjectRequestModel.ParentSubjectId.Value, subjectRequestModel.Description);

                    parentSubject.AddChildSubjects(subject);
                    _subjectRepository.AddSubject(subject);
                    _subjectRepository.UpdateSubjects(parentSubject);
                }
                else
                {
                    var subject = new Subject(subjectRequestModel.Name, null, subjectRequestModel.Description);
                    _subjectRepository.AddSubject(subject);
                }
                await _subjectRepository.SaveChanges();

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }