protected override async Task ApplyUserUpdatesAsync(BrideForeverDataContext context, User user, DateTime yesterday) { var emails = await _brideForeverService.GetCountOfSentEmails(new[] { user }, yesterday, yesterday); var existingRecord = await context.UsersEmails.FirstOrDefaultAsync(item => item.User.ID == user.ID && item.Date == yesterday); context.UsersEmails.AddOrUpdate(u => u.Id, new UserEmails { Id = existingRecord?.Id ?? Guid.NewGuid(), User = user, Date = yesterday, Emails = emails.ToBytes() }); }
public async Task <IEnumerable <UserSentEmailsStatisticsModel> > GetUserSentEmailsCountToday([FromUri] string[] userNames) { var users = await GetUsefulUsers(userNames); var statistics = await _brideForeverService.GetCountOfSentEmails(users.ToArray(), DateTime.UtcNow.ToStartOfTheDay(), DateTime.UtcNow); return(statistics.Select(emailStatistics => new UserSentEmailsStatisticsModel { User = new UserModel { Title = emailStatistics.User.Name }, EmailsCount = emailStatistics.SentEmails })); }