From b75dbd365b388439d3e3329aec3c121259585fd4 Mon Sep 17 00:00:00 2001 From: Olga Nemt Date: Mon, 31 Jul 2023 17:55:49 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20idTransportType=20=D0=B4=D0=BB=D1=8F=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D1=87=D0=B5=D1=82=D0=B0=20=D0=BA=D0=BE=D0=BB=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B2=D0=B0=20=D0=BD=D0=B5=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=87=D1=82=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20=D1=83=D0=B2=D0=B5?= =?UTF-8?q?=D0=B4=D0=BE=D0=BC=D0=BB=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AsbCloudApp/Repositories/INotificationRepository.cs | 4 ++-- AsbCloudInfrastructure/Repository/NotificationRepository.cs | 3 ++- AsbCloudWebApi/Controllers/NotificationController.cs | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) 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); }