public Task <Either <ActionResult, List <Link> > > UpdateRelatedInformationAsync( Guid releaseId, Guid relatedInformationId, CreateUpdateLinkRequest request) { return(_persistenceHelper .CheckEntityExists <Release>(releaseId) .OnSuccess(_userService.CheckCanUpdateRelease) .OnSuccess(async release => { var toUpdate = release .RelatedInformation .Find(item => item.Id == relatedInformationId); if (toUpdate == null) { return NotFound <List <Link> >(); } toUpdate.Description = request.Description; toUpdate.Url = request.Url; _context.Releases.Update(release); await _context.SaveChangesAsync(); return release.RelatedInformation; })); }
public async Task <ActionResult <List <Link> > > UpdateRelatedInformation( CreateUpdateLinkRequest request, Guid releaseId, Guid relatedInformationId) { return(await _relatedInformationService .UpdateRelatedInformationAsync(releaseId, relatedInformationId, request) .HandleFailuresOrOk()); }
public Task <Either <ActionResult, List <Link> > > AddRelatedInformationAsync(Guid releaseId, CreateUpdateLinkRequest request) { return(_persistenceHelper .CheckEntityExists <Release>(releaseId) .OnSuccess(_userService.CheckCanUpdateRelease) .OnSuccess(async release => { if (release.RelatedInformation == null) { release.RelatedInformation = new List <Link>(); } release.RelatedInformation.Add(new Link { Id = Guid.NewGuid(), Description = request.Description, Url = request.Url }); _context.Releases.Update(release); await _context.SaveChangesAsync(); return release.RelatedInformation; })); }
public async Task <ActionResult <List <Link> > > AddRelatedInformation(CreateUpdateLinkRequest request, Guid releaseId) { return(await _relatedInformationService .AddRelatedInformationAsync(releaseId, request) .HandleFailuresOr(result => Created(HttpContext.Request.Path, result))); }