/// <inheritdoc /> public async Task <bool> UpdateAsync(AnnouncementPutDto announcementDto) { var book = _mapper.Map <Announcement>(announcementDto); var oldAnnouncement = await _announcementRepository.GetAll().AsNoTracking().FirstOrDefaultAsync(a => a.Id == book.Id); if (oldAnnouncement == null) { return(false); } await _announcementRepository.Update(book, announcementDto.FieldMasks); var affectedRows = await _announcementRepository.SaveChangesAsync(); return(affectedRows > 0); }
public async Task Update_AnnouncementDoesNotExist_Returns_False() { var announcementsMock = GetTestAnnouncements().AsQueryable().BuildMock(); _announcementRepositoryMock.Setup(s => s.GetAll()).Returns(announcementsMock.Object); _announcementRepositoryMock.Setup(s => s.Update(It.IsAny <Announcement>(), It.IsAny <List <string> >())); _announcementRepositoryMock.Setup(x => x.SaveChangesAsync()).ReturnsAsync(1); var announcementDto = new AnnouncementPutDto() { Id = 3, FieldMasks = new List <string> { "Title" } }; var result = await _announcementService.UpdateAsync(announcementDto); result.Should().BeFalse(); }
public async Task <IActionResult> PutAsync([FromRoute] int id, [FromForm] AnnouncementPutDto announcementDto) { if (id != announcementDto.Id) { return(BadRequest()); } if (announcementDto == null) { return(BadRequest()); } var isAnnouncementUpdated = await _announcementService.UpdateAsync(announcementDto); if (!isAnnouncementUpdated) { return(BadRequest()); } return(NoContent()); }