示例#1
0
        public List <Task> GetTasksForOwner(User Owner)// done?
        {
            List <Task> tasks = new List <Task>();

            SqlConnection scon = new SqlConnection(connectionString);

            scon.Open();
            string     query = "SELECT * FROM Tasks.Tasks WHERE OwnerUserID = @OwnerUserID";
            SqlCommand cmd   = new SqlCommand(query, scon);

            cmd.Parameters.AddWithValue("@OwnerUserID", Owner.UserID);

            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    UserGroup tempUserGroup = new UserGroup((int)reader["UserGroup"], Owner, reader["Name"].ToString(), reader["Description"].ToString());
                    TaskState tempTaskState = new TaskState((int)reader["TaskStateID"], reader["Name"].ToString(), reader["Description"].ToString(), reader["Color"].ToString());
                    Task      tempTask      = new Task(int.Parse(reader["TaskID"].ToString()),
                                                       reader["Name"].ToString(),
                                                       reader["Description"].ToString(),
                                                       tempUserGroup,
                                                       Owner,
                                                       tempTaskState,
                                                       (DateTime)reader["DueDate"],
                                                       (DateTime)reader["StartDate"],
                                                       (DateTime)reader["CompletionDate"], null);

                    tasks.Add(tempTask);
                }
            }

            scon.Close();
            return(tasks);
        }
示例#2
0
        public Task CreateTask(string Name, string Description, UserGroup UserGroup, User Owner, TaskState TaskState, DateTime DueDate, DateTime StartDate, DateTime?CompletionDate, List <TaskCategory> TaskCategories)
        {
            SqlConnection scon = new SqlConnection(connectionString);

            scon.Open();

            string     query = "INSERT INTO Tasks.Tasks([Name], [Description], OwnerUserID, UserGroupID, TaskStateID, DueDate, StartDate, CompletionDate) OUTPUT INSERTED.TaskID values (@Name, @Description, @OwnerUserID, @UserGroupID, @TaskStateID, @DueDate, @StartDate, @CompletionDate)";
            SqlCommand cmd   = new SqlCommand(query, scon);

            cmd.Parameters.AddWithValue("@Name", Name);
            cmd.Parameters.AddWithValue("@Description", Description);
            cmd.Parameters.AddWithValue("@OwnerUserID", Owner.UserID);
            cmd.Parameters.AddWithValue("@UserGroupID", UserGroup.UserGroupID);
            cmd.Parameters.AddWithValue("@TaskStateID", TaskState.TaskStateID);
            cmd.Parameters.AddWithValue("@DueDate", DueDate);
            cmd.Parameters.AddWithValue("@StartDate", StartDate);
            cmd.Parameters.AddWithValue("@CompletionDate", CompletionDate != null ? (object)CompletionDate : (object)DBNull.Value);

            int TaskID = (int)cmd.ExecuteScalar();

            foreach (TaskCategory ts in TaskCategories)
            {
                string     tsQuery = "INSERT INTO Tasks.TaskTaskCategories(TaskID, TaskCategoryID) OUTPUT INSERTED.TaskCategoryID values (@TaskID, @TaskCategoryID)";
                SqlCommand tsCmd   = new SqlCommand(tsQuery, scon);
                tsCmd.Parameters.AddWithValue("@TaskID", TaskID);
                tsCmd.Parameters.AddWithValue("@TaskCategoryID", ts.TaskCategoryID);
                tsCmd.ExecuteNonQuery();
            }
            scon.Close();
            Task tempTask = new Task(TaskID, Name, Description, UserGroup, Owner, TaskState, DueDate, StartDate, CompletionDate, null);

            return(tempTask);
        }
 public EditTaskCategoriesForm(IDatabaseManager database, User user, Task task)
 {
     this.database = database;
     this.user     = user;
     this.task     = task;
     InitializeComponent();
 }
示例#4
0
        public List <Task> GetTasksForUser(User User)
        {
            List <Task> tasks = new List <Task>();

            SqlConnection scon = new SqlConnection(connectionString);

            scon.Open();
            string     query = @"
            SELECT
                U.UserID,
	            U.[Name] AS UserName,
                U.Email AS UserEmail,
                T.TaskID,
	            T.TaskStateID,
	            T.[Name] AS TaskName,
                T.[Description] AS TaskDescription,
                TS.[Name] AS TaskStateName,
                TS.[Description] AS TaskStateDescription,
                T.[Description] AS TaskDescription,
                T.DueDate,
	            T.StartDate,
                T.CompletionDate,
                T.UserGroupID,
                UG.[Name] AS UserGroupName,
                UG.[Description] AS UserGroupDescription,
	            TS.Color
            FROM Tasks.Tasks T
                INNER JOIN Tasks.TaskStates TS ON T.TaskStateID = TS.TaskStateID
                INNER JOIN Users.UserGroupUsers UGU ON T.UserGroupID = UGU.UserGroupID
                INNER JOIN Users.UserGroups UG ON UGU.UserGroupID = UG.UserGroupID
                INNER JOIN Users.Users U ON T.OwnerUserID = U.UserID
            WHERE UGU.UserID = @UserID";
            SqlCommand cmd   = new SqlCommand(query, scon);

            cmd.Parameters.AddWithValue("@UserID", User.UserID);

            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    List <TaskCategory> ltc = new List <TaskCategory>();

                    string tcQuery = "SELECT TTC.TaskCategoryID AS TTCTaskCategoryID, TC.TaskCategoryID AS TCTaskCategoryID, TC.OwnerID, TC.[Name] AS TCName, TC.[Description] AS TCDescription, TC.Color" +
                                     " FROM Tasks.TaskTaskCategories TTC" +
                                     " INNER JOIN Tasks.TaskCategories TC ON TC.TaskCategoryID=TTC.TaskCategoryID WHERE TTC.TaskID = @TaskID";
                    SqlCommand tcCmd = new SqlCommand(tcQuery, scon);
                    tcCmd.Parameters.AddWithValue("@TaskID", (int)reader["TaskID"]);

                    using (SqlDataReader tcReader = tcCmd.ExecuteReader())
                    {
                        while (tcReader.Read())
                        {
                            ltc.Add(new TaskCategory((int)tcReader["TTCTaskCategoryID"], null,
                                                     (string)tcReader["TCName"], tcReader["TCDescription"].Equals(DBNull.Value) ? null : (string)tcReader["TCDescription"], (string)tcReader["Color"]));
                        }
                    }

                    UserGroup tempUserGroup = new UserGroup((int)reader["UserGroupID"], User, reader["UserGroupName"].ToString(), reader["UserGroupDescription"].ToString());
                    TaskState tempTaskState = new TaskState((int)reader["TaskStateID"], reader["TaskStateName"].ToString(), reader["TaskStateDescription"].ToString(), reader["Color"].ToString());
                    Task      tempTask      = new Task(int.Parse(reader["TaskID"].ToString()),
                                                       reader["TaskName"].ToString(),
                                                       reader["TaskDescription"].ToString(),
                                                       tempUserGroup,
                                                       new User((int)reader["UserID"], (string)reader["UserName"], (string)reader["UserEmail"], null),
                                                       tempTaskState,
                                                       (DateTime)reader["DueDate"],
                                                       (DateTime)reader["StartDate"],
                                                       reader["CompletionDate"].Equals(DBNull.Value) ? null : (DateTime?)reader["CompletionDate"], ltc);

                    tasks.Add(tempTask);
                }
            }

            scon.Close();
            return(tasks);
        }