/// <summary> /// Gets workers that work in this project /// </summary> /// <param name="projectId">projectId</param> /// <returns> List<ProjectWorker>-worker in this project</returns> public static List <ProjectWorker> GetUsersBelongProjects(int projectId) { string query = $"SELECT * FROM project p JOIN projectworker pw ON p.projectId =pw.projectId JOIN user u ON pw.id =u.id WHERE pw.projectId={projectId} AND pw.isActive=true"; List <ProjectWorker> projectWorker = new List <ProjectWorker>(); Func <MySqlDataReader, List <ProjectWorker> > func = (reader) => { List <ProjectWorker> projectWorkers = new List <ProjectWorker>(); while (reader.Read()) { projectWorkers.Add(ConvertProjectWorker.convertDBtoProjectWorkersWithProjectAndUser(reader)); } return(projectWorkers); }; projectWorker = DBAccess.RunReader(query, func); if (projectWorker != null) { foreach (var item in projectWorker) { query = $" SELECT sum(sumHours) FROM managertasks.presentday where id ={item.UserId} and projectId ={item.ProjectId}"; string result = DBAccess.RunScalar(query).ToString(); item.SumHoursDone = result != string.Empty ? decimal.Parse(result.ToString()) : 0; } } return(projectWorker); }
public static List <ProjectWorker> getUsersOfTeamLeader(int teamleaderId) { string query = $"SELECT u.*, d.* FROM managertasks.user u JOIN managertasks.department d ON u.departmentUserId = d.id join projectworker p on u.id = p.id "; Func <MySqlDataReader, List <ProjectWorker> > func = (reader) => { List <ProjectWorker> userNotInProject = new List <ProjectWorker>(); while (reader.Read()) { userNotInProject.Add(ConvertProjectWorker.convertDBtoProjectWorkersWithProjectAndUser(reader)); } return(userNotInProject); }; return(DBAccess.RunReader(query, func)); }