public ReportDetailPage(Data.ProjectInfo project)
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterParent;
            int projectid = int.Parse(project.projectid);

            labelTitle.Text = project.title;
            FormHelper.centerControlHalf(this, labelTitle);

            labelTaskCompleteCount.Text += getCompletedTasks(projectid);
            FormHelper.centerControlHalf(this, labelTaskCompleteCount);

            labelTaskIncompleteCount.Text += getIncompleteTasks(projectid);
            FormHelper.centerControlHalf(this, labelTaskIncompleteCount);

            labelTaskCount.Text += getTotalTasks(projectid);
            FormHelper.centerControlHalf(this, labelTaskCount);

            labelProgrammerCount.Text += getTotalProgrammers(projectid);
            FormHelper.centerControlHalf(this, labelProgrammerCount);

            labelIssueCount.Text += getTotalIssues(projectid);
            FormHelper.centerControlHalf(this, labelIssueCount);

            labelClosedIssues.Text += getTotalClosedIssues(projectid);
            FormHelper.centerControlHalf(this, labelClosedIssues);

            labelOpenIssues.Text += getTotalOpenIssues(projectid);
            FormHelper.centerControlHalf(this, labelOpenIssues);

            FormHelper.centerControlHalf(this, buttonBack);
        }
        private void fillProjectListProgrammer(Data.UserInfo userInfo)
        {
            try {
                if (SQL.read.HasRows)
                {
                    while (SQL.read.Read())
                    {
                        // Create projectInfo object and add to arrayList
                        Data.ProjectInfo project = new Data.ProjectInfo(SQL.read[0].ToString(), SQL.read[1].ToString(), SQL.read[2].ToString(),
                                                                        SQL.read[3].ToString(), SQL.read[4].ToString(), SQL.read[5].ToString(), SQL.read[6].ToString(),
                                                                        SQL.read[7].ToString());
                        projects.Add(project);

                        // add to list box
                        listBoxProjects.Items.Add(String.Format("Title: {0}",
                                                                project.title));
                    }
                }
                else
                {
                    listBoxProjects.Items.Add(String.Format("No projects found for {0}", userInfo.username));
                }
            } catch (Exception e) {
                Console.WriteLine(e);
            }
        }
