private Paycheck BuildPaycheck(DeductionsRequest request) { var paycheck = new Paycheck(); paycheck.Employee = BuildEmployeeInfo(request); paycheck.Dependents = BuildDependentsInfo(request); return(paycheck); }
public IActionResult GetDeductions([FromBody] DeductionsRequest deductionsRequest) { try { var paycheck = _paycheckService.GetPaycheckWithDeductions(deductionsRequest); _logger.LogInformation("[PAYCHECK CONTROLLER][GET DEDUCTIONS][SUCCESS]"); return(new OkObjectResult(paycheck)); } catch (Exception ex) { _logger.LogError(ex, "[PAYCHECK CONTROLLER][GET DEDUCTIONS][FAILED]"); return(StatusCode(500)); } }
private List <DependentVM> BuildDependentsInfo(DeductionsRequest request) { var dependentsVM = new List <DependentVM>(); if (request?.Dependents != null) { foreach (var depdendent in request.Dependents) { dependentsVM.Add(BuildDependentInfo(depdendent)); } } return(dependentsVM); }
private EmployeeVM BuildEmployeeInfo(DeductionsRequest request) { if (request?.Employee != null) { var employeeDeductions = _calculationService.CalculateDeductions(request.Employee); var employeeVM = new EmployeeVM { FirstName = request.Employee.FirstName, LastName = request.Employee.LastName, Deductions = new ViewModels.Deduction { Discount = employeeDeductions.Discount, Gross = employeeDeductions.Gross } }; return(employeeVM); } return(new EmployeeVM()); }
public Paycheck GetPaycheckWithDeductions(DeductionsRequest request) { var paycheck = BuildPaycheck(request); return(paycheck); }