コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public async Task <IActionResult> PostStaffAnnouncement([FromBody] StaffRoomAnnouncement announcement, CancellationToken ct = default)
 {
     return(Ok(await _staffService.PostStaffRoomAnnouncementAsync(announcement, ct)));
 }