public async Task <Either <ActionResult, DeleteDataFilePlan> > GetDeleteDataFilePlan(Guid releaseId, Guid fileId) { return(await _persistenceHelper.CheckEntityExists <Release>(releaseId) .OnSuccess(_userService.CheckCanUpdateRelease) .OnSuccess(() => CheckFileExists(fileId)) .OnSuccess(async file => { var subject = file.SubjectId.HasValue ? await _subjectService.Get(file.SubjectId.Value) : null; var footnotes = subject == null ? new List <Footnote>() : _footnoteService.GetFootnotes(releaseId, subject.Id); return new DeleteDataFilePlan { ReleaseId = releaseId, SubjectId = subject?.Id ?? Guid.Empty, TableStorageItem = new DatafileImport(releaseId.ToString(), file.Filename), DeleteDataBlockPlan = await _dataBlockService.GetDeletePlan(releaseId, subject), FootnoteIds = footnotes.Select(footnote => footnote.Id).ToList() }; })); }
public async Task <ActionResult <DeleteDataBlockPlan> > GetDeletePlan(Guid releaseId, Guid id) { return(await _dataBlockService.GetDeletePlan(releaseId, id) .HandleFailuresOrOk()); }