コード例 #1
0
        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()
                };
            }));
        }
コード例 #2
0
 public async Task <ActionResult <DeleteDataBlockPlan> > GetDeletePlan(Guid releaseId, Guid id)
 {
     return(await _dataBlockService.GetDeletePlan(releaseId, id)
            .HandleFailuresOrOk());
 }