public async Task <IActionResult> DeleteDataSet(long id) { var dataSet = await aquariumDataSetRepository.GetByIdAsync(id); if (dataSet == null) { return(JsonNotFound($"AquariumDataSet ID {id} is not found.")); } if (await experimentRepository.ExistsAsync(x => x.DataSetId == id)) { return(JsonConflict($"AquariumDataSet ID {id} has been used by experiment.")); } if (await experimentPreprocessRepository.ExistsAsync(x => x.DataSetId == id)) { return(JsonConflict($"AquariumDataSet ID {id} has been used by experiment preprocess.")); } var dataSetIds = new HashSet <long>(); foreach (var dataSetVersion in aquariumDataSetVersionRepository.FindAll(x => x.AquariumDataSetId == id)) { dataSetIds.Add(dataSetVersion.DataSetId); } aquariumDataSetRepository.Delete(dataSet); unitOfWork.Commit(); foreach (var x in dataSetIds) { await dataSetLogic.ReleaseLockAsync(x); } unitOfWork.Commit(); return(JsonNoContent()); }
public async Task <IActionResult> Delete(long id) { var template = await templateRepository.GetByIdAsync(id); if (template == null) { return(JsonNotFound($"Template ID {id} is not found.")); } if (await experimentRepository.ExistsAsync(x => x.TemplateId == id, true)) { return(JsonConflict($"Template {id} has been used by experiment.")); } if (await experimentPreprocessRepository.ExistsAsync(x => x.TemplateId == id, true)) { return(JsonConflict($"Template {id} has been used by experiment preprocess.")); } templateRepository.Delete(template); unitOfWork.Commit(); return(JsonNoContent()); }
public async Task <IActionResult> Delete(long id) { var experiment = await experimentRepository .GetAll() .Include(x => x.ExperimentPreprocess) .SingleOrDefaultAsync(x => x.Id == id); if (experiment == null) { return(JsonNotFound($"Experiment ID {id} is not found.")); } experimentRepository.Delete(experiment); if (experiment.TrainingHistoryId != null) { (var status, var result) = await TrainingController.DoDelete( experiment.TrainingHistoryId.Value, trainingHistoryRepository, clusterManagementLogic, dataSetLogic, tagLogic, unitOfWork, CurrentUserInfo, ModelState, storageLogic, inferenceHistoryRepository, tensorBoardContainerRepository, tagRepository, RequestUrl); if (!status) { return(result); } } if (experiment.ExperimentPreprocessId != null) { var exists = await experimentRepository .ExistsAsync(x => x.ExperimentPreprocessId == experiment.ExperimentPreprocessId && x.Id != id); if (!exists) { experimentPreprocessRepository.Delete(experiment.ExperimentPreprocess); (var status, var result) = await TrainingController.DoDelete( experiment.ExperimentPreprocess.TrainingHistoryId, trainingHistoryRepository, clusterManagementLogic, dataSetLogic, tagLogic, unitOfWork, CurrentUserInfo, ModelState, storageLogic, inferenceHistoryRepository, tensorBoardContainerRepository, tagRepository, RequestUrl); if (!status) { return(result); } } } unitOfWork.Commit(); return(JsonNoContent()); }