Ejemplo n.º 1
0
        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>());
        }