示例#1
0
        public void IsCurrentPeriodTests(AbsencePeriod absencePeriod, bool expectedResult)
        {
            //Arrange

            //Act
            var actual = absencePeriod.IsCurrentPeriod();

            //Assert
            actual.Should().Be(expectedResult);
        }
示例#2
0
        public ActionResult Edit([Bind(Include = "AbsencePeriodId,StartDate,EndDate")] AbsencePeriod absencePeriod)
        {
            if (ModelState.IsValid)
            {
                var result = HRBusinessService.UpdateAbsencePeriod(UserOrganisationId, absencePeriod);
                if (result.Succeeded)
                {
                    return(RedirectToAction("Index"));
                }

                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error);
                }
            }
            var viewModel = new AbsencePeriodViewModel
            {
                AbsencePeriod = absencePeriod
            };

            return(View(viewModel));
        }
示例#3
0
        private string GetAbsencesForPeriod(AbsencePeriod period)
        {
            var absencesForPeriod = Absences.Where(a => a.Period == period).ToList();
            var fullAbsencesCount = absencesForPeriod.Count(a => a.Type == AbsenceType.Full);
            var thirdsCount       = absencesForPeriod.Count(a => a.Type == AbsenceType.OneThird);

            var remainingThirds = thirdsCount % 3;
            var fullFromThirds  = thirdsCount / 3;
            var actualFullCount = fullAbsencesCount + fullFromThirds;
            var result          = "";

            if (actualFullCount != 0)
            {
                result += $"{actualFullCount}";
            }

            if (remainingThirds != 0)
            {
                result += $" {remainingThirds}/3";
            }

            return(result);
        }