public IActionResult Create(CreateBasePositionStaffEntityDto createStaf) { try { var staff = _staffService.Add(createStaf); return(CreatedAtAction(nameof(Get), new { id = staff.Id }, staff)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public GetBasePositionStaffEntityDto Add(CreateBasePositionStaffEntityDto getBasePositionStaffEntityDto) { int vacancies = VacancyCount(getBasePositionStaffEntityDto.PositinId, getBasePositionStaffEntityDto.DepartmentId, getBasePositionStaffEntityDto.BranchId); if (vacancies == 0) { throw new Exception("Positions Limit Has Reached"); } var basePosition = _mapper.Map <BasePositionStaffEntity>(getBasePositionStaffEntityDto); basePosition.PositionsAndDepartmentsId = _unitOfWork.PositionsAndDepartmentRepository.Find(x => x.BranchId == getBasePositionStaffEntityDto.BranchId && x.DepartmentId == getBasePositionStaffEntityDto.DepartmentId && x.PositionId == getBasePositionStaffEntityDto.PositinId).Id; var basePositionInDb = _unitOfWork.BasePositionStaffEntityRepositorty.Add(basePosition); _unitOfWork.SaveChanges(); return(_mapper.Map <GetBasePositionStaffEntityDto>(basePositionInDb)); }