protected void StudentUpdateProject_Click(object sender, EventArgs e) { var button = sender as Button; if (string.IsNullOrWhiteSpace(button.CommandArgument)) { return; } var projectId = new Guid(button.CommandArgument); var project = DatabaseContext.Projects.First(p => p.Id == projectId); var fileName = StudentProjectFile.FileName; var path = Server.MapPath(".") + "\\ProjectFiles\\" + fileName; StudentProjectFile.SaveAs(path); var url = GetBaseUrl() + "ProjectFiles/" + fileName; project.Url = url; var oldStatus = project.Status; project.Status = ProjectStatus.Created; project.PhisicalPath = path; DatabaseContext.Entry(project).State = System.Data.Entity.EntityState.Modified; // add history var projectHistory = new ProjectHistory(); projectHistory.Id = Guid.NewGuid(); projectHistory.ChangeDate = DateTime.Now; projectHistory.Comments = StudentComment.Text; projectHistory.OldStatus = project.Status; projectHistory.NewStatus = oldStatus; projectHistory.UserId = LoggedInUserId; projectHistory.ProjectId = projectId; DatabaseContext.ProjectHistories.Add(projectHistory); DatabaseContext.SaveChanges(); LoadProjects(); LoadProject(project); }
protected void UpdateProjectHistory_Click(object sender, EventArgs e) { var button = sender as Button; if (string.IsNullOrWhiteSpace(button.CommandArgument)) { return; } var newStatusDropdown = CommentNewStatus; var newStatus = (ProjectStatus)Convert.ToInt16(newStatusDropdown.SelectedValue); var gradeTextbox = CommentGrade; var commentTextbox = Comment; var projectId = new Guid(button.CommandArgument); var project = DatabaseContext.Projects.First(p => p.Id == projectId); // add history var projectHistory = new ProjectHistory(); projectHistory.Id = Guid.NewGuid(); projectHistory.ChangeDate = DateTime.Now; projectHistory.Comments = commentTextbox.Text; projectHistory.OldStatus = project.Status; projectHistory.NewStatus = newStatus; projectHistory.UserId = LoggedInUserId; projectHistory.ProjectId = projectId; DatabaseContext.ProjectHistories.Add(projectHistory); // update project status and grade project.Grade = gradeTextbox.Text; project.Status = newStatus; DatabaseContext.Entry(project).State = System.Data.Entity.EntityState.Modified; DatabaseContext.SaveChanges(); LoadProjects(); LoadProject(project); }