public async Task <Unit> Handle(AddEmployeeCommandModel request, CancellationToken cancellationToken) { var employee = new Core.Entities.Employee(request.FirstName, request.LastName, request.DateOfBirth, request.Address); var jobPosition = await positionRepository.GetJobPositionAsync(request.Position); if (jobPosition == null) { throw new ManagerException(ErrorsMessage.JobPositionDoesNotExist); } var employeeJobPositionModel = new EmployeeJobPosition(jobPosition, employee); await employeeJpRepository.AddEmployeeJobPositionAsync(employeeJobPositionModel); employee.MainRole = request.Position; employee.Positions.Add(employeeJobPositionModel); await employeesRepository.AddEmployeeAsync(employee); await employeesRepository.UnitOfWork.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public void RemoveEmployeeJobPositionAsync(EmployeeJobPosition model) => context.EmployeeJobPositions.Remove(model);
public async Task AddEmployeeJobPositionAsync(EmployeeJobPosition model) => await context.EmployeeJobPositions.AddAsync(model);