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);
        }
Exemple #2
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));
        }
Exemple #4
0
        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));
        }
Exemple #8
0
        // 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));
        }
Exemple #9
0
 public int GetAnnualLeaves(LeaveParamsDTO leaveParams)
 {
     return(leaveParams.PersonalLeaves + leaveParams.SickLeaves + leaveParams.CompOffs);
 }