public void SaveAssignmentMarks(List <Marks> marks) { var dbContextTransaction = db.Database.BeginTransaction(); try { foreach (var item in marks) { Student_Assignment stu_assign = new Student_Assignment(); stu_assign.Id = item.Id; stu_assign.MarksGot = item.GotMark; var check = db.Student_Assignment.Any(x => x.Id == stu_assign.Id); if (check) { Student_Assignment student_assignment = (from x in db.Student_Assignment where x.Id == stu_assign.Id select x).First(); student_assignment.MarksGot = stu_assign.MarksGot; } db.SaveChanges(); } dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Dispose(); } }
public ActionResult Student_Assignment_Submission(Student_Assignment stu_assignmnet) { int id = Convert.ToInt32(Request.Form["id"]); Student_Assignment result = (from p in db.Student_Assignment where p.Id == id select p).SingleOrDefault(); var dbTransaction = db.Database.BeginTransaction(); try { HttpPostedFileBase file = Request.Files["document"]; if (ModelState.IsValid) { if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/App_Data/SubmittedAssignments"), fileName); file.SaveAs(path); result.SubmittedFileName = fileName; } } result.Status = "Submitted"; result.Date = DateTime.Now; db.SaveChanges(); dbTransaction.Commit(); } catch (Exception) { dbTransaction.Dispose(); } return(RedirectToAction("Student_Assignment_Submission", new { id = result.AssignmentID })); }
public FileResult Student_Assignment_Submitted_File(int id) { Student_Assignment Assignment = db.Student_Assignment.Find(id); try { var filepath = System.IO.Path.Combine(Server.MapPath("~/App_Data/SubmittedAssignments/"), Assignment.SubmittedFileName); return(File(filepath, MimeMapping.GetMimeMapping(filepath), Assignment.SubmittedFileName)); } catch { return(null); } }
//[HttpGet] //public JsonResult ExamsBySubject(int id) //{ // db.Configuration.ProxyCreationEnabled = false; // List<AspNetExam> sub = db.AspNetExams.Where(r => r.SubjectID == id).OrderByDescending(r => r.Id).ToList(); // ViewBag.Subjects = sub; // return Json(sub, JsonRequestBehavior.AllowGet); //} //[HttpGet] //public JsonResult SubjectsByClass(int id) //{ // db.Configuration.ProxyCreationEnabled = false; // List<AspNetSubject> sub = db.AspNetSubjects.Where(r => r.ClassID == id).ToList(); // ViewBag.Subjects = sub; // return Json(sub, JsonRequestBehavior.AllowGet); //} public ActionResult Student_Assignment_Submission(int id) { //Student_Assignment assignments = db.Student_Assignment.Find(id); Student_Assignment assignment = db.Student_Assignment.Include(x => x.AspNetAssignment.AspNetAssignment_Topic).Where(x => x.AssignmentID == id && x.StudentID == StudentID).FirstOrDefault(); if (assignment.SubmittedFileName == null) { assignment.SubmittedFileName = " "; } if (assignment.AspNetAssignment.FileName == null) { assignment.AspNetAssignment.FileName = " "; } return(View(assignment)); }
public ActionResult Create([Bind(Include = "Id,SubjectID,ClassID,PublishDate,DueDate,Description,TotalMarks,Weightage,Title,FileName,TeacherID")] AspNetAssignment aspNetAssignment) { IEnumerable <string> topics = Request.Form["TopicID"].Split(','); HttpPostedFileBase file = Request.Files["document"]; if (ModelState.IsValid) { aspNetAssignment.TeacherID = TeacherID; if (file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/App_Data/Assignments"), fileName); file.SaveAs(path); aspNetAssignment.FileName = fileName; } db.AspNetAssignments.Add(aspNetAssignment); db.SaveChanges(); int assignmentID = db.AspNetAssignments.Max(item => item.Id); List <string> StudentIDs = db.AspNetStudent_Subject.Where(s => s.SubjectID == aspNetAssignment.SubjectID).Select(s => s.StudentID).ToList(); foreach (var item in StudentIDs) { Student_Assignment stu_assign = new Student_Assignment(); stu_assign.StudentID = item; stu_assign.AssignmentID = assignmentID; stu_assign.FileName = aspNetAssignment.FileName; stu_assign.Status = "Not Submitted"; db.Student_Assignment.Add(stu_assign); db.SaveChanges(); } foreach (var item in topics) { AspNetAssignment_Topic assign_topic = new AspNetAssignment_Topic(); assign_topic.TopicID = Convert.ToInt32(item); assign_topic.AssignmentID = assignmentID; db.AspNetAssignment_Topic.Add(assign_topic); db.SaveChanges(); } return(RedirectToAction("Index")); } ViewBag.ClassID = new SelectList(db.AspNetClasses, "Id", "ClassName", aspNetAssignment.ClassID); ViewBag.SubjectID = new SelectList(db.AspNetSubjects, "Id", "SubjectName", aspNetAssignment.SubjectID); ViewBag.TeacherID = new SelectList(db.AspNetUsers, "Id", "Email", aspNetAssignment.TeacherID); return(View(aspNetAssignment)); }
public ActionResult AddStudentFile(Assignment ass, HttpPostedFileBase fileU) { Assignment assignment = db.Assignment.Find(ass.AssignmentName); //assignment.AssignmentName = assignment.AssignmentName.Trim(); Student student = db.Student.Find(ass.Stud.StudentID); if (student != null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } student = new Student { FirstName = ass.Stud.FirstName, LastName = ass.Stud.LastName, StudentID = ass.Stud.StudentID, }; Student_Assignment stud_assignment = new Student_Assignment { StudentID = student.StudentID, AssignmentName = assignment.AssignmentName, }; Student_Course stud_course = new Student_Course { StudentID = student.StudentID, CourseName = assignment.CourseName }; string basePath = HttpContext.Server.MapPath(@"\Uploads"); string tempFile = HttpContext.Server.MapPath(@"\Temps"); //string folderPath = Path.Combine(basePath, assignment.CourseName, assignment.AssignmentName); HttpPostedFileBase file = Request.Files["fileU"]; string LanguageChosen = Request.Form["Projectlanguage"]; string folder = null; string fullPath = null; UnzipFileUpload unzip = new UnzipFileUpload(); var result = unzip.UnzipFile(file, student.StudentID, basePath, assignment, tempFile, LanguageChosen, out folder); if (result == null) { student.PlagiaResultInfo = "No Plagiatism"; if (student.PlagiaResultPercent == null) { student.PlagiaResultPercent = 0; } student.CourseFilePath = folder.Trim(); db.Student.Add(student); db.SaveChanges(); db.Student_Assignment.Add(stud_assignment); db.SaveChanges(); db.Student_Course.Add(stud_course); db.SaveChanges(); return(RedirectToAction("Create", new { assName_parmaters = ass.AssignmentName })); } foreach (var item in result) { student.PlagiaResultInfo += item.Item1; if (student.PlagiaResultPercent == null) { student.PlagiaResultPercent = 0; } student.PlagiaResultPercent += item.Item2; fullPath = item.Item3; } Sim sim = new Sim(); var res = sim.FullResult(fullPath, folder); student.CourseFilePath = folder.Trim(); student.PlagiaResultPercent = student.PlagiaResultPercent / result.Count(); student.Plagia_Details = res; db.Student.Add(student); db.SaveChanges(); db.Student_Assignment.Add(stud_assignment); db.SaveChanges(); db.Student_Course.Add(stud_course); db.SaveChanges(); //var result = unzip.UnzipFile(file, student.StudentID, basePath, assignment, tempFile, LanguageChosen); if (student.PlagiaResultInfo != null && student.PlagiaResultPercent != null) { ViewBag.ResultInfo = student.PlagiaResultInfo; ViewBag.ResultPercentage = student.PlagiaResultPercent; ViewBag.StudentID = student.StudentID; } //return RedirectToAction("Details", "Courses", new { nameCourse = assignment.CourseName }); return(View("Create")); }
public ActionResult AssignmentMarksFromFile(Student_Assignment Stu_Assign) { var dbContextTransaction = db.Database.BeginTransaction(); try { HttpPostedFileBase file = Request.Files["AssignmentMarks"]; if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName)) { string fileName = file.FileName; string fileContentType = file.ContentType; byte[] fileBytes = new byte[file.ContentLength]; var data = file.InputStream.Read(fileBytes, 0, Convert.ToInt32(file.ContentLength)); } List <Marks> MarkList = new List <Marks>(); using (var package = new ExcelPackage(file.InputStream)) { var currentSheet = package.Workbook.Worksheets; var workSheet = currentSheet.First(); var noOfCol = workSheet.Dimension.End.Column; var noOfRow = workSheet.Dimension.End.Row; int AssignmentID = Convert.ToInt32(Request.Form["assignment"]); for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++) { string UserName = workSheet.Cells[rowIterator, 1].Value.ToString(); Student_Assignment stu_assign; try { stu_assign = (from student_assignment in db.Student_Assignment where student_assignment.AspNetUser.UserName == UserName && student_assignment.AssignmentID == AssignmentID select student_assignment).First(); } catch { ViewBag.ClassID = new SelectList(db.AspNetClasses, "Id", "ClassName"); ViewBag.Error = "There is a problem at row" + rowIterator; return(View("_Assignments_Marks", Stu_Assign)); } Marks mark = new Marks(); mark.Id = stu_assign.Id; mark.GotMark = Convert.ToInt32(workSheet.Cells[rowIterator, 2].Value.ToString()); MarkList.Add(mark); } foreach (var item in MarkList) { Student_Assignment stu_assign = new Student_Assignment(); stu_assign.Id = item.Id; stu_assign.MarksGot = item.GotMark; var check = db.Student_Assignment.Any(x => x.Id == stu_assign.Id); if (check) { Student_Assignment student_assignment = (from x in db.Student_Assignment where x.Id == stu_assign.Id select x).First(); student_assignment.MarksGot = stu_assign.MarksGot; } db.SaveChanges(); } } dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Dispose(); } return(RedirectToAction("Teacher_Dashboard")); }