public async Task <StaffRoomAnnouncement> PostStaffRoomAnnouncementAsync(StaffRoomAnnouncement announcement, CancellationToken ct = default) { await _context.StaffRoomAnnouncements.AddAsync(announcement, ct); await _context.SaveChangesAsync(); return(await GetStaffRoomAnnouncementAsync(announcement.AnnouncementId, ct)); }
public async Task MarkAnnouncementAsDeletedAsync(int id, CancellationToken ct = default) { StaffRoomAnnouncement announcement = await _context.StaffRoomAnnouncements .AsNoTracking() .FirstOrDefaultAsync(a => a.AnnouncementId == id, cancellationToken: ct); announcement.IsDeleted = true; _context.Update(announcement); await _context.SaveChangesAsync(ct); }
public async Task <StaffRoomAnnouncement> GetStaffRoomAnnouncementAsync(int id, CancellationToken ct = default) { StaffRoomAnnouncement announcement = await _context.StaffRoomAnnouncements .AsNoTracking() .Include(a => a.User) .FirstOrDefaultAsync(a => a.AnnouncementId == id && !a.IsDeleted, cancellationToken: ct); announcement.UserDTO = announcement.User.ConvertToDTO(); announcement.User = null; return(announcement); }
public async Task <IActionResult> PostStaffAnnouncement([FromBody] StaffRoomAnnouncement announcement, CancellationToken ct = default) { return(Ok(await _staffService.PostStaffRoomAnnouncementAsync(announcement, ct))); }