示例#1
0
 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));
     }
 }
示例#2
0
        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));
        }