public PayrollControllerTest() { _now = DateTime.Now; _now_fail = DateTime.Now.AddMinutes(-5); _payroll = MockData.Payroll; _payroll_fail = new Payroll(); _mgr = Substitute.For<IPayrollManager>(); _mgr.GetPayroll(_now).Returns(MockData.Payroll); _mgr.GetPayroll(_now_fail).Returns(x => { throw new Exception("Wth?"); }); _mgr.When(x => x.SavePayroll(_payroll)); _mgr.When(x => x.SavePayroll(_payroll_fail)) .Do(x => { throw new Exception("Wth?"); }); //_mgr.SavePayroll(_payroll); _container = new WindsorContainer(); _container .Register(Component.For<IPayrollManager>() .Instance(_mgr) ) .Register(Component.For<PayrollController>() .OnCreate((kernel, instance) => { instance.Request = new System.Net.Http.HttpRequestMessage(); instance.Configuration = new System.Web.Http.HttpConfiguration(); }) ); _controller = _container.Resolve<PayrollController>(); }
public void SavePayroll(Payroll payroll) { foreach (EmployeePayroll pr in payroll.Employees) { if (pr.Dirty) { foreach (DailyGross dg in pr.Grosses) { if (dg.Dirty) { if (dg.DailyGrossID == null || dg.DailyGrossID.Equals(Guid.Empty)) _dgrepos.Insert(pr.Employee, dg); else _dgrepos.Update(pr.Employee, dg); dg.Dirty = false; } } } } }
public Payroll GetPayroll(DateTime dt) { var ww = dt.WorkWeek(); Payroll payroll = new Payroll { StartTDS = ww.Start, EndTDS = ww.End, Employees = new List<EmployeePayroll>() }; var employees = _emprepos.Get(); foreach (Employee emp in employees) { EmployeePayroll pr = new EmployeePayroll(emp, ww.Start); //pr.Rent = emp.EffectiveRent(start); pr.Grosses = LoadDailyGrosses(emp, ww.Start, ww.End); payroll.Employees.Add(pr); } return payroll; }