Example #1
0
        public LabReport CreateLabReport(DateTime startDate, DateTime endDate, DateTime startHour, DateTime endHour, Lab lab, bool weekends)
        {
            LabReport          labReport = new LabReport(lab);
            List <Task>        tasks     = new List <Task>();
            List <ComputerLab> cL        = getComputerInLab(lab, startDate, endDate);

            foreach (var item in cL)
            {
                //  Task t = Task.Factory.StartNew(() =>
                //  {
                ComputerReport cR = CreateComputerInLabReport(startDate, endDate, startHour, endHour, item, weekends);

                //add data to labreport
                lock (reportLock)
                {
                    labReport.ComputersReport.Add(cR);
                    labReport.AddToLabTotalActivityTime(cR.GetComputerTotalActiveTime());
                    labReport.AddToLabTotalActivityTimeWithClasses(cR.GetComputerTotalActiveTimeWithClasses());
                    labReport.AddToLabTotalHours(cR.GetComputerTotalTime());
                }
                //  });
                //  tasks.Add(t);
            }
            Task.WaitAll(tasks.ToArray());

            return(labReport);
        }