public ProjectMainMenu(int projectId, UserModel userModel, IssueModel issueModel, ProjectModel projectModel, ProjectMemberModel projectMemberModel)
 {
     InitializeComponent();
     this.userModel          = userModel;
     this.issueModel         = issueModel;
     this.projectModel       = projectModel;
     this.projectMemberModel = projectMemberModel;
     this.projectModel.projectDataChanged += UpdateView;
     infoController = new ProjectInfoController(projectModel);
     project        = infoController.getProjectInfo(SecurityModel.getInstance().AuthenticatedUser.UserId, projectId);
     SetProjectContext();
 }
Esempio n. 2
0
 public void InitializeDataGridView(DataGridView table)
 {
     if (!project.Manager.Equals(SecurityModel.getInstance().AuthenticatedUser.UserName))
     {
         table.Columns[4].Visible = false;
         table.Columns.RemoveAt(3);
         DataGridViewTextBoxColumn role = new DataGridViewTextBoxColumn();
         role.HeaderText   = "Role";
         role.Name         = "_userRole";
         role.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCellsExceptHeader;
         table.Columns.Insert(3, role);
     }
 }
Esempio n. 3
0
        private void updateView()
        {
            userModel.updateAuthenticatedUser(SecurityModel.getInstance().AuthenticatedUser.UserId);
            user = SecurityModel.getInstance().AuthenticatedUser;

            usernameLabel.Text             = user.UserName;
            emailAddressLabel.Text         = user.EmailAddress;
            editUsernameTextBox.Text       = user.UserName;
            editEmailAddressTextBox.Text   = user.EmailAddress;
            joinedProjectNumberLabel.Text  = user.JoinedProjects.Count.ToString();
            invitedProjectNumberLabel.Text = user.InvitedProjects.Count.ToString();
            trackingIssueNumberLabel.Text  = issueController.getIssueList().Count.ToString();;
        }
Esempio n. 4
0
        public ReportView(UserModel userModel, IssueModel issueModel, ProjectModel projectModel, ProjectMemberModel projectMemberModel)
            : base(userModel, issueModel, projectModel, projectMemberModel)
        {
            InitializeComponent();
            this.userModel          = userModel;
            this.issueModel         = issueModel;
            this.projectModel       = projectModel;
            this.projectMemberModel = projectMemberModel;
            securityController      = new SecurityController(userModel);
            projectInfoController   = new ProjectInfoController(projectModel);
            reportController        = new ReportController(userModel, issueModel, projectModel);

            user = SecurityModel.getInstance().AuthenticatedUser;

            initializeView();
        }
        private void joinedProjectsDataGridViewCellDoubleClicked(object sender, DataGridViewCellEventArgs e)
        {
            User user = SecurityModel.getInstance().AuthenticatedUser;

            if (e.RowIndex >= 0 && e.RowIndex < joinedProjectsDataGridView.RowCount)
            {
                joinedProjectsDataGridView.Rows[e.RowIndex].Selected = true;
                Form form = FindForm("ProjectMainMenu");
                if (form != null)
                {
                    form.Show();
                }
                else
                {
                    ProjectMainMenu projectMainMenu = new ProjectMainMenu((int)(joinedProjectsDataGridView.Rows[e.RowIndex].Cells[0].Value), userModel, issueModel, projectModel, projectMemberModel);
                    projectMainMenu.Show();
                }
            }
        }
Esempio n. 6
0
 private void BaseViewLoad(object sender, EventArgs e)
 {
     if (SecurityModel.getInstance().AuthenticatedUser.Authority == (int)User.AuthorityEnum.GeneralUser)
     {
         userListToolStripButton.Visible = false;
         userListToolStripButton.Enabled = false;
         toolStripSeparator2.Visible     = false;
     }
     else
     {
         createProjectButton.Visible        = false;
         createProjectButton.Enabled        = false;
         createIssueToolStripButton.Visible = false;
         createIssueToolStripButton.Enabled = false;
         viewReportToolStripButton.Visible  = false;
         viewReportToolStripButton.Enabled  = false;
         toolStripSeparator1.Visible        = false;
     }
 }
