コード例 #1
0
        private bool RemoveStudentFromSynthesis(RemoveAssignedStudentRQ model)
        {
            if (_synthesisRepo.Get(model.TestId).Status >= TestStatus.InProgress)
            {
                return(false);
            }

            return(_studentRepo.RemoveSynthesis(model.StudentId, model.TimeStamp, model.TestId));
        }
コード例 #2
0
        public ActionResult <Result <bool> > RemoveStudentFromTest([FromBody] RemoveAssignedStudentRQ body)
        {
            var success = false;

            switch (body.TestType)
            {
            case TestType.Synthesis:
                success = RemoveStudentFromSynthesis(body);
                break;

            case TestType.Analysis:
                success = RemoveStudentFromAnalysis(body);
                break;
            }

            return(success ? Result <bool> .Success(true) : Result <bool> .Fail("Operation failed"));
        }
コード例 #3
0
        private bool RemoveStudentFromAnalysis(RemoveAssignedStudentRQ model)
        {
            if (_analysisRepo.Get(model.TestId).Status >= TestStatus.InProgress)
            {
                return(false);
            }

            var assignment         = _analysisRepo.GetAssignment(model.StudentId, model.TestId);
            var outputTablesDbName = _adminConnectionConf.DbName;

            var dbDeleted              = _microsoftSQLService.DeleteDatabaseIfExists(assignment.InputNameOnServer);
            var studOutTableDeleted    = _microsoftSQLService.DeleteTableIfExists(assignment.StudentOutputNameOnServer, outputTablesDbName);
            var teacherOutTableDeleted = _microsoftSQLService.DeleteTableIfExists(assignment.TeacherOutputNameOnServer, outputTablesDbName);

            if (!dbDeleted || !studOutTableDeleted || !teacherOutTableDeleted)
            {
                return(false);
            }

            return(_studentRepo.RemoveAnalysis(model.StudentId, model.TimeStamp, model.TestId));
        }