/
d.alekseev
/
SmartMenuBot
Обзор
Документация
Войти
/
d.alekseev
/
SmartMenuBot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ConsoleBot/Core/Services/Domain/ToDoReportService.cs
19 строк
754 B
d.alekseev
feat: асинхронность, события и перевод сервисов на async
04 фев 2026, 17:25
04 фев 2026, 17:25
cd4e0a5
Код
Авторство
О чём код?
using SmartMenuBot.Core.Entities; using SmartMenuBot.Core.Services.Interfaces; namespace SmartMenuBot.Core.Services.Domain { public class ToDoReportService(IToDoService toDoService) : IToDoReportService { public async Task<(int total, int completed, int active, DateTime generatedAt)> GetUserStatsAsync(Guid userId, CancellationToken ct) { var itemsList = await toDoService.GetAllByUserIdAsync(userId, ct); int totalTasks = itemsList.Count; int activeTasks = itemsList.Where(item => item.State == ToDoItemState.Active).ToList().Count; int completedTasks = totalTasks - activeTasks; return (totalTasks, completedTasks, activeTasks, DateTime.UtcNow); } } }