コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }