Ejemplo n.º 1
0
    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));
Ejemplo n.º 3
0
 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,
 };
Ejemplo n.º 4
0
 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);
    }