Esempio n. 7
0
        private void updateIssueInfoView()
        {
            this.Text = issueDetails[0].IssueName;

            reporter = userController.getUser(issueDetails[0].ReporterId);
            assignee = userController.getUser(issueDetails[0].PersonInChargeId);

            issueNameLabel.Text = issueDetails[0].IssueName;
            issueStateComboBox.SelectedIndex    = issueStateComboBox.FindStringExact(issueDetails[0].State);
            issuePriorityComboBox.SelectedIndex = issuePriorityComboBox.FindStringExact(issueDetails[0].Priority);
            issueSeverityComboBox.SelectedIndex = issueSeverityComboBox.FindStringExact(issueDetails[0].Serverity);
            issueReporterLabel.Text             = reporter.UserName;
            issueReportDateLabel.Text           = issueDetails[0].ReportDate.ToString();
            issueAssigneeComboBox.Text          = assignee.UserName;
            issueDescriptionRichTextBox.Text    = issueDetails[0].Description.Replace("<br>", "\n");
            if (issueAssigneeComboBox.Text != SecurityModel.getInstance().AuthenticatedUser.UserName)
            {
                submitButton.Enabled = false;
            }

            issueHistoryFlowLayoutPanel.Controls.Clear();
            foreach (Issue issue in issueDetails)
            {
                if (issue.IssueId != issueDetails[0].IssueId)
                {
                    issueHistoryBlock block = new issueHistoryBlock();
                    reporter     = userController.getUser(issue.ReporterId);
                    assignee     = userController.getUser(issue.PersonInChargeId);
                    block.Width  = issueHistoryFlowLayoutPanel.Width - 80;
                    block.Margin = new System.Windows.Forms.Padding(20);
                    block.issueNameLabel.Text              = issue.IssueName;
                    block.issueStateLabel.Text             = issue.State;
                    block.issueReporterLabel.Text          = reporter.UserName;
                    block.issueReportDateLabel.Text        = issue.ReportDate.ToString();
                    block.issueAssigneeLabel.Text          = assignee.UserName;
                    block.issueFinishDateLabel.Text        = issue.FinishDate.ToString();
                    block.issueDescriptionRichTextBox.Text = issue.Description.Replace("<br>", "\n");
                    issueHistoryFlowLayoutPanel.Controls.Add(block);
                }
            }
        }
        public ProjectListView(UserModel userModel, IssueModel issueModel, ProjectModel projectModel, ProjectMemberModel projectMemberModel)
            : base(userModel, issueModel, projectModel, projectMemberModel)
        {
            InitializeComponent();
            this.userModel          = userModel;
            this.issueModel         = issueModel;
            this.projectModel       = projectModel;
            this.projectMemberModel = projectMemberModel;
            projectInfoController   = new ProjectInfoController(projectModel);
            projectListController   = new ProjectListController(projectModel, projectMemberModel);

            projectModel.projectDataChanged             += updateView;
            projectMemberModel.projectMemberDataChanged += updateView;

            user = SecurityModel.getInstance().AuthenticatedUser;

            systemManagerTableLayoutPanel.Enabled = true;
            systemManagerTableLayoutPanel.Visible = true;
            generalUserTableLayoutPanel.Enabled   = false;
            generalUserTableLayoutPanel.Visible   = false;
        }
Esempio n. 9
0
        private void Initialize(String purpose, int projectId)
        {
            if (purpose.Equals(Project.UPDATE))
            {
                project = infoController.getProjectInfo(SecurityModel.getInstance().AuthenticatedUser.UserId, projectId);
                _projectNameInput.Text = project.ProjectName;
                _descriptionInput.Text = project.Description.Replace("<br>", "\r\n");
            }
            _createUpdate.Text = purpose;

            if (project != null && project.Manager != null)
            {
                if (!SecurityModel.getInstance().AuthenticatedUser.UserName.Equals(project.Manager))
                {
                    _createUpdate.Visible      = false;
                    _createUpdate.Enabled      = false;
                    _descriptionInput.ReadOnly = true;
                    _projectNameInput.ReadOnly = true;
                }
            }
        }
Esempio n. 10
0
        static void Main()
        {
            System.Net.ServicePointManager.ServerCertificateValidationCallback =
                new System.Net.Security.RemoteCertificateValidationCallback(delegate(object MySender,
                                                                                     System.Security.Cryptography.X509Certificates.X509Certificate MyCertificate,
                                                                                     System.Security.Cryptography.X509Certificates.X509Chain MyChain,
                                                                                     System.Net.Security.SslPolicyErrors MyErrors)
            {
                if (MySender is System.Net.WebRequest)
                {
                    //忽略憑証檢查,一律回傳true
                    return(true);
                }
                return(false);
            });

            UserModel          userModel          = new UserModel();
            IssueModel         issueModel         = new IssueModel();
            ProjectModel       projectModel       = new ProjectModel();
            ProjectMemberModel projectMemberModel = new ProjectMemberModel();

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            while (SecurityModel.getInstance().IsProgramRunning)
            {
                Application.Run(new LoginView(userModel, issueModel, projectModel, projectMemberModel));
                while (SecurityModel.getInstance().AuthenticatedUser != null)
                {
                    if (SecurityModel.getInstance().AuthenticatedUser.Authority == (int)User.AuthorityEnum.GeneralUser)
                    {
                        Application.Run(new UserInfoView(userModel, issueModel, projectModel, projectMemberModel));
                    }
                    else
                    {
                        Application.Run(new SecurityView(userModel, issueModel, projectModel, projectMemberModel));
                    }
                }
            }
        }
