Optimize query

This commit is contained in:
Christian Arenas 2017-06-19 09:41:24 +02:00
parent ed97efaf61
commit b36a05b64b

View File

@ -133,15 +133,13 @@
if (marketingData != null) if (marketingData != null)
{ {
//Get User Location Campaign var locationIdCandidateList = marketingData.Locations.Select(x => x.LocationId);
foreach (var userLocation in marketingData.Locations)
{
var userCampaignList = await _context.Rules var userCampaignList = await _context.Rules
.OfType<UserLocationRule>() .OfType<UserLocationRule>()
.Include(c => c.Campaign) .Include(c => c.Campaign)
.Where(c => c.Campaign.From <= DateTime.Now .Where(c => c.Campaign.From <= DateTime.Now
&& c.Campaign.To >= DateTime.Now && c.Campaign.To >= DateTime.Now
&& c.LocationId == userLocation.LocationId) && locationIdCandidateList.Contains(c.LocationId))
.Select(c => c.Campaign) .Select(c => c.Campaign)
.ToListAsync(); .ToListAsync();
@ -150,7 +148,7 @@
var userCampaignDtoList = MapCampaignModelListToDtoList(userCampaignList); var userCampaignDtoList = MapCampaignModelListToDtoList(userCampaignList);
campaignDtoList.AddRange(userCampaignDtoList); campaignDtoList.AddRange(userCampaignDtoList);
} }
}
} }
var totalItems = campaignDtoList.Count(); var totalItems = campaignDtoList.Count();