public EmployeePayrollCreateCommand(Employee employee, Guid newPayrollId, EmployeePayrollNew newPayroll) { Guard.Against.Null(employee, nameof(employee)); Guard.Against.Null(newPayroll, nameof(newPayroll)); Guard.Against.Default(newPayrollId, nameof(newPayrollId)); NewPayroll = newPayroll; NewPayrollId = newPayrollId; Employee = employee; }
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));
public static EmployeePayrollRecord From(Employee employee, Guid newPayrollId, EmployeePayrollNew payroll) => new EmployeePayrollRecord { Id = newPayrollId, PartitionKey = employee.Id.ToString(), CheckDate = payroll.CheckDate, GrossPayroll = payroll.GrossPayroll, PayrollPeriod = payroll.PayrollPeriod, };
public void Deconstruct(out Employee employee, out Guid newPayrollId, out EmployeePayrollNew newPayroll) { employee = Employee; newPayrollId = NewPayrollId; newPayroll = NewPayroll; }
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); }