public ActionResult <Result <bool> > DeleteTask([FromBody] DeleteEntityRQ body) { var entity = _taskRepo.Get(body.Id); var childCnt = _synthesisRepo.TaskChildCount(body.Id); if (childCnt > 0) { return(Result <bool> .Fail($"Unable to delete. A total of {childCnt} synthesis tests depend on this task.")); } var success = _microsoftSQLService.DeleteDatabaseIfExists(entity.NameOnServer); if (!success) { return(Result <bool> .Fail("Failed to delete database instance.")); } success = _taskRepo.DeleteTask(body.Id, body.TimeStamp); if (success) { return(Result <bool> .Success(true)); } else { return(Result <bool> .Fail("Failed to delete record.")); } }
public ActionResult <Result <bool> > DeleteSynthesisTest([FromBody] DeleteEntityRQ body) { var entity = _synthesisRepo.Get(body.Id); if (entity.Status > TestStatus.Scheduled) { var statusText = entity.Status.ToString().ToLower(); return(Result <bool> .Fail($"Unable to delete. Delete of '{statusText}' test is not allowed")); } var assignedCount = _synthesisRepo.AssignedStudentsCount(body.Id); if (assignedCount > 0) { return(Result <bool> .Fail($"Unable to delete. A total of {assignedCount} students are assigned to this test.")); } var success = _synthesisRepo.DeleteTest(body.Id, body.TimeStamp); if (success) { return(Result <bool> .Success(true)); } else { return(Result <bool> .Fail("Failed to delete record.")); } }
public ActionResult <Result <bool> > DeleteInstance([FromBody] DeleteEntityRQ body) { var instanceEntity = _exerciseRepo.Get(body.Id); if (instanceEntity.StudentId != UserId) { return(Unauthorized()); } var instanceDeleteSuccess = _msSqlService.DeleteDatabaseIfExists(instanceEntity.NameOnServer); if (!instanceDeleteSuccess) { return(Result <bool> .Fail("Failed to delete database instance.")); } var recordDeleteSuccess = _exerciseRepo.Delete(body.Id, body.TimeStamp); if (!recordDeleteSuccess) { return(Result <bool> .Fail("Failed to delete database record.")); } return(Result <bool> .Success(true)); }