protected void UpdateProject_Click(object sender, EventArgs e) { var button = sender as Button; var nameTextbox = ProjectName; var reviewerDropdown = ProjectReviewer; var fileUpload = ProjectFile; var statusLabel = ProjectMessageLabel; try { var fileName = fileUpload.FileName; var path = Server.MapPath(".") + "\\ProjectFiles\\" + fileName; fileUpload.SaveAs(path); var url = GetBaseUrl() + "ProjectFiles/" + fileName; var project = default(Project); var isNew = true; if (!string.IsNullOrWhiteSpace(button.CommandArgument)) {// existing project var projectId = new Guid(button.CommandArgument); project = DatabaseContext.Projects.First(p => p.Id == projectId); isNew = false; } else {// new project project = new Project(); project.Id = Guid.NewGuid(); } project.Name = nameTextbox.Text; project.Reviewer = reviewerDropdown.SelectedValue; project.DateUploaded = DateTime.Now; project.Author = LoggedInUserId; project.Url = url; project.Status = ProjectStatus.Created; project.PhisicalPath = path; if (isNew) { DatabaseContext.Projects.Add(project); } else { DatabaseContext.Entry(project).State = System.Data.Entity.EntityState.Modified; } DatabaseContext.SaveChanges(); LoadProjects(); statusLabel.Text = "The project has been added with success."; ProjectUpdatePanel.Visible = false; CommentsPanel.Visible = false; ProjectActionTitle.Text = string.Empty; } catch (Exception ex) { statusLabel.Text = "The project could not be added. " + ex.ToString(); } }
private void LoadStudentForm(Project project) { if (project == null) { return; } StudentCurrentStatus.Text = GetStatusDescription(project.Status); StudentComment.Text = string.Empty; StudentSubmit.CommandArgument = project.Id.ToString(); }
private void LoadProjectForm(Project project) { var nameTexbox = ProjectName; var submitButton = ProjectSubmit; if (project == null) { nameTexbox.Text = string.Empty; submitButton.Text = "Add"; submitButton.CommandArgument = string.Empty; } else { nameTexbox.Text = project.Name; submitButton.Text = "Update"; submitButton.CommandArgument = project.Id.ToString(); } }
private void LoadReviewerForm(Project project) { if (project == null) { return; } var currentStatusLabel = CurrentStatus; var newStatusDropDown = CommentNewStatus; var gradeTextbox = CommentGrade; var commentTextbox = Comment; var submitButton = CommentSubmit; currentStatusLabel.Text = GetStatusDescription(project.Status); gradeTextbox.Text = project.Grade; foreach (ListItem item in newStatusDropDown.Items) { if (item.Value == ((int)project.Status).ToString()) { item.Enabled = false; } else { item.Enabled = true; } } commentTextbox.Text = string.Empty; submitButton.CommandArgument = project.Id.ToString(); }
private void LoadProject(Project project) { // load comments CommentsRepeater.DataSource = project != null ? DatabaseContext.ProjectHistories.Where(p => p.ProjectId == project.Id).OrderByDescending(p=>p.ChangeDate).ToArray() : null; CommentsRepeater.DataBind(); // load project update form LoadProjectForm(project); // load reviewer form if (IsProfessor) { LoadReviewerForm(project); } if (IsStudent) { LoadStudentForm(project); } }