public void btnAutoCompile_Click(object sender, System.EventArgs e) { try { //make sure the user is allowed to do this if (!SharedSupport.SecurityIsAllowed(courseId, SecurityAction.USERASSIGNMENT_EDIT)) { // Note that Redirect ends page execution. Response.Redirect(@"../Error.aspx?ErrorDetail=" + "Global_Unauthorized"); } int[] userAssignmentIds = getCheckedUserAssignmentIdsFromDataList(); if (userAssignmentIds.Length < 1) { Nav1.Feedback.Text = SharedSupport.GetLocalizedString("Submissions_NoSelectionMade"); return; } //call Auto Compile for each UserAssignmentID for (int i = 0; i < userAssignmentIds.Length; i++) { StudentAssignmentM.SendActionToQueue(userAssignmentIds[i], true, false); } // refresh user assignments data list userAssignmentsRefresh(); Nav1.Feedback.Text = SharedSupport.GetLocalizedString("FacultySubmissions_BuildSubmitSuccessful"); } catch (Exception ex) { Nav1.Feedback.Text = ex.Message; } }
//AutoCompile related fields. Only visible when AutoCompile details are present protected void LocalizeAutoBuildLabels(StudentAssignmentM assignment) { this.lblCompileResultLabel.Text = SharedSupport.GetLocalizedString("GradeDetail_Result"); this.lblCompileResult.Text = Server.HtmlEncode(assignment.BuildResultCode); this.lblCompileDateLabel.Text = SharedSupport.GetLocalizedString("GradeDetail_Date"); this.lblCompileDate.Text = Server.HtmlEncode(assignment.LastUpdatedDate.ToShortDateString()); this.lblCompileDetailLabel.Text = SharedSupport.GetLocalizedString("GradeDetail_Detail"); this.lblCompileDetails.Text = assignment.BuildDetails; }
private void userAssignmentDetailRefresh() { StudentAssignmentM sa = StudentAssignmentM.Load(studentID, assignmentId); if (sa != null) { txtGrade.Text = sa.OverallGrade; txtComments.Text = sa.GradeComments; lblDateSubmitted.Text = Server.HtmlEncode(sa.LastSubmitDate.ToShortDateString() + " " + sa.LastSubmitDate.ToShortTimeString()); //Populate Auto-Compile Section lblCompileDate.Text = sa.LastUpdatedDate.ToShortDateString() + " " + sa.LastUpdatedDate.ToShortTimeString(); txtCompileDetails.Text = sa.BuildDetails; lblCompileResult.Text = Server.HtmlEncode(sa.BuildResultCode); //Populate Auto-Grade Section txtAutoGradeDate.Text = sa.LastUpdatedDate.ToShortDateString() + " " + sa.LastUpdatedDate.ToShortTimeString(); txtAutoGradeDetails.Text = sa.CheckDetails; txtAutoGradeResult.Text = sa.CheckResultCode; //Grab assignment information based on loaded assignmentID AssignmentM assign = AssignmentM.Load(assignmentId); if (assign.IsValid) { lblAssignment.Text = Server.HtmlEncode(assign.ShortName); } else { string[] AssignmentID = new string[] { assignmentId.ToString() }; throw new Exception(SharedSupport.GetLocalizedString("FacultyGradeSubmission_InvalidAssignmentID", AssignmentID)); } //Grab user information based on loaded userID UserM user = UserM.Load(studentID); if (user.IsValid) { this.lblStudent.Text = Server.HtmlEncode(user.LastName + SharedSupport.GetLocalizedString("FacultyGradeSubmission_Comma") + user.FirstName); } else { Nav1.Feedback.Text = SharedSupport.GetLocalizedString("FacultyGradeSubmission_NoUserIDFound"); //"No UserID found. "; } } }
public void btnAutoCompile_Click(object sender, System.EventArgs e) { try { if (!SharedSupport.SecurityIsAllowed(courseId, SecurityAction.USERASSIGNMENT_EDIT)) { throw new Exception(SharedSupport.GetLocalizedString("Global_Unauthorized")); } StudentAssignmentM sa = StudentAssignmentM.Load(studentID, assignmentId); sa.SendActionToQueue(true, false); userAssignmentDetailRefresh(); Nav1.Feedback.Text = SharedSupport.GetLocalizedString("FacultySubmissions_BuildSubmitSuccessful"); } catch { Nav1.Feedback.Text = SharedSupport.GetLocalizedString("FacultyGradeSubmission_InvalidUserAssignmentID"); } }
public void btnSaveGrade_Click(object sender, System.EventArgs e) { try { // Check permissions. if (!SharedSupport.SecurityIsAllowed(courseId, SecurityAction.USERASSIGNMENT_EDIT)) { throw new Exception(SharedSupport.GetLocalizedString("Global_Unauthorized")); } Nav1.Feedback.Text = String.Empty; if (studentID != 0) { StudentAssignmentM assignment = StudentAssignmentM.Load(studentID, assignmentId); if (assignment != null) { assignment.GradeComments = txtComments.Text.ToString(); assignment.OverallGrade = txtGrade.Text.ToString(); assignment.LastUpdatedDate = DateTime.Now; //Save the updated User Assignment assignment.Update(); Response.Redirect("Submissions.aspx?CourseID=" + Request.QueryString.Get("CourseID") + "&AssignmentID=" + Request.QueryString.Get("AssignmentID"), false); } } else { throw new Exception(SharedSupport.GetLocalizedString("FacultyGradeSubmission_InvalidUserAssignmentID") + Request.QueryString.Get("UserAssignmentID").ToString()); } } catch (System.Exception ex) { Nav1.Feedback.Text = ex.Message.ToString(); } }
protected void Page_Load(object sender, EventArgs e) { try { AssignmentManager.Common.Functions func = new AssignmentManager.Common.Functions(); int courseId = func.ValidateNumericQueryStringParameter(this.Request, "CourseID"); if (!SharedSupport.SecurityIsAllowed(courseId, SecurityAction.ASSIGNMENT_VIEW)) { // Note that Redirect ends page execution. Response.Redirect(@"../Error.aspx?ErrorDetail=" + "Global_Unauthorized"); } //Cleanup temporary files after project downloads. Page does not need to load. if (Request.QueryString.Get("Action").ToLower() == "cleanupdirectory") { CleanupTempDirectory(); } Nav1.Feedback.Text = String.Empty; Nav1.SideTabId = AssignmentManager.Common.constants.SIDE_NAV_COURSE_MANAGEMENT; Nav1.TopTabId = AssignmentManager.Common.constants.TOP_NAV_COURSE_ASSIGNMENTS; if (Request.QueryString.Get("Action").ToLower() == "uploadstarter") { Nav1.Title = SharedSupport.GetLocalizedString("UploadDownload_Upload_Starter_Title");//"Upload Starter"; } if (Request.QueryString.Get("Action").ToLower() == "downloadsubmission") { Nav1.Title = SharedSupport.GetLocalizedString("UploadDownload_Download_Faculty_Title");//"Download Student Submission"; } Nav1.relativeURL = @"../"; if (Request.QueryString.Get("Action").ToLower() == "uploadstarter") { GoBack1.GoBack_HelpUrl = SharedSupport.HelpRedirect("vstskUpdatingStarterProject"); } else { GoBack1.GoBack_HelpUrl = SharedSupport.HelpRedirect("vsoriUsingAssignmentManager"); } GoBack1.GoBackIncludeBack = true; GoBack1.GoBack_left = "295px"; GoBack1.GoBack_top = "22px"; if (Request.UrlReferrer.ToString() != "") { GoBack1.GoBack_BackURL = Request.UrlReferrer.ToString(); } else { GoBack1.GoBack_BackURL = "Assignments.aspx?" + Request.QueryString.ToString(); } //Give the client the upload and download locations if (SharedSupport.UsingSsl) { txtUploadLocation.Value = "https://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_UPLOAD_DIRECTORY; txtDownloadFolderLocation.Value = "https://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_DOWNLOAD_DIRECTORY; } else { txtUploadLocation.Value = "http://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_UPLOAD_DIRECTORY; txtDownloadFolderLocation.Value = "http://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_DOWNLOAD_DIRECTORY; } txtMaxUploadSize.Value = SharedSupport.GetSetting(AssignmentManager.Constants.MAX_PROJECT_SETTING).ToString(); btnDownload.Value = UploadDownload_Download_Text; string dir = SharedSupport.AddBackSlashToDirectory(System.Web.HttpContext.Current.Request.MapPath(String.Empty, Constants.ASSIGNMENTMANAGER_DOWNLOAD_DIRECTORY, true)); if (Directory.Exists(dir)) { txtDirSize.Value = SharedSupport.GetSetting(AssignmentManager.Constants.MAX_PROJECT_SETTING).ToString(); } int studentID = func.ValidateNumericQueryStringParameter(this.Request, "StudentID"); int assignmentId = func.ValidateNumericQueryStringParameter(this.Request, "AssignmentID"); if (!IsPostBack) { // // Evals true first time browser hits the page // if (Request.QueryString.Get("Action").ToLower() == "uploadstarter") { chkRemoveStudentCode.Visible = true; lblRemoveCode.Visible = true; } else { chkRemoveStudentCode.Visible = false; lblRemoveCode.Visible = false; } txtExistingStarterProject.Value = ""; lblRemoveCode.Text = UploadDownload_RemoveCode_Text; lblSelectProject.Text = UploadDownload_SelectProject; lblAssignmentName.Text = UploadDownload_AssignmentName; lblUploadSubTitle.Text = UploadDownload_UploadSubTitle; lblUploadDescription.Text = UploadDownload_UploadDescription; lblDownloadFacultyTitle.Text = UploadDownload_Download_Faculty_Title; lblDownloadLocationForFiles.Text = UploadDownload_Location_For_Download_Files_Text; lblStudentName.Text = UploadDownload_StudentName; lblAssignmentNameDownload.Text = UploadDownload_AssignmentName; if (!assignmentId.Equals(0)) { AssignmentM assign = AssignmentM.Load(assignmentId); if (assign.IsValid) { if (assign.StarterProjectFlag) { txtExistingStarterProject.Value = "1"; } txtAssignmentName.ReadOnly = true; txtAssignmentName.Enabled = false; txtAssignmentName.Text = assign.ShortName; } } //Download of student Submission if (Request.QueryString.Get("Action").ToLower() == "downloadsubmission") { AssignmentM assignment = AssignmentM.Load(assignmentId); if (assignment.IsValid) { if (assignment.StarterProjectFlag) { txtExistingStarterProject.Value = "1"; } txtAssignmentName.ReadOnly = true; txtAssignmentName.Enabled = false; txtAssignmentName.Text = assignment.ShortName; txtAssignmentNameDownload.ReadOnly = true; txtAssignmentNameDownload.Enabled = false; txtAssignmentNameDownload.Text = assignment.ShortName; } UserM user = UserM.Load(studentID); if (user.IsValid) { txtStudentName.ReadOnly = true; txtStudentName.Text = Server.HtmlEncode(user.LastName.Trim() + SharedSupport.GetLocalizedString("UploadDownload_comma") + " " + user.FirstName.Trim() + " " + user.MiddleName.Trim()); } txtSolutionName.Value = SharedSupport.AddBackSlashToDirectory(assignment.ShortName); System.Guid guid = System.Guid.NewGuid(); StudentAssignmentM studentAssign = StudentAssignmentM.Load(studentID, assignmentId); txtDownloadFilesXML.Value = studentAssign.AssignmentFilesXML(guid.ToString(), assignment); txtNewGUID.Value = guid.ToString(); } else { txtNewGUID.Value = System.Guid.NewGuid().ToString(); } } else { //If this is coming back from the client see what the action //is on the query string and perform accordingly //Faculty Submitting Starter Project if (Request.QueryString.Get("Action").ToLower() == "uploadstarter") { string xmlFileList = txtFilesUploadedXML.Value.ToString(); AssignmentM assign = AssignmentM.Load(assignmentId); assign.SubmitStarter(xmlFileList, txtNewGUID.Value.ToString()); Response.Redirect("Assignments.aspx?CourseID=" + Request.QueryString.Get("CourseID"), false); } } } catch (Exception ex) { Nav1.Feedback.Text = ex.Message.ToString(); } }
protected void Page_Load(object sender, System.EventArgs e) { try { // grab CourseID parameter from the querystring AssignmentManager.Common.Functions func = new AssignmentManager.Common.Functions(); courseId = func.ValidateNumericQueryStringParameter(this.Request, "CourseID"); UserM user = UserM.Load(SharedSupport.GetUserIdentity()); if (!user.IsInCourse(courseId)) { Response.Redirect(@"../Error.aspx?ErrorDetail=" + "Global_Unauthorized"); } // Do not cache this page Response.Cache.SetNoStore(); Nav1.Feedback.Text = String.Empty; Nav1.SideTabId = AssignmentManager.Common.constants.SIDE_NAV_STUDENT_COURSE; Nav1.TopTabId = AssignmentManager.Common.constants.TOP_NAV_STUDENT_COURSE_ASSIGNMENTS; Nav1.relativeURL = @"../"; //GoBack1.GoBack_HelpUrl = SharedSupport.HelpRedirect("vstskCheckingAssignmentStatus"); GoBack1.GoBack_HelpUrl = SharedSupport.HelpRedirect("tskUsingAssignmentManagerToCheckAssignmentStatus"); GoBack1.GoBackIncludeBack = true; GoBack1.GoBack_BackURL = "Assignments.aspx?" + Request.QueryString.ToString(); GoBack1.GoBack_left = "-105px"; if (Request.QueryString.Get("Exp") == "1") { txtDescription.CssClass = "infoTextDisabled"; } else { txtDescription.CssClass = "invisible"; } if (courseId > 0) { //returns the course name to be displayed in the Nav bar title CourseM course = CourseM.Load(courseId); Nav1.Title = Server.HtmlEncode(course.Name); } else { Nav1.Feedback.Text = SharedSupport.GetLocalizedString("Global_MissingParameter"); } // grab assignmentId from querystring assignmentId = func.ValidateNumericQueryStringParameter(this.Request, "assignmentId"); if (!IsPostBack) { // // Evals true first time browser hits the page // } int userID = SharedSupport.GetUserIdentity(); LocalizeLabels(); //checks that assignmentId is not empty then loops through if (assignmentId.Equals(null)) { Nav1.Feedback.Text = SharedSupport.GetLocalizedString("GradeDetail_InvalidassignmentIdError"); } else { AssignmentM assign = AssignmentM.Load(assignmentId); if (assign.IsValid) { txtDescription.Text = assign.Description; lblAssignment.Text = Server.HtmlEncode(assign.ShortName); lblDueDateValue.Text = assign.DueDate.ToShortDateString(); hlAssignmentWebPage.NavigateUrl = assign.AssignmentURL; hlAssignmentWebPage.Text = Server.HtmlEncode(assign.AssignmentURL); } StudentAssignmentM stuAssign = StudentAssignmentM.Load(userID, assignmentId); if (stuAssign == null) { this.lblAssignment.Text = SharedSupport.GetLocalizedString("GradeDetail_NoDetailsAvailable"); } else { //if data is returned, regardless of the Detail Type the LocalizeGeneralLabels //generates text for the header labels. LocalizeGeneralLabels(stuAssign); LocalizeAutoBuildLabels(stuAssign); LocalizeAutoGradeLabels(stuAssign); } } } catch (Exception ex) { Nav1.Feedback.Text = ex.Message.ToString(); } }
protected void LocalizeGeneralLabels(StudentAssignmentM assignment) { this.lblDateSubmitted.Text = Server.HtmlEncode(assignment.LastSubmitDate.ToShortDateString()); this.lblGrade.Text = Server.HtmlEncode(assignment.OverallGrade.ToString()); this.lblComments.Text = assignment.GradeComments.ToString(); }
protected void Page_Load(object sender, EventArgs e) { try { // grab CourseID parameter from the querystring AssignmentManager.Common.Functions f = new AssignmentManager.Common.Functions(); int courseId = f.ValidateNumericQueryStringParameter(this.Request, "CourseID"); UserM user = UserM.Load(SharedSupport.GetUserIdentity()); if (!user.IsInCourse(courseId)) { Response.Redirect(@"../Error.aspx?ErrorDetail=" + "Global_Unauthorized"); } //Cleanup temporary files after project downloads. Page does not need to load. if (Request.QueryString.Get("Action").ToLower() == "cleanupdirectory") { CleanupTempDirectory(); } Nav1.Feedback.Text = String.Empty; Nav1.SideTabId = AssignmentManager.Common.constants.SIDE_NAV_STUDENT_COURSE; Nav1.TopTabId = AssignmentManager.Common.constants.TOP_NAV_STUDENT_COURSE_ASSIGNMENTS; Nav1.relativeURL = @"../"; //GoBack1.GoBack_HelpUrl = SharedSupport.HelpRedirect("vstskAddingAssignment"); GoBack1.GoBack_HelpUrl = SharedSupport.HelpRedirect("tskSubmittingAssignmentUsingAssignmentManager"); GoBack1.GoBackIncludeBack = true; GoBack1.GoBack_top = "24px"; //GoBack1.GoBack_left = "-10px"; switch (Request.QueryString.Get("Action").ToLower()) { case "uploadsubmission": Nav1.Title = SharedSupport.GetLocalizedString("UploadDownload_StudentUploadTitle"); break; case "downloadstarter": Nav1.Title = SharedSupport.GetLocalizedString("UploadDownload_StudentDownloadTitle"); break; default: throw new ApplicationException(SharedSupport.GetLocalizedString("UploadDownload_StudentTitleError")); } int assignmentId = f.ValidateNumericQueryStringParameter(this.Request, "AssignmentID"); if (!IsPostBack) { // // Evals true first time browser hits the page // //Give the client the upload and download locations if (SharedSupport.UsingSsl) { txtUploadLocation.Value = "https://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_UPLOAD_DIRECTORY; txtDownloadFolderLocation.Value = "https://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_DOWNLOAD_DIRECTORY; } else { txtUploadLocation.Value = "http://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_UPLOAD_DIRECTORY; txtDownloadFolderLocation.Value = "http://" + Request.ServerVariables.Get("HTTP_HOST") + Constants.ASSIGNMENTMANAGER_DOWNLOAD_DIRECTORY; } txtMaxUploadSize.Value = SharedSupport.GetSetting(AssignmentManager.Constants.MAX_PROJECT_SETTING).ToString(); btnDownload.Value = UploadDownload_Download_Text; lblSelectProject.Text = UploadDownload_SelectProject; lblAssignmentName.Text = UploadDownload_AssignmentName; lblUploadSubTitle.Text = SharedSupport.GetLocalizedString("UploadDownload_StudentUploadTitle"); lblUploadDescription.Text = UploadDownload_UploadDescription; lblDownloadStudentTitle.Text = UploadDownload_Download_Student_Title; lblDownloadLocationForFiles.Text = UploadDownload_Location_For_Download_Files_Text; if (!assignmentId.Equals(0)) { AssignmentM assign = AssignmentM.Load(assignmentId); if (assign.IsValid) { txtAssignmentName.Enabled = false; txtAssignmentName.Text = assign.ShortName; } } txtNewGUID.Value = System.Guid.NewGuid().ToString(); txtCancel.Value = "0"; txtDirSize.Value = SharedSupport.GetSetting(Constants.MAX_PROJECT_SETTING); //Download assignment starter project if (Request.QueryString.Get("Action").ToLower() == "downloadstarter") { //Check to make sure that you got an AssignmentID and a CourseID if (!courseId.Equals(null) && !assignmentId.Equals(null)) { //Call browse starter to get all files to appropriate location AssignmentM assign = AssignmentM.Load(assignmentId); if (assign.IsValid) { if (assign.AssignmentURL.Trim() != String.Empty) { UploadDownload_DownloadRedirectUrl = Server.HtmlEncode(assign.AssignmentURL); } else { UploadDownload_DownloadRedirectUrl = "AssignmentGrade.aspx?AssignmentID=" + assignmentId.ToString() + "&CourseID=" + courseId.ToString() + "&Exp=1"; } System.Guid guid = System.Guid.NewGuid(); txtSolutionName.Value = assign.ShortName; txtDownloadFilesXML.Value = assign.StarterFilesXML(guid); txtNewGUID.Value = guid.ToString(); } else { throw new ApplicationException(SharedSupport.GetLocalizedString("UploadDownload_AssignmentError")); } } else { throw new ApplicationException(SharedSupport.GetLocalizedString("UploadDownload_AssignmentIDCourseIDError")); } } } else { //If this is coming back from the client see what the action //is on the query string and perform accordingly //make sure that the we or the user didn't cancel the upload if (txtCancel.Value != "1") { //Student Submitting an assignment if (Request.QueryString.Get("Action").ToLower() == "uploadsubmission") { StudentAssignmentM sa = new StudentAssignmentM(); string xmlFiles = txtFilesUploadedXML.Value.ToString(); string pathGUID = txtNewGUID.Value.ToString(); sa.Submit(assignmentId, courseId, xmlFiles, pathGUID); Response.Redirect("Assignments.aspx?" + Request.QueryString.ToString(), false); } //Cleanup temporary files after project downloads. if (Request.QueryString.Get("Action").ToLower() == "cleanupdirectory") { // Grab the querystring parameters. string tempGUID = Request.QueryString.Get("GUID"); bool addQuerystring = Convert.ToBoolean(Request.QueryString.Get("AddQS")); string targetUrl = Request.QueryString.Get("TargetURL"); // Test whether the GUID that identifies the directory to be deleted exists. if (tempGUID == "" || tempGUID == string.Empty) { // The GUID is missing, try and continue the redirect without deleting the directory. } else { // Delete the temporary download directory from the AMWeb virtual directory. string downloadRoot = Request.MapPath(Request.ApplicationPath.ToString()); //string downloadRoot = Request.MapPath(Constants.ASSIGNMENTMANAGER_DOWNLOAD_DIRECTORY); DeleteTempDirectory(tempGUID); } if (addQuerystring == true) { // Remove the QueryString parameters used for this action then pass the leftovers on the redirect. string tempQuerystring = Request.Url.Query.ToString(); tempQuerystring = tempQuerystring.Substring(0, tempQuerystring.IndexOf("&GUID")); Response.Redirect(targetUrl + tempQuerystring); } else { Response.Redirect(targetUrl); } } } else { //reset the cancel flag so the user can fix the problem and resubmit txtCancel.Value = "0"; } } } catch (Exception ex) { Nav1.Feedback.Text = ex.Message.ToString(); } }