public Task <Either <ActionResult, List <ReleaseNoteViewModel> > > UpdateReleaseNoteAsync(Guid releaseId, Guid releaseNoteId, CreateOrUpdateReleaseNoteRequest request) { return(_persistenceHelper .CheckEntityExists <Release>(releaseId, HydrateReleaseForUpdates) .OnSuccess(_userService.CheckCanUpdateRelease) .OnSuccess(async release => { var releaseNote = release .Updates .First(note => note.Id == releaseNoteId); if (releaseNote == null) { return NotFound <List <ReleaseNoteViewModel> >(); } releaseNote.On = request.On ?? DateTime.Now; releaseNote.Reason = request.Reason; _context.Update.Update(releaseNote); await _context.SaveChangesAsync(); return GetReleaseNoteViewModels(release.Id); })); }
public Task <Either <ActionResult, List <ReleaseNoteViewModel> > > AddReleaseNoteAsync(Guid releaseId, CreateOrUpdateReleaseNoteRequest request) { return(_persistenceHelper .CheckEntityExists <Release>(releaseId, HydrateReleaseForUpdates) .OnSuccess(_userService.CheckCanUpdateRelease) .OnSuccess(async release => { _context.Update.Add(new Update { On = request.On ?? DateTime.Now, Reason = request.Reason, ReleaseId = release.Id }); await _context.SaveChangesAsync(); return GetReleaseNoteViewModels(release.Id); })); }