Esempio n. 1
0
        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."));
            }
        }
Esempio n. 2
0
        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."));
            }
        }
Esempio n. 3
0
        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));
        }