View difference between Paste ID: z9fKXp5J and TiCLPQMV
SHOW: | | - or go back to the newest paste.
1
2
            Ensure.Argument.NotNull(template);
3
            
4
            var users = _userRepo
5
                .AllIncluding(u => u.SentEmails);
6-
            var users = _userRepo.AllIncluding(u => u.SentEmails).Where(u => u.AccountStateCode == asc && u is Customer && !u.SentEmails.Select(s => s.EmailTemplateId).Contains(template.Id));
6+
7
            switch (template.QueueAfter)
8
            {
9
                case QueueAfter.RegistrationDate:
10
                    users = users.Where(ud => ud.RegisteredOn <= DateTime.Today.AddDays(template.QueueDays));
11
                    break;
12
                default:
13
                    throw new ArgumentOutOfRangeException();
14
            }
15
            
16
            var asc = UserBase.GetAccountStateCode(template.QueueAccountState);
17
            return users
18
                .Where(u => u.AccountStateCode == asc
19
                         && u is Customer
20
                         && !u.SentEmails.Select(s => s.EmailTemplateId).Contains(template.Id))
21
                    .Select(user => user as Customer)
22
                    .ToList();