/// <summary> /// Extrage informatii despre munca unui user la un proiect. /// </summary> /// <param name="projId">Id-ul proiectului la care a lucrat userul.</param> /// <param name="userId">Id-ul userului care a lucrat la proiect.</param> /// <returns>Retuneaza lista cu data de inceput, descrierea, tipul si durata proiectului.</returns> public static List<ExtractInfo> WorkOfUserAtProject(int projId, int userId) { List<ExtractInfo> L = new List<ExtractInfo>(); string query = string.Format("SELECT start_time, description, type, duration FROM {0} WHERE user_id = @user_id AND project_id = @project_id", Globals.TABLE_ACTIVITY); DataSet dataset = new DataSet(); MySqlDataAdapter adapter = new MySqlDataAdapter(query, connection); adapter.SelectCommand.Parameters.AddWithValue("@user_id", userId); adapter.SelectCommand.Parameters.AddWithValue("@project_id", projId); adapter.Fill(dataset); foreach (DataRow row in dataset.Tables[0].Rows) { ExtractInfo ei = new ExtractInfo(); ei.StartTime = Convert.ToDateTime(row["start_time"].ToString()); ei.Description = Convert.ToString(row["description"]); ei.Type = Convert.ToInt32(row["type"].ToString()); ei.Duration = Convert.ToInt64(row["duration"].ToString()); L.Add(ei); } Destroy(adapter, dataset); return L; }
/// <summary> /// Extrage informatii despre activitatea unui user intr-o perioada de timp specificata. /// </summary> /// <param name="uid">Id-ul userului a carui activitate va fi extrasa.</param> /// <param name="date1">Data de inceput pentru cautare.</param> /// <param name="date2">Data de sfarsit pentru cautare.</param> /// <returns></returns> public static List<ExtractInfo> ActivityExtract(int uid, DateTime date1, DateTime date2) { List<Project> P = AllProjects(true);//toate proiectele sau nu? List<ExtractInfo> L = new List<ExtractInfo>(); string query = string.Format("SELECT * FROM {0} WHERE user_id = @user_id AND @date1 <= start_time AND start_time <= @date2 ORDER BY start_time ASC", Globals.TABLE_ACTIVITY); DataSet dataset = new DataSet(); MySqlCommand command = null; MySqlDataAdapter adapter = new MySqlDataAdapter(query, connection); adapter.SelectCommand.Parameters.AddWithValue("@user_id", uid); adapter.SelectCommand.Parameters.AddWithValue("@date1", date1); adapter.SelectCommand.Parameters.AddWithValue("@date2", date2); adapter.Fill(dataset); if (dataset.Tables[0].Rows.Count > 0) { foreach (DataRow row in dataset.Tables[0].Rows) { ExtractInfo A = new ExtractInfo(); A.StartTime = Convert.ToDateTime(row["start_time"].ToString()); A.Description = Convert.ToString(row["description"]); A.Type = Convert.ToInt32(row["type"].ToString()); A.Duration = Convert.ToInt64(row["duration"].ToString()); int pid = Convert.ToInt32(row["project_id"].ToString()); A.ProjectName = String.Empty; foreach (Project proj in P) if (proj.Id == pid) A.ProjectName = proj.Name; if (A.ProjectName != String.Empty) L.Add(A); } Destroy(adapter, dataset, command); return L; } Destroy(adapter, command); return null; }