Пример #1
0
        public async Task <ActionResult <LecturerResource> > UpdateLecturer(int id, [FromBody] SaveLecturerResource saveLecturerResource)
        {
            var validator        = new SaveLecturerResourceValidator();
            var validationResult = await validator.ValidateAsync(saveLecturerResource);

            var requestIsInvalid = id == 0 || !validationResult.IsValid;

            if (requestIsInvalid)
            {
                _logger.LogError(DateTime.Now + $"\nUpdating lecturer with {id} id failed, validation isn't valid " + validationResult.Errors.ToString());
                return(BadRequest(validationResult.Errors));
            }

            var lecturerToBeUpdate = await _lecturerService.GetLecturerById(id);

            var lecturer = _mapper.Map <SaveLecturerResource, Lecturer>(saveLecturerResource);

            lecturer.Id = id;

            await _lecturerService.UpdateLecturer(lecturer);

            var updatedLecturer = await _lecturerService.GetLecturerById(id);

            var updatedLecturerResource = _mapper.Map <Lecturer, LecturerResource>(updatedLecturer);

            return(Ok(updatedLecturerResource));
        }
Пример #2
0
        public async Task <ActionResult <LecturerResource> > CreateLecturer([FromBody] SaveLecturerResource saveLecturerResource)
        {
            var validator        = new SaveLecturerResourceValidator();
            var validationResult = await validator.ValidateAsync(saveLecturerResource);

            if (!validationResult.IsValid)
            {
                _logger.LogError(DateTime.Now + $"\nCreating lecturer failed, validation isn't valid " + validationResult.Errors.ToString());
                return(BadRequest(validationResult.Errors));
            }

            var lecturerToCreate = _mapper.Map <SaveLecturerResource, Lecturer>(saveLecturerResource);

            var result = await _lecturerService.CreateLecturer(lecturerToCreate);

            var createdLecturer = _mapper.Map <Lecturer, LecturerResource>(result);

            return(Ok(result));
        }