コード例 #1
0
        public double GetPlanHour(string userId, DateTime startDate, DateTime endDate)
        {
            var planStartDate = PlanDateRange.StartDate;
            var planEndDate   = PlanDateRange.EndDate;

            if (Status == Status.Done)
            {
                planEndDate = ActualDateRange.EndDate;
            }

            var calStartDate = planStartDate < startDate ? startDate : planStartDate;
            var calEndDate   = planEndDate < endDate ? planEndDate : endDate;

            if (PlanHours.IsEmpty() || !PlanHours.ContainsKey(userId))
            {
                return(0);
            }

            if (DateTimeUtil.GetWorkingDays(planStartDate, planEndDate) == 0)
            {
                return(0);
            }

            if (DateTimeUtil.GetWorkingDays(calStartDate, calEndDate) == 0)
            {
                return(0);
            }

            return(Math.Round(PlanHours[userId] * DateTimeUtil.GetWorkingDays(calStartDate, calEndDate) / DateTimeUtil.GetWorkingDays(planStartDate, planEndDate), 2));
        }
コード例 #2
0
        public double GetTotalPlanHour()
        {
            if (!PlanHours.IsEmpty())
            {
                return(PlanHours.Sum(o => o.Value));
            }

            return(0);
        }