public IActionResult AnalysisExam(int testId, byte[] timeStamp) { var atsEntity = _analysisRepository.GetAssignmentWithTaskAndTemplate(UserId, testId); if (atsEntity == null) { return(Unauthorized()); } if (!atsEntity.TakenTest) { _analysisRepository.MarkExamAsTaken(testId, UserId, timeStamp); } var outputTablesDb = _adminConnectionConf.OutputTablesDbName; var sts = atsEntity.AnalysisTest.SynthesisTestStudent; var task = sts.SynthesisTest.Task; var vm = new AnalysisExamVM() { Title = $"{atsEntity.AnalysisTest.Name}", ModelDescription = task.Template.ModelDescription, TaskDescription = task.Description, SqlSolutionForEvaluation = sts.SqlScript, FailingInputVM = new ModifyDatabasePartialVM() { NameOnServer = atsEntity.InputNameOnServer }, StudentOutputVM = new ModifyTablePartialVM() { NameOnServer = outputTablesDb, TableName = atsEntity.StudentOutputNameOnServer }, CorrectOutputVM = new ModifyTablePartialVM() { NameOnServer = outputTablesDb, TableName = atsEntity.TeacherOutputNameOnServer } }; return(View("~/Views/Test/AnalysisExam.cshtml", vm)); }
public IActionResult AnalysisExamReadonly(Guid studentId, int testId) { var atsEntity = _analysisRepository.GetAssignmentWithTaskAndTemplate(studentId, testId); if (atsEntity == null || !atsEntity.TakenTest) { throw new Exception("Test not found or taken"); } var outputTablesDb = _adminConnectionConf.OutputTablesDbName; var sts = atsEntity.AnalysisTest.SynthesisTestStudent; var task = sts.SynthesisTest.Task; var vm = new AnalysisExamVM() { Title = $"Task '{atsEntity.AnalysisTest.Name}'", ModelDescription = task.Template.ModelDescription, TaskDescription = task.Description, SqlSolutionForEvaluation = sts.SqlScript, FailingInputVM = new ModifyDatabasePartialVM() { NameOnServer = atsEntity.InputNameOnServer }, StudentOutputVM = new ModifyTablePartialVM() { NameOnServer = outputTablesDb, TableName = atsEntity.StudentOutputNameOnServer }, CorrectOutputVM = new ModifyTablePartialVM() { NameOnServer = outputTablesDb, TableName = atsEntity.TeacherOutputNameOnServer }, Readonly = true }; return(View("~/Views/Test/AnalysisExam.cshtml", vm)); }