From 7b53b0ca9ac4001644d7267f8ade6cdba1b25df7 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sun, 7 Oct 2018 15:01:11 -0500 Subject: [PATCH] re-enable seed of FilterList.UpdatedDate and FilterList.PublishedDate closes #544 --- .../Extensions/SeedFilterListsDbContext.cs | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/FilterLists.Data/Seed/Extensions/SeedFilterListsDbContext.cs b/src/FilterLists.Data/Seed/Extensions/SeedFilterListsDbContext.cs index 4de2049f8..1ee28876c 100644 --- a/src/FilterLists.Data/Seed/Extensions/SeedFilterListsDbContext.cs +++ b/src/FilterLists.Data/Seed/Extensions/SeedFilterListsDbContext.cs @@ -22,8 +22,11 @@ public static async Task SeedOrUpdateAsync(FilterListsDbContext dbContext, strin await SeedOrUpdate(dbContext, dataPath); await SeedOrUpdate(dbContext, dataPath); await SeedOrUpdate(dbContext, dataPath); + await SeedOrUpdate(dbContext, dataPath); await SetDefaultLicenseIdAsync(dbContext); + await SeedFilterListDates(dbContext, dataPath); + await SeedOrUpdate(dbContext, dataPath); await SeedOrUpdate(dbContext, dataPath); await SeedOrUpdate(dbContext, dataPath); @@ -167,5 +170,33 @@ private static async Task SetDefaultLicenseIdAsync(DbContext dbContext) dbContext.UpdateRange(listsWithoutLicense); await dbContext.SaveChangesAsync(); } + + private static async Task SeedFilterListDates(DbContext dbContext, string dataPath) + { + var seed = GetSeed(dataPath); + var lists = dbContext.Set() + .ToList() + .Select(l => + { + var seedList = seed.FirstOrDefault(s => s.Id == l.Id); + l.PublishedDate = seedList?.PublishedDate is DateTime seedPublishedDate + ? l.PublishedDate is DateTime currentPublishedDate + ? seedPublishedDate < currentPublishedDate + ? seedPublishedDate + : currentPublishedDate + : seedPublishedDate + : l.PublishedDate; + l.UpdatedDate = seedList?.UpdatedDate is DateTime seedUpdatedDate + ? l.UpdatedDate is DateTime currentUpdatedDate + ? seedUpdatedDate < currentUpdatedDate + ? currentUpdatedDate + : seedUpdatedDate + : seedUpdatedDate + : l.UpdatedDate; + return l; + }); + dbContext.UpdateRange(lists); + await dbContext.SaveChangesAsync(); + } } } \ No newline at end of file