private bool RemoveStudentFromSynthesis(RemoveAssignedStudentRQ model) { if (_synthesisRepo.Get(model.TestId).Status >= TestStatus.InProgress) { return(false); } return(_studentRepo.RemoveSynthesis(model.StudentId, model.TimeStamp, model.TestId)); }
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")); }
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)); }