public void ConstructorAssignsPropertiesFromParameters(Guid newPayrollId, Employee employee, EmployeePayrollNew employeePayroll) { var sut = new EmployeePayrollCreateCommand(employee, newPayrollId, employeePayroll); sut.Employee.Should().Be(employee); sut.NewPayrollId.Should().Be(newPayrollId); sut.NewPayroll.Should().Be(employeePayroll); }
public override Task <ActionResult <EmployeePayroll> > HandleAsync([FromBody] EmployeePayrollCreateRequest request, CancellationToken token) => queryDispatcher .Dispatch(new EmployeeQuery(request.EmployeeId), token) .Bind(employee => { var newPayroll = new EmployeePayrollNew { CheckDate = request.CheckDate, GrossPayroll = request.GrossPayroll, }; var newPayrollId = generator.Generate(); var command = new EmployeePayrollCreateCommand(employee, newPayrollId, newPayroll); return(commandDispatcher.Dispatch(command).ToTryOption()); }) .Match <EmployeePayroll, ActionResult <EmployeePayroll> >( employeePayroll => employeePayroll, () => NotFound($"Could not find employee [{request.EmployeeId}]"), ex => new APIErrorResult(ex.Message));