public void SaveTestMarks(List <Marks> marks) { var dbTransaction = db.Database.BeginTransaction(); try { foreach (var item in marks) { AspNetStudent_Test stu_test = new AspNetStudent_Test(); stu_test.Id = item.Id; stu_test.MarksGot = item.GotMark; var check = db.AspNetStudent_Exam.Any(x => x.Id == stu_test.Id); if (check) { AspNetStudent_Test student_test = (from x in db.AspNetStudent_Test where x.Id == stu_test.Id select x).First(); student_test.MarksGot = stu_test.MarksGot; } db.SaveChanges(); } dbTransaction.Commit(); } catch (Exception) { dbTransaction.Dispose(); } }
public ActionResult Create([Bind(Include = "Id,SubjectID,ClassID,Title,Description,Date,TotalMarks,Weightage,TeacherID")] AspNetTest aspNetTest) { IEnumerable <string> topics = Request.Form["TopicID"].Split(','); if (ModelState.IsValid) { var dbTransaction = db.Database.BeginTransaction(); try { db.AspNetTests.Add(aspNetTest); db.SaveChanges(); int testID = db.AspNetTests.Max(item => item.Id); List <string> StudentIDs = db.AspNetStudent_Subject.Where(s => s.SubjectID == aspNetTest.SubjectID).Select(s => s.StudentID).ToList(); foreach (var item in StudentIDs) { AspNetStudent_Test stu_test = new AspNetStudent_Test(); stu_test.StudentID = item; stu_test.TestID = testID; db.AspNetStudent_Test.Add(stu_test); db.SaveChanges(); } foreach (var item in topics) { AspNetTest_Topic test_topic = new AspNetTest_Topic(); test_topic.TopicID = Convert.ToInt32(item); test_topic.TestID = testID; db.AspNetTest_Topic.Add(test_topic); db.SaveChanges(); } return(RedirectToAction("Index")); dbTransaction.Commit(); } catch (Exception) { dbTransaction.Dispose(); } } ViewBag.ClassID = new SelectList(db.AspNetClasses, "Id", "ClassName"); ViewBag.SubjectID = new SelectList(db.AspNetSubjects.Where(s => s.TeacherID == TeacherID), "Id", "SubjectName"); ViewBag.TeacherID = new SelectList(db.AspNetUsers.Where(s => s.Id == TeacherID), "Id", "Name"); return(View(aspNetTest)); }
public ActionResult TestMarksFromFile(AspNetStudent_Test Stu_Test) { HttpPostedFileBase file = Request.Files["TestMarks"]; 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)); } var dbTransaction = db.Database.BeginTransaction(); try { 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 TestID = Convert.ToInt32(Request.Form["test"]); for (int rowIterator = 2; rowIterator <= noOfRow; rowIterator++) { string UserName = workSheet.Cells[rowIterator, 1].Value.ToString(); AspNetStudent_Test stu_test; try { stu_test = (from student_test in db.AspNetStudent_Test where student_test.AspNetUser.UserName == UserName && student_test.TestID == TestID select student_test).First(); } catch { ViewBag.ClassID = new SelectList(db.AspNetClasses, "Id", "ClassName"); ViewBag.Error = "There is a problem at row" + rowIterator; return(View("_Test_Marks", Stu_Test)); } Marks mark = new Marks(); mark.Id = stu_test.Id; mark.GotMark = Convert.ToInt32(workSheet.Cells[rowIterator, 2].Value.ToString()); MarkList.Add(mark); } foreach (var item in MarkList) { AspNetStudent_Test stu_test = new AspNetStudent_Test(); stu_test.Id = item.Id; stu_test.MarksGot = item.GotMark; var check = db.AspNetStudent_Test.Any(x => x.Id == stu_test.Id); if (check) { AspNetStudent_Test student_test = (from x in db.AspNetStudent_Test where x.Id == stu_test.Id select x).First(); student_test.MarksGot = stu_test.MarksGot; } db.SaveChanges(); } } dbTransaction.Commit(); } catch (Exception) { dbTransaction.Dispose(); } return(RedirectToAction("Teacher_Dashboard")); }