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(); }
        }
Example #2
0
        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"));
        }