コード例 #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);
        }
コード例 #3
0
        /// <summary>
        /// Метод, преобразующий текущий класс в объект класса SampleGrid
        /// </summary>
        /// <returns>Объект класса SampleGrid с данными текущего класса</returns>
        public SampleGrid toSample()
        {
            SampleGrid sg = new SampleGrid();

            sg.P1 = Id.ToString();
            sg.P2 = Name;
            sg.P3 = Type.Name;
            sg.P4 = Level.Name;
            DateTime start = new DateTime();

            start.AddYears(DateTime.Today.Year);
            start.AddMonths(DateTime.Today.Month);

            List <Session> sessions = MTSystem.LoadSessionsByGroupIdByTime(Id, start, DateTime.Today.Add(new TimeSpan(23, 59, 59)));

            if (sessions[0] != null)
            {
                int count = 0;
                for (int i = 0; i < sessions.Count; i++)
                {
                    count += sessions[i].Duration;
                }
                RealHours = count / 60;
            }
            else
            {
                RealHours = 0;
            }
            sg.P5 = RealHours.ToString();
            sg.P6 = PlanHours.ToString();
            List <Student> st = MTSystem.LoadStudents(StudentIds);

            if (st != null)
            {
                int count = 0;
                for (int i = 0; i < st.Count; i++)
                {
                    if (st[i].checkGroupId(Id))
                    {
                        count++;
                    }
                }
                sg.P7 = count.ToString();
            }
            else
            {
                sg.P7 = "0";
            }
            return(sg);
        }