public async Task <ActionResult> Create([FromBody] DepartmentCreateDto departmentCreateDto)
        {
            var mapperDepartment = _mapper.Map <Department>(departmentCreateDto);
            await _departmentRepository.CreateDepartmentAsync(mapperDepartment);

            return(Ok(mapperDepartment));
        }
示例#2
0
        public async Task <DepartmentServiceObject> CreateDepartmentAsync(DepartmentServiceObject departmentServiceObject, CancellationToken token)
        {
            var departmentEntity = _mapper.Map <DepartmentEntity>(departmentServiceObject);
            var createdEntity    = await _departmentRepository.CreateDepartmentAsync(departmentEntity, token);

            return(_mapper.Map <DepartmentServiceObject>(createdEntity));
        }
        public async Task <ActionResult <DepartmentDto> > PostDepartment(DepartmentCreateDto departmentCreateDto)
        {
            if (await DepartmentNameExists(departmentCreateDto.DepartmentName))
            {
                return(StatusCode(StatusCodes.Status400BadRequest,
                                  new Response {
                    Success = false, Message = "A department with that name already exists"
                }));
            }

            var department = _mapper.Map <Department>(departmentCreateDto);
            await _departmentsRepo.CreateDepartmentAsync(department);

            await _departmentsRepo.SaveChangesAsync();

            var departmentReadDto = _mapper.Map <DepartmentDto>(department);

            return(CreatedAtAction("GetDepartment", new { id = departmentReadDto.DepartmentId }, departmentReadDto));
        }
        public async Task <DepartmentModel> CreateDepartmentAsync(string departmentName)
        {
            try
            {
                departmentName.ShouldNotBeNullOrWhiteSpace();

                if (_departmentRepository
                    .DepartmentExists(departmentName))
                {
                    throw new DepartmentAlreadyExistsException();
                }

                var newDepartment = await _departmentRepository
                                    .CreateDepartmentAsync(departmentName)
                                    .ConfigureAwait(false);

                return(newDepartment.Map());
            }
            catch (ShouldAssertException)
            {
                throw new MissingDataException();
            }
        }