Esempio n. 3
0
        public ProjectDetailPage(Data.ProjectInfo projectInfo)
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterParent;

            labelTitle.Text         = projectInfo.title;
            textBoxStatus.Text      = projectInfo.status;
            textBoxDescription.Text = projectInfo.description;
            // Remove time from start date
            String[] startDateTokens = projectInfo.startDate.Split(' ');
            labelStartDate.Text = String.Format("Start Date: {0}", startDateTokens[0]);
            // Remove time from start date
            String[] endDateTokens = projectInfo.endDate.Split(' ');
            labelEndDate.Text  = String.Format("End Date: {0}", endDateTokens[0]);
            labelBudget.Text   = String.Format("Budget: ${0}", projectInfo.budget);
            labelCustomer.Text = String.Format("Customer: {0}", projectInfo.customerUsername);

            // attatch event listener to remove focus from textboxes when clicked
            textBoxStatus.GotFocus      += textBox_GotFocus;
            textBoxDescription.GotFocus += textBox_GotFocus;

            FormHelper.centerControlHalf(this, labelTitle);
            FormHelper.centerControlHalf(this, textBoxStatus);
            FormHelper.centerControlHalf(this, textBoxDescription);
            FormHelper.centerControlHalf(this, labelStartDate);
            FormHelper.centerControlHalf(this, labelEndDate);
            FormHelper.centerControlHalf(this, labelBudget);
            FormHelper.centerControlHalf(this, labelCustomer);
            FormHelper.centerControlHalf(this, buttonBack);
        }
        // Show tasks of the selected project
        private void buttonViewTasks_Click(object sender, EventArgs e)
        {
            int projectIndex = listBoxProjects.SelectedIndex;

            if (projectIndex == -1)
            {
                MessageBox.Show("Please select a project");
                return;
            }

            Data.ProjectInfo project = (Data.ProjectInfo)projects[projectIndex];
            TaskPage         page    = new TaskPage(int.Parse(project.projectid), userInfo);

            page.FormClosed += Page_FormClosed;
            Hide();
            page.ShowDialog();
        }
        private void buttonSelect_Click(object sender, EventArgs e)
        {
            int projectIndex = listBoxProjects.SelectedIndex;

            if (projectIndex == -1)
            {
                MessageBox.Show("Please select a project");
                return;
            }
            Data.ProjectInfo project = (Data.ProjectInfo)projects[projectIndex];

            ProjectDetailPage page = new ProjectDetailPage(project);

            page.FormClosed += Page_FormClosed;
            Hide();
            page.ShowDialog();
        }
        public ProjectPage(Data.UserInfo userInfo)
        {
            InitializeComponent();
            this.userInfo      = userInfo;
            this.StartPosition = FormStartPosition.CenterParent;
            listBoxProjects.HorizontalScrollbar = true;

            FormHelper.centerControlHalf(this, labelProjects);



            // Get managers projects
            String query = String.Format("SELECT * FROM project JOIN manage " +
                                         "ON project.projectid = manage.projectid WHERE managerUsername = '******' ORDER BY status desc", userInfo.username);

            SQL.selectQuery(query);



            projects = new ArrayList();
            try {
                if (SQL.read.HasRows)
                {
                    while (SQL.read.Read())
                    {
                        // Create projectInfo object and add to arrayList
                        Data.ProjectInfo project = new Data.ProjectInfo(SQL.read[0].ToString(), SQL.read[1].ToString(), SQL.read[2].ToString(),
                                                                        SQL.read[3].ToString(), SQL.read[4].ToString(), SQL.read[5].ToString(), SQL.read[6].ToString(),
                                                                        SQL.read[7].ToString());
                        projects.Add(project);

                        // add to list box
                        listBoxProjects.Items.Add(String.Format("Title: {0} | Status: {1}",
                                                                project.title, project.status));
                    }
                }
                else
                {
                    listBoxProjects.Items.Add(String.Format("No projects found for {0}", userInfo.username));
                }
            } catch (Exception ex) {
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine(ex);
            }
        }
        private void buttonConfirm_Click(object sender, EventArgs e)
        {
            // if no project selected
            if (listBoxContent.SelectedIndex == -1)
            {
                if (userInfo.role == Data.UserInfo.PROGRAMMER_ROLE)
                {
                    MessageBox.Show("Please select a task");
                }
                else
                {
                    MessageBox.Show("Please select a project");
                }
                return;
            }
            Data.IssueInfo issue = null;
            switch (userInfo.role)
            {
            case Data.UserInfo.MANAGER_ROLE:
                // get selected project and create issue object
                Data.ProjectInfo project = (Data.ProjectInfo)listContent[listBoxContent.SelectedIndex];
                issue = new Data.IssueInfo(null, textBoxDescription.Text, comboBoxUrgency.SelectedItem.ToString(),
                                           comboBoxStatus.SelectedItem.ToString(), null, int.Parse(project.projectid));

                break;

            case Data.UserInfo.PROGRAMMER_ROLE:
                Data.TaskInfo task = (Data.TaskInfo)listContent[listBoxContent.SelectedIndex];
                issue = new Data.IssueInfo(null, textBoxDescription.Text, comboBoxUrgency.SelectedItem.ToString(),
                                           comboBoxStatus.SelectedItem.ToString(), null, int.Parse(task.projectid.ToString()));
                break;
            }
            // add issue to database
            try {
                SQL.insertIssue(issue);
            } catch (Exception ex) {
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine(ex);
                MessageBox.Show("Error adding issue");
                return;
            }

            this.Close();
        }
        // returns a list of projects that the logged in manager is associated with
        private ArrayList getManagerProjectAssc()
        {
            ArrayList projects = new ArrayList();

            SQL.getManagerProjectAssc(userInfo.username);

            try {
                if (SQL.read.HasRows)
                {
                    while (SQL.read.Read())
                    {
                        // Create taskInfo object and add to arrayList
                        Data.ProjectInfo project = new Data.ProjectInfo(SQL.read[2].ToString(), SQL.read[3].ToString(), SQL.read[4].ToString(),
                                                                        SQL.read[5].ToString(), SQL.read[6].ToString(), SQL.read[7].ToString(), SQL.read[8].ToString(), SQL.read[9].ToString());
                        projects.Add(project);
                    }
                }
            } catch (Exception ex) {
                Console.WriteLine(ex);
                Console.WriteLine(ex.StackTrace);
                return(null);
            }
            return(projects);
        }