/// <summary> /// Method that returns List of ProjectGroup object with properties that represents sum for each Project /// in selected weeks and year /// </summary> /// <param name="selectedWeeksInMonth">List of Int that holds weeks numbers for calculating sum</param> /// <param name="YearSelected">Selected year for calculating sum</param> /// <param name="db">database TODO: prebaci samo tabelu WeeksPerUserPerProject</param> /// <returns></returns> public static List <ProjectGroup> SumForTheSelectedWeeks(List <int> selectedWeeksInMonth, int YearSelected, HoursContext db) { var data = from project in db.WeekPerUserPerProjects.Include(p => p.Project) from w in selectedWeeksInMonth where project.Year == YearSelected && project.WeekNo == w group project by project.Project into projectGroup select new ProjectGroup() { Project = projectGroup.Key, FTOSum = projectGroup.Sum(o => o.FTO), LeavesSum = projectGroup.Sum(o => o.Leaves), PossibleSum = projectGroup.Sum(o => o.Possible), ActualSum = projectGroup.Sum(o => o.Actual), BillableSum = projectGroup.Sum(o => o.Billable), WorkingDaysSum = projectGroup.Sum(o => o.WorkingDays) }; return(data.ToList()); }