public async Task <ServiceResponse <GetAnnouncementDto> > UpdateAnnouncement(UpdateAnnouncementDto updatedAnnouncement) { ServiceResponse <GetAnnouncementDto> serviceResponse = new ServiceResponse <GetAnnouncementDto>(); try { Announcement announcement = await _context.Announcements.FirstOrDefaultAsync(a => a.announceId == updatedAnnouncement.announceID); announcement.title = updatedAnnouncement.title; announcement.subtitle = updatedAnnouncement.subtitle; announcement.description = updatedAnnouncement.description; announcement.isImportant = updatedAnnouncement.isImportant; announcement.validTill = updatedAnnouncement.validTill; announcement.lastUpdated = DateTime.Now.ToString(); _context.Announcements.Update(announcement); await _context.SaveChangesAsync(); serviceResponse.Data = _mapper.Map <GetAnnouncementDto>(announcement); } catch (Exception ex) { serviceResponse.Success = false; serviceResponse.Message = ex.Message; } return(serviceResponse); }
public async Task <IActionResult> Update( [FromRoute] int announcementId, [FromBody] UpdateAnnouncementDto announcementDto) { var userOwnsAnnouncement = await _announcementRepository.UserOwnsAnnouncementAsync( announcementId, HttpContext.GetUserId()); if (!userOwnsAnnouncement) { return(BadRequest(new { Error = "You do not own this announcement" })); } var announcement = await _announcementRepository.FindByIdAsync(announcementId); announcement.Name = announcementDto.Name; announcement.Type = (AnnouncementType)Enum.Parse(typeof(AnnouncementType), announcementDto.Type); announcement.Description = announcementDto.Description; announcement.Image = announcementDto.Image; var updated = await _announcementRepository.UpdateAsync(announcement); if (updated) { return(Ok(announcement)); } return(NotFound(new { Error = "Announcement was not found." })); }
public async Task <bool> UpdateAnnouncementAsync(int id, UpdateAnnouncementDto announcement) { var response = await _httpClient.PutAsJsonAsync( ApiRoutes.Announcements.Update.Replace("{announcementId}", id.ToString()), announcement); return(response.IsSuccessStatusCode); }
public async Task <IActionResult> UpdateAnnouncement(UpdateAnnouncementDto updatedAnnouncement) { ServiceResponse <GetAnnouncementDto> response = await _announcementService.UpdateAnnouncement(updatedAnnouncement); if (response.Data == null) { return(NotFound(response)); } return(Ok(response)); }
public async Task <IActionResult> OnPostAsync() { OldAnnouncement = await _apiAnnouncementClient.GetAnnouncementByIdAsync(CurrentAnnouncementId); var updateAnnouncementDto = new UpdateAnnouncementDto { Name = Name, Type = Type.ToString(), Description = Description, Image = OldAnnouncement.Image }; if (ImageFile != null) { if (!ModelState.IsValid) { return(Page()); } MemoryStream ms = new MemoryStream(); await ImageFile.CopyToAsync(ms); updateAnnouncementDto.Image = ms.ToArray(); ms.Close(); ms.Dispose(); } var success = await _apiAnnouncementClient.UpdateAnnouncementAsync( OldAnnouncement.Id, updateAnnouncementDto); if (!success) { ModelState.AddModelError("UnknownError", "Something went wrong updating the announcement..."); return(Page()); } return(RedirectToPage("/PostManagement/Manage")); }