public int GetAnnualLeavesByDepartment(LeaveParamsDTO leaveParams, Departments department) { var departmentLeaveRule = _rules.First(x => x.Department.Equals(department)); if (departmentLeaveRule != null) { return(departmentLeaveRule.GetAnnualLeaves(leaveParams)); } return(0); }
public void GetAnnualLeaves_Should_Calculate_Leaves_For_PassedParams() { var leaveParamsDTO = new LeaveParamsDTO { PersonalLeaves = 4, SickLeaves = 3 }; var rules = new HRLeaveRules(); Assert.AreEqual(rules.GetAnnualLeaves(leaveParamsDTO), 7); }
public void GetAnnualLeavesByDepartment_Should_Throw_Exception_For_Empty_Dependencies() { _rules.Clear(); var leaveParamsDTO = new LeaveParamsDTO { CompOffs = 5, PersonalLeaves = 4, SickLeaves = 3 }; Assert.Throws <InvalidOperationException>(() => _leaveService.GetAnnualLeavesByDepartment(leaveParamsDTO, Utility.Enums.Departments.HR)); }
public void GetAnnualLeaves_Should_Calculate_Leaves_For_PassedParams_AND_IgnoreOtherParams() { var leaveParamsDTO = new LeaveParamsDTO { CompOffs = 5, PersonalLeaves = 4, SickLeaves = 4 }; var rules = new HRLeaveRules(); Assert.AreEqual(rules.GetAnnualLeaves(leaveParamsDTO), 8); }
public void GetAnnualLeavesByDepartment_Should_Return_Leaves_For_ProperDepartment() { var leaveParamsDTO = new LeaveParamsDTO { CompOffs = 5, PersonalLeaves = 4, SickLeaves = 3 }; Assert.AreEqual(_leaveService.GetAnnualLeavesByDepartment(leaveParamsDTO, Utility.Enums.Departments.Accounts), 12); Assert.AreEqual(_leaveService.GetAnnualLeavesByDepartment(leaveParamsDTO, Utility.Enums.Departments.HR), 7); }
public void GetAnnualLeaves_Should_Calculate_Leaves_For_PassedParams() { var leaveParamsDTO = new LeaveParamsDTO { CompOffs = 5, PersonalLeaves = 4, SickLeaves = 3 }; var rules = new AccountsLeaveRules(); Assert.AreEqual(rules.GetAnnualLeaves(leaveParamsDTO), 12); }
public ActionResult Index() { var leaveParams = new LeaveParamsDTO { PersonalLeaves = 15, SickLeaves = 11 }; var result = _leaveService.GetAnnualLeavesByDepartment(leaveParams, Utility.Enums.Departments.HR); var model = new LeaveModel() { AnnualLeaves = result }; return(View(model)); }
// GET: Accounts public ActionResult Index() { var leaveParams = new LeaveParamsDTO { CompOffs = 5, PersonalLeaves = 20, SickLeaves = 10 }; var result = _leaveService.GetAnnualLeavesByDepartment(leaveParams, Utility.Enums.Departments.Accounts); var model = new LeaveModel() { AnnualLeaves = result }; return(View(model)); }
public int GetAnnualLeaves(LeaveParamsDTO leaveParams) { return(leaveParams.PersonalLeaves + leaveParams.SickLeaves + leaveParams.CompOffs); }