public static List <DepartmentUser> getAllDepartments() { string query = $"SELECT * FROM managertasks.department "; Func <MySqlDataReader, List <DepartmentUser> > func = (reader) => { List <DepartmentUser> departments = new List <DepartmentUser>(); while (reader.Read()) { departments.Add(ConvertDepartment.convertDBtoDepartment(reader)); } return(departments); }; return(DBAccess.RunReader(query, func)); }
/// <summary> /// Gets hours and worker for departments project /// </summary> /// <param name="projectId">idProject</param> /// <returns>List<HourForDepartment>-HourForDepartment </returns> public static List <HourForDepartment> GetHoursDepartmentsProject(int projectId) { string query = $"SELECT * FROM managertasks.hourfordepartment h join department d on d.id=h.departmentId where projectId={projectId};"; Func <MySqlDataReader, List <HourForDepartment> > func = (reader) => { List <HourForDepartment> hoursDepartments = new List <HourForDepartment>(); while (reader.Read()) { hoursDepartments.Add(ConvertDepartment.ConvertToHoursDepartmentProject(reader)); } return(hoursDepartments); }; List <HourForDepartment> departmentsProject = DBAccess.RunReader(query, func); departmentsProject.ForEach(h => { h.WorkersInDepartment = GetWorkersByDepartmentAndProject(h.DepartmentId, projectId); }); return(departmentsProject.Count() != 0 ? departmentsProject : new List <HourForDepartment>()); }