コード例 #1
0
        private void LoadProjectsToList()
        {
            //gets all the projects stored in the DB and puts them in a list
            //this will now populate multiple lists (for now it will have all projects
            // named 'userprojects' (projects the logged in user made) and 'projects' (all projects)
            // THESE ARE EXAMPLES, WE SHOULD FIGURE OUT WHAT PROJECTS PEOPLE WILL WANT TO SEE
            // this is also written as dashboard will employ similar methods of panel drawings


            DataTable userProjects = Connection.GetDbConn().GetDataTable(SqlProject.GetUserProjects(UserObject.loggedUser.iduser));

            foreach (DataRow userProject in userProjects.Rows)
            {
                ProjectObject up = new ProjectObject(userProject["idproject"].ToString(),
                                                     userProject["projName"].ToString(), userProject["user"].ToString(), userProject["description"].ToString(),
                                                     Convert.ToInt32(userProject["isPrivate"]));
                ProjectObject.UserProjects.Add(up);
            }
            //projectLists.Add(ProjectObject.UserProjects);

            DataTable projects = Connection.GetDbConn().GetDataTable(SqlProject.GetProjects());

            foreach (DataRow project in projects.Rows)
            {
                ProjectObject up1 = new ProjectObject(project["idproject"].ToString(),
                                                      project["projName"].ToString(), project["user"].ToString(), project["description"].ToString(),
                                                      Convert.ToInt32(project["isPrivate"]));
                ProjectObject.Projects.Add(up1);
            }
            projectLists.Add(ProjectObject.Projects);
            projectLists.Add(ProjectObject.UserProjects);
        }
コード例 #2
0
        private void RequestAccess(object sender, EventArgs e, ProjectObject project)
        {
            // create a follow project object which will notify the project poster that a user wants access
            try
            { // creates follow table row, as this is a private project (public projects are followed on bugsform)
                // sends a notification to the poster of the project to advise the user wants access.
                DateTime         now         = DateTime.Now;
                string           timestamp   = now.ToString("yyyy-MM-dd HH:mm:ss");
                string           timestampTo = now.AddSeconds(5).ToString("yyyy-MM-dd HH:mm:ss");
                SqlProject       sq          = new SqlProject();
                SqlNotifications notif       = new SqlNotifications();

                Connection.GetDbConn().CreateCommand(SqlFollow.FollowProject(UserObject.loggedUser.iduser, project.idproject));

                notif.InsertNotification(UserObject.loggedUser.iduser, project.idproject, "", "", "request access", "", now);

                DataSet getNotifId = Connection.GetDbConn().GetDataSet($"SELECT idnotification FROM notification" +
                                                                       $" WHERE usernotif = {UserObject.loggedUser.iduser} AND project = {project.idproject} AND timestamp BETWEEN '{timestamp}' AND '{timestampTo}'");
                string notifId = getNotifId.Tables[0].Rows[0].ItemArray.GetValue(0).ToString();

                DataSet getProjectOwner = Connection.GetDbConn().GetDataSet($"SELECT user FROM project WHERE idproject = { project.idproject}");
                string  projOwner       = getProjectOwner.Tables[0].Rows[0].ItemArray.GetValue(0).ToString();

                notif.InsertToNotify(notifId, projOwner, "0");
                MessageBox.Show("Request sent to project creator");
            }
            catch (Exception)
            {
                MessageBox.Show("Request already sent");
            }
        }
コード例 #3
0
        /// <summary>
        /// On save button press, inserts a new project into the database with entered information
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_SaveProject_Click(object sender, EventArgs e)
        {
            int        isPrivate;
            SqlProject newProject = new SqlProject();

            if (CheckBox_PrivateProject.Checked)
            {
                isPrivate = 1;
            }
            else
            {
                isPrivate = 0;
            }
            newProject.InserProject(TextBox_ProjectName.Text, UserObject.loggedUser.iduser, RichTextBox_Description.Text, isPrivate);
            TextBox_ProjectName.Clear();
            RichTextBox_Description.Clear();
        }