private async Task SendEmailNewBookInsertedToAdministrators(Book book, UserStatsDTO userStats) { var model = new { Book = book, UserStats = userStats }; var html = await _emailTemplate.GenerateHtmlFromTemplateAsync(NewBookInsertedTemplate, model); await _emailService.SendToAdmins(html, NewBookInsertedTitle); }
public UserStatsDTO GetStats(Guid?userId) { var user = _userRepository.Find(userId); var books = _bookRepository.Get().Where(b => b.UserId == userId).ToList(); if (user == null) { throw new ShareBookException(ShareBookException.Error.NotFound, "Usuário não encontrado."); } var stats = new UserStatsDTO { CreationDate = user.CreationDate, TotalLate = books.Where(b => b.ChooseDate < DateTime.Today && b.Status == BookStatus.AwaitingDonorDecision).Count(), TotalOk = books.Where(b => b.Status == BookStatus.WaitingSend || b.Status == BookStatus.Sent || b.Status == BookStatus.Received).Count(), TotalCanceled = books.Where(b => b.Status == BookStatus.Canceled).Count() }; return(stats); }