Esempio n. 11
0
        private void finishEditButtonClicked(object sender, EventArgs e)
        {
            if (editUsernameTextBox.Text == String.Empty)
            {
                errorProvider.SetError(editUsernameTextBox, "名稱不得為空");
            }
            if (editEmailAddressTextBox.Text == String.Empty)
            {
                errorProvider.SetError(editEmailAddressTextBox, "郵件地址不得為空");
            }
            if (errorProvider.GetError(editConfirmPasswordTextBox) != String.Empty)
            {
                return;
            }
            User user = SecurityModel.getInstance().AuthenticatedUser;

            user.UserName     = editUsernameTextBox.Text;
            user.Password     = editPasswordTextBox.Text;
            user.EmailAddress = editEmailAddressTextBox.Text;
            userController.updateUser(user);
            viewInfoTableLayoutPanel.Visible = true;
            editInfoTableLayoutPanel.Visible = false;
        }
Esempio n. 12
0
        private void projectListToolStripButtonClicked(object sender, EventArgs e)
        {
            ProjectListView projectListView = null;

            if (SecurityModel.getInstance().AuthenticatedUser.Authority == (int)User.AuthorityEnum.GeneralUser)
            {
                projectListView = new ProjectListView(0, userModel, issueModel, projectModel, projectMemberModel);
            }
            else
            {
                projectListView = new ProjectListView(userModel, issueModel, projectModel, projectMemberModel);
            }

            /*            projectListView.Visible = true;
             *          if (this.Owner != null)
             *              this.Close();*/
            Form form = FindForm("ProjectListView");

            if (form == null)
            {
                projectListView.ShowDialog();
            }
        }
Esempio n. 13
0
        public IssueListView(UserModel userModel, IssueModel issueModel, ProjectModel projectModel, ProjectMemberModel projectMemberModel)
            : base(userModel, issueModel, projectModel, projectMemberModel)
        {
            InitializeComponent();
            this.userModel          = userModel;
            this.issueModel         = issueModel;
            this.projectModel       = projectModel;
            this.projectMemberModel = projectMemberModel;
            userController          = new UserController(userModel);
            issueController         = new IssueController(userModel, issueModel, projectModel);
            projectInfoController   = new ProjectInfoController(projectModel);

            user              = SecurityModel.getInstance().AuthenticatedUser;
            initialKeyword    = user.UserName;
            initialSearchType = (int)Issue.SearchType.ByPersonInChargeName;

            if (user.Authority == (int)User.AuthorityEnum.SystemManager)
            {
                createIssueButton.Enabled         = false;
                createIssueButton.Visible         = false;
                viewStatisticReportButton.Enabled = false;
                viewStatisticReportButton.Visible = false;
            }
        }
Esempio n. 14
0
        private void DeleteButtonClicked(object sender, EventArgs e)
        {
            int state = infoController.deleteProject(SecurityModel.getInstance().AuthenticatedUser.UserId, project.ProjectId);

            this.Close();
        }
Esempio n. 15
0
 public void UpdateView()
 {
     project            = projectModel.getProjectInfo(SecurityModel.getInstance().AuthenticatedUser.UserId, project.ProjectId);
     _projectName.Text  = project.ProjectName;
     _errorMessage.Text = "";
 }
Esempio n. 16
0
 public void Update()
 {
     projectContext    = projectModel.getProjectInfo(SecurityModel.getInstance().AuthenticatedUser.UserId, projectContext.ProjectId);
     _projectName.Text = projectContext.ProjectName;
 }
Esempio n. 17
0
 public void UpdateView()
 {
     project           = projectModel.getProjectInfo(SecurityModel.getInstance().AuthenticatedUser.UserId, project.ProjectId);
     _projectName.Text = project.ProjectName;
     ShowData();
 }
 public int updateInfo(ProjectMember member, bool joined)
 {
     return(model.updateInfo(SecurityModel.getInstance().AuthenticatedUser.UserId, member, joined));
 }
Esempio n. 19
0
 public void DeleteMember(ProjectMember member)
 {
     int state = memberController.deleteMember(SecurityModel.getInstance().AuthenticatedUser.UserId, member);
 }
 public int createMember(ProjectMember member)
 {
     return(model.createMember(SecurityModel.getInstance().AuthenticatedUser.UserId, member));
 }