public long CreateEmployee(EmployeeInput input) { return(doInTransaction( () => { var departments = departmentRepository.FindByIds(new List <long> { input.DepartmentId }); if (departments.Count == 0) { throw BusinessException.IllegalDepartmentId(input.DepartmentId); } if (input.SupervisorId != null) { var supervisors = employeeRepository.FindByIds(new List <long> { input.SupervisorId ?? 0 }); if (supervisors.Count == 0) { throw BusinessException.IllegalSupervisorId(input.SupervisorId ?? 0); } } return employeeRepository.Insert(input); } )); }
protected override IList <Department> BatchFetch(IReadOnlyCollection <long> keys) { return(repository.FindByIds(keys)); }
public Department?GetDepartment(long id) { return(departmentRepository.FindByIds(new List <long> { id }).FirstOrDefault()); }