public IEnumerable <HourPerWeek> GetEmployeesForWeeks(int projectId)
        {
            List <EmployeeProjectHourPerWeeks> employeeProjectHourPerWeeks = context.EmployeeProjectHourPerWeeks.Include(e => e.HoursPerWeeks).Include(e => e.Project).Where(e => e.Project.Id == projectId).ToList();
            Project            project = FindProjectById(projectId);
            List <HourPerWeek> hours   = new List <HourPerWeek>();

            for (int j = 0; j < project.NumberOfWeeks; j++)
            {
                HourPerWeek hourPerWeek = new HourPerWeek();
                hourPerWeek.Hour = 0;
                for (int i = 0; i < employeeProjectHourPerWeeks.Count; i++)
                {
                    hourPerWeek.Hour += employeeProjectHourPerWeeks[i].HoursPerWeeks[j].Hour;
                }
                hours.Add(hourPerWeek);
            }
            return(hours);
        }
        public IEnumerable <HourPerWeek> GetEmployeesHoursPerWeek(int employeeId, int projectId)
        {
            List <EmployeeProjectHourPerWeeks> employeeProjectHourPerWeeks = context.EmployeeProjectHourPerWeeks.Include(e => e.Employee).Include(e => e.Project).Include(e => e.HoursPerWeeks).Where(e => e.Employee.Id == employeeId && e.Project.Id == projectId).ToList();

            Employee employee = employeeServices.FindEmployeeById(employeeId);
            Project  project  = FindProjectById(projectId);

            List <HourPerWeek> hoursPerWeeks = new List <HourPerWeek>();

            int startOfProjectInCalendarWeek = HelperServices.GetWeekOfYear(project.StartDate);
            int endOfProjectInCalendarWeek   = (startOfProjectInCalendarWeek + Convert.ToInt32(project.NumberOfWeeks));

            int endOfTheInvestigation = endOfProjectInCalendarWeek;

            for (int i = startOfProjectInCalendarWeek; i < endOfTheInvestigation; i++)
            {
                HourPerWeek hourPerWeek = new HourPerWeek();
                hourPerWeek.Hour = employee.HoursPerWeek - employee.OtherThingsToDoForWeeks;

                foreach (var projectForWeeks in employeeProjectHourPerWeeks)
                {
                    int startOfThisProject = HelperServices.GetWeekOfYear(projectForWeeks.Project.StartDate);
                    int endOfThisProject   = HelperServices.GetWeekOfYear(projectForWeeks.Project.DueDate);

                    if (endOfThisProject < endOfProjectInCalendarWeek)
                    {
                        endOfTheInvestigation = endOfThisProject;
                    }

                    if (startOfThisProject <= i)
                    {
                        int incrementWeek = i - startOfThisProject;
                        hourPerWeek.Hour -= projectForWeeks.HoursPerWeeks[incrementWeek].Hour;
                    }
                }

                hoursPerWeeks.Add(hourPerWeek);
            }

            return(hoursPerWeeks);
        }