Exemplo n.º 1
0
        public ExamAttemptExport export()
        {
            ExamAttemptExport data = new ExamAttemptExport();

            //Anwsers = Anwsers.ToList();
            foreach (Anwser a in Anwsers)
            {
                foreach (Mistake m in a.Mistakes)
                {
                    data.AttemptMistakes.Add(new AttemptMistakesExport(StudentID, CensorID, ID, a.ID, a.QuestionID, (float)a.Adjustment,
                                                                       m.ID, m.ArgumentID, m.AdjustedWeight));
                }
            }

            foreach (GeneralCritereaImpact i in GeneralCritereaImpacts)
            {
                if (i.AnwserID != null)
                {
                    Anwser temp = Anwsers.First(x => x.ID == i.AnwserID);
                    data.AttemptCritereas.Add(new AttemptCritereaExport(StudentID, CensorID, ID,
                                                                        (int)i.AnwserID, temp.QuestionID,
                                                                        (int)i.MistakeID, temp.Mistakes.First(x => x.AnwserID == temp.ID).ArgumentID,
                                                                        i.ExamCritereaID, i.Weight));
                }
                else
                {
                    data.AttemptCritereas.Add(new AttemptCritereaExport(StudentID, CensorID, ID,
                                                                        null, null, null, null,
                                                                        i.ExamCritereaID, i.Weight));
                }
            }

            return(data);
        }
Exemplo n.º 2
0
        public FileStreamResult GetAttempt(int examID)
        {
            ExamAttemptExport  data     = new ExamAttemptExport();
            List <ExamAttempt> attempts = new List <ExamAttempt>();

            try
            {
                attempts = _examAttemptService.getAllForExport(examID).ToList();
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
            }

            foreach (ExamAttempt item in attempts)
            {
                var temp = item.export();
                data.AttemptMistakes.AddRange(temp.AttemptMistakes);
                data.AttemptCritereas.AddRange(temp.AttemptCritereas);
            }

            MemoryStream stream = new MemoryStream();

            using (var package = new ExcelPackage())
            {
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("AttemptCriterea");
                worksheet.Cells[1, 1].LoadFromCollection(data.AttemptCritereas, true, OfficeOpenXml.Table.TableStyles.Medium1);

                worksheet = package.Workbook.Worksheets.Add("AttemptMistakes");
                worksheet.Cells[1, 1].LoadFromCollection(data.AttemptMistakes, true, OfficeOpenXml.Table.TableStyles.Medium1);

                stream = new MemoryStream(package.GetAsByteArray());
            }

            return(new FileStreamResult(stream, new MediaTypeHeaderValue("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))
            {
                FileDownloadName = "exam cenorsihp " + examID + ".xlsx"
            });
        }