diff --git a/AsbCloudApp/Repositories/INotificationRepository.cs b/AsbCloudApp/Repositories/INotificationRepository.cs index 60cfb161..74f0b81c 100644 --- a/AsbCloudApp/Repositories/INotificationRepository.cs +++ b/AsbCloudApp/Repositories/INotificationRepository.cs @@ -35,8 +35,8 @@ public interface INotificationRepository : ICrudRepository /// Получение количества непрочтенных уведомлений /// /// + /// /// /// - Task GetUnreadCountAsync(int idUser, - CancellationToken cancellationToken); + Task GetUnreadCountAsync(int idUser, int idTransportType, CancellationToken cancellationToken); } \ No newline at end of file diff --git a/AsbCloudInfrastructure/Repository/NotificationRepository.cs b/AsbCloudInfrastructure/Repository/NotificationRepository.cs index 97091217..ea639c33 100644 --- a/AsbCloudInfrastructure/Repository/NotificationRepository.cs +++ b/AsbCloudInfrastructure/Repository/NotificationRepository.cs @@ -72,11 +72,12 @@ public class NotificationRepository : CrudRepositoryBase GetUnreadCountAsync(int idUser, CancellationToken cancellationToken) + public async Task GetUnreadCountAsync(int idUser, int idTransportType, CancellationToken cancellationToken) { var count = await dbContext.Notifications .Where(n => n.ReadDate == null) .Where(n => n.IdUser == idUser) + .Where(n => n.IdTransportType == idTransportType) .CountAsync(cancellationToken); return count; diff --git a/AsbCloudWebApi/Controllers/NotificationController.cs b/AsbCloudWebApi/Controllers/NotificationController.cs index 13766201..31203292 100644 --- a/AsbCloudWebApi/Controllers/NotificationController.cs +++ b/AsbCloudWebApi/Controllers/NotificationController.cs @@ -128,19 +128,20 @@ public class NotificationController : ControllerBase /// /// Получение количества непрочитанных уведомлений /// + /// /// /// [HttpGet] [Route("unreadNotificationCount")] [ProducesResponseType(typeof(int), (int)System.Net.HttpStatusCode.OK)] - public async Task GetUnreadCountAsync(CancellationToken cancellationToken) + public async Task GetUnreadCountAsync([FromQuery] int idTransportType, CancellationToken cancellationToken) { int? idUser = User.GetUserId(); if (!idUser.HasValue) return Forbid(); - var result = await notificationRepository.GetUnreadCountAsync(idUser.Value, cancellationToken); + var result = await notificationRepository.GetUnreadCountAsync(idUser.Value, idTransportType, cancellationToken); return Ok(result); }