static void Main(string[] args) { Console.WriteLine("Welcome to the payslip generator!\n"); var payslipInput = new PayslipInput(); var name = payslipInput.PromptName(); var surname = payslipInput.PromptSurname(); var salary = payslipInput.PromptSalary(); var superRate = payslipInput.PromptSuperRate(); var startDate = payslipInput.PromptStartDate(); var endDate = payslipInput.PromptEndDate(); Employee employee = new Employee(name, surname, salary, superRate); TaxBracket[] taxBrackets = new TaxBracketParser().ParseCSV("/Users/Tom.vanDinther/Documents/payslip-kata/tax_brackets.csv"); //TODO: Use absolute path in Rider. Issue: Cannot run. PayslipFactory payslipFactory = PayslipFactory.GetInstance(); payslipFactory.SetTaxBrackets(taxBrackets); payslipFactory.SetStartDate(startDate); payslipFactory.SetEndDate(endDate); Payslip payslip = payslipFactory.GetPayslip(employee); Console.WriteLine("Your payslip has been generated:\n"); PrintPayslip(payslip); Console.WriteLine("\nThank you for using MYOB!"); }
// Post api/<controller> public IHttpActionResult CreatePaySlip(Employee employee) { if (!ModelState.IsValid || employee != null) { PayslipAbstractFactory payslipFactory = new PayslipFactory(); var payslip = payslipFactory.GetPaySlip(TaxMethod.Austerlia); return(Ok(payslip.GenerateEmployeePayslip(employee))); } else { return(NotFound()); } }
public HttpResponseMessage CreatePaySlip([FromBody] Employee employee) { this.Validate(employee); if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } if (employee != null) { PayslipAbstractFactory payslipFactory = new PayslipFactory(); var payslip = payslipFactory.GetPaySlip(TaxMethod.Austerlia); return(Request.CreateResponse(HttpStatusCode.OK, payslip.GenerateEmployeePayslip(employee), Configuration.Formatters.JsonFormatter)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } }