public ActionResult Student_Assessment_Submission(AspNetStudent_Assessment stu_assessment)
        {
            int id = Convert.ToInt32(Request.Form["id"]);
            AspNetStudent_Assessment result = (from p in db.AspNetStudent_Assessment
                                               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/AssessmentSubmission"), fileName);
                        file.SaveAs(path);
                        result.SubmittedFileName = fileName;
                    }
                }


                result.SubmissionStatus = true;
                result.SubmissionDate   = DateTime.Now;

                db.SaveChanges();
                dbTransaction.Commit();
            }
            catch (Exception) { dbTransaction.Dispose(); }
            return(RedirectToAction("Assessment_Detail", new { id = result.AssessmentID }));
        }
Ejemplo n.º 2
0
        public void SaveAssessmentMarks(List <Marks> marks)
        {
            var dbContextTransaction = db.Database.BeginTransaction();
            int errorItem            = 0;

            try
            {
                foreach (var item in marks)
                {
                    errorItem = item.Id;
                    AspNetStudent_Assessment student_assessment = new AspNetStudent_Assessment();
                    student_assessment.Id       = item.Id;
                    student_assessment.MarksGot = item.GotMark;
                    var check = db.AspNetStudent_Assessment.Any(x => x.Id == student_assessment.Id);
                    if (check)
                    {
                        AspNetStudent_Assessment student_assess = (from x in db.AspNetStudent_Assessment
                                                                   where x.Id == student_assessment.Id
                                                                   select x).First();
                        student_assess.MarksGot = student_assessment.MarksGot;
                    }
                    db.SaveChanges();
                }
                dbContextTransaction.Commit();
            }
            catch (Exception)
            {
                dbContextTransaction.Dispose();
            }
        }
        public FileResult downloadStudentSubmittedFile(int id)
        {
            AspNetStudent_Assessment Student_Assessment = db.AspNetStudent_Assessment.Find(id);

            var filepath = System.IO.Path.Combine(Server.MapPath("~/App_Data/AssessmentSubmission/"), Student_Assessment.SubmittedFileName);

            return(File(filepath, MimeMapping.GetMimeMapping(filepath), Student_Assessment.SubmittedFileName));
        }
        public ActionResult Assessment_Detail(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            AspNetStudent_Assessment aspNetStudentAssessment = db.AspNetStudent_Assessment.Where(x => x.AssessmentID == id && x.StudentID == StudentID).FirstOrDefault();

            if (aspNetStudentAssessment == null)
            {
                return(HttpNotFound());
            }
            return(View(aspNetStudentAssessment));
        }
Ejemplo n.º 5
0
        public ActionResult Create(AspNetAssessment aspNetAssessment)
        {
            HttpPostedFileBase file = Request.Files["attachment"];

            if (ModelState.IsValid)
            {
                if (file.ContentLength > 0)
                {
                    var fileName = Path.GetFileName(file.FileName);
                    var path     = Path.Combine(Server.MapPath("~/App_Data/Assessments"), fileName);
                    file.SaveAs(path);
                    aspNetAssessment.FileName = fileName;
                }
                else
                {
                    aspNetAssessment.FileName = "-/-";
                }
                db.AspNetAssessments.Add(aspNetAssessment);
                db.SaveChanges();

                int           AssessmentID = db.AspNetAssessments.Max(x => x.Id);
                int           subjectID    = Convert.ToInt32(db.AspNetSubject_Catalog.Where(x => x.Id == aspNetAssessment.Subject_CatalogID).Select(x => x.SubjectID).FirstOrDefault());
                List <string> StudentIDs   = db.AspNetStudent_Subject.Where(s => s.SubjectID == subjectID).Select(s => s.StudentID).ToList();
                foreach (var item in StudentIDs)
                {
                    AspNetStudent_Assessment student_assessment = new AspNetStudent_Assessment();
                    student_assessment.StudentID         = item;
                    student_assessment.AssessmentID      = AssessmentID;
                    student_assessment.MarksGot          = -1;
                    student_assessment.SubmissionStatus  = false;
                    student_assessment.SubmittedFileName = "-/-";
                    db.AspNetStudent_Assessment.Add(student_assessment);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }

            ViewBag.ClassID           = new SelectList(db.AspNetClasses, "Id", "ClassName");
            ViewBag.SubjectID         = new SelectList(db.AspNetSubjects, "Id", "SubjectName");
            ViewBag.Subject_CatalogID = new SelectList(from catalog in db.AspNetCatalogs
                                                       join subject_catalog in db.AspNetSubject_Catalog on catalog.Id equals subject_catalog.CatalogID
                                                       select new { catalog.CatalogName, subject_catalog.Id }, "Id", "CatalogName");
            return(View(aspNetAssessment));
        }