private static User PrepareUserResult(ICacheEntry cacheEntry, AutoRestClients.PlatformModuleApi.Models.ApplicationUserExtended userDto)
 {
     if (userDto != null)
     {
         cacheEntry.SetAbsoluteExpiration(TimeSpan.FromMinutes(1));
         cacheEntry.AddExpirationToken(SecurityCacheRegion.CreateChangeToken(userDto.Id));
         return(userDto.ToUser());
     }
     return(null);
 }
Пример #2
0
 private User PrepareUserResult(MemoryCacheEntryOptions options, AutoRestClients.PlatformModuleApi.Models.ApplicationUserExtended userDto)
 {
     if (userDto != null)
     {
         var user = userDto.ToUser();
         options.AddExpirationToken(new PollingApiUserChangeToken(_platformSecurityApi, _options.ChangesPollingInterval));
         options.AddExpirationToken(SecurityCacheRegion.CreateChangeToken(userDto.Id));
         return(user);
     }
     return(null);
 }
Пример #3
0
        private async Task <User> PrepareUserResultAsync(MemoryCacheEntryOptions options, AutoRestClients.PlatformModuleApi.Models.ApplicationUserExtended userDto)
        {
            if (userDto != null)
            {
                var user = userDto.ToUser();
                var orderSearchResult = await _orderModule.SearchAsync(new CustomerOrderSearchCriteria()
                {
                    CustomerId = user.Id,
                    Take       = 0,
                    Skip       = 0,
                });

                user.IsFirstTimeBuyer = orderSearchResult.TotalCount == 0;

                options.AddExpirationToken(new PollingApiUserChangeToken(_platformSecurityApi, _options.ChangesPollingInterval));
                options.AddExpirationToken(SecurityCacheRegion.CreateChangeToken(userDto.Id));

                return(user);
            }
            return(null);
        }