public async Task <bool> AddReports(List <DomainModel.Report> reportAdd)
        {
            var reportData = new List <Infrastructure.DataModel.Report>();

            foreach (DomainModel.Report rep in reportAdd)
            {
                var examQuestionData = new Infrastructure.DataModel.ExamQuestion()
                {
                    ExamId              = rep.ExamId,
                    InputUnitOfMeasure  = rep.InputUnitOfMeasure,
                    InputValue          = rep.InputValue,
                    StudentID           = rep.StudentID,
                    StudentName         = rep.StudentName,
                    StudentResponse     = rep.StudentResponse,
                    IsCorrect           = rep.IsCorrect,
                    OutPutUnitOfMeasure = rep.OutPutUnitOfMeasure,
                    TeacherName         = rep.TeacherName
                };
                var reportToAdd = new Report.Infrastructure.DataModel.Report()
                {
                    ExamDate        = rep.ExamDate,
                    ExamDescription = rep.ExamDescription,
                    ExamId          = rep.ExamId,
                    ExamQuestion    = examQuestionData
                };
                reportData.Add(reportToAdd);
            }
            return(await _reportRepository.AddReports(reportData));
        }
Exemplo n.º 2
0
        public async Task <bool> AddQuestion(ExamQuestion question)
        {
            var questionData = new Infrastructure.DataModel.ExamQuestion()
            {
                SourceConversionId      = question.SourceConversionId,
                DestinationConversionId = question.DestinationConversionId,
                ExamId     = question.ExamId,
                InputValue = question.InputValue
            };

            return(await _testRepository.AddQuestion(questionData));
        }
        private List <Infrastructure.DataModel.Report> GroupReportByExam(List <Infrastructure.DataModel.Report> reports)
        {
            List <Infrastructure.DataModel.Report> results = new List <Infrastructure.DataModel.Report>();
            var query = reports.GroupBy(
                report => report.ExamId,
                report => new Infrastructure.DataModel.Report()
            {
                ExamDate            = report.ExamDate,
                ExamDescription     = report.ExamDescription,
                ReportId            = report.ReportId,
                ExamId              = report.ExamId,
                InputUnitOfMeasure  = report.InputUnitOfMeasure,
                InputValue          = report.InputValue,
                StudentID           = report.StudentID,
                IsCorrect           = report.IsCorrect,
                OutPutUnitOfMeasure = report.OutPutUnitOfMeasure,
                StudentName         = report.StudentName,
                StudentResponse     = report.StudentResponse,
                TeacherName         = report.TeacherName
            },
                (examID, examQuestions) => new
            {
                Key         = examID,
                examResults = examQuestions
            });

            foreach (var curGroup in query)
            {
                var report = curGroup.examResults.FirstOrDefault();
                List <Infrastructure.DataModel.ExamQuestion> questionList = new List <Infrastructure.DataModel.ExamQuestion>();
                foreach (var curQuestion in curGroup.examResults)
                {
                    Infrastructure.DataModel.ExamQuestion question = new Infrastructure.DataModel.ExamQuestion()
                    {
                        ExamId              = curQuestion.ExamId,
                        InputUnitOfMeasure  = curQuestion.InputUnitOfMeasure,
                        InputValue          = curQuestion.InputValue,
                        IsCorrect           = curQuestion.IsCorrect,
                        OutPutUnitOfMeasure = curQuestion.OutPutUnitOfMeasure,
                        StudentID           = curQuestion.StudentID,
                        StudentName         = curQuestion.StudentName,
                        StudentResponse     = curQuestion.StudentResponse,
                        TeacherName         = curQuestion.TeacherName
                    };
                    questionList.Add(question);
                }
                report.ExamQuestions = questionList;
                results.Add(report);
            }
            return(results);
        }
        public async Task <bool> AddQuestion(ExamQuestion question)
        {
            var questionData = new Infrastructure.DataModel.ExamQuestion()
            {
                ExamQuestionId = question.ExamQuestionId,
                Exam           = new Infrastructure.DataModel.Exam()
                {
                    ExamId        = question.ExamId,
                    DateCompleted = question.Exam.DateCompleted,
                    Description   = question.Exam.Description,
                    IsComplete    = false,
                    DateCreated   = question.Exam.DateCreated,
                    IsCreated     = question.Exam.IsCreated,
                    IsGraded      = question.Exam.IsGraded,
                    StudentId     = question.Exam.StudentId,
                    TeacherId     = question.Exam.TeacherId
                },
                DestinationConversion = new Infrastructure.DataModel.Conversion()
                {
                    ConversionId   = question.DestinationConversion.ConversionId,
                    ConversionName = question.DestinationConversion.ConversionName,
                    ConversionType = new Infrastructure.DataModel.ConversionType()
                    {
                        ConversionTypeId = question.DestinationConversion.ConversionTypeId,
                        ConversionName   = question.DestinationConversion.ConversionName
                    },
                    ConversionTypeId = question.DestinationConversion.ConversionTypeId
                },
                SourceConversion = new Infrastructure.DataModel.Conversion()
                {
                    ConversionId   = question.SourceConversion.ConversionId,
                    ConversionName = question.SourceConversion.ConversionName,
                    ConversionType = new Infrastructure.DataModel.ConversionType()
                    {
                        ConversionTypeId = question.SourceConversion.ConversionTypeId,
                        ConversionName   = question.SourceConversion.ConversionName
                    },
                    ConversionTypeId = question.SourceConversion.ConversionTypeId
                },
                ExamQuestionAnswer = new List <Infrastructure.DataModel.ExamQuestionAnswer>(),

                SourceConversionId      = question.SourceConversionId,
                DestinationConversionId = question.DestinationConversionId,
                ExamId     = question.ExamId,
                InputValue = question.InputValue
            };

            return(await _testRepository.AddQuestion(questionData));
        }