sort seed many-to-many entities

closes #216
This commit is contained in:
Collin Barrett 2018-02-13 20:23:56 -06:00
parent 312100cb70
commit 6a9c22fa76
9 changed files with 178 additions and 142 deletions

View file

@ -1,12 +1,4 @@
[
{
"filterListId": 20,
"languageId": 44
},
{
"filterListId": 14,
"languageId": 122
},
{
"filterListId": 1,
"languageId": 141
@ -15,6 +7,14 @@
"filterListId": 6,
"languageId": 141
},
{
"filterListId": 12,
"languageId": 163
},
{
"filterListId": 14,
"languageId": 122
},
{
"filterListId": 15,
"languageId": 154
@ -24,37 +24,13 @@
"languageId": 154
},
{
"filterListId": 12,
"languageId": 163
},
{
"filterListId": 315,
"languageId": 11
},
{
"filterListId": 316,
"languageId": 48
"filterListId": 20,
"languageId": 44
},
{
"filterListId": 30,
"languageId": 11
},
{
"filterListId": 216,
"languageId": 11
},
{
"filterListId": 224,
"languageId": 11
},
{
"filterListId": 84,
"languageId": 11
},
{
"filterListId": 223,
"languageId": 11
},
{
"filterListId": 60,
"languageId": 11
@ -63,6 +39,30 @@
"filterListId": 61,
"languageId": 11
},
{
"filterListId": 84,
"languageId": 11
},
{
"filterListId": 216,
"languageId": 11
},
{
"filterListId": 223,
"languageId": 11
},
{
"filterListId": 224,
"languageId": 11
},
{
"filterListId": 315,
"languageId": 11
},
{
"filterListId": 316,
"languageId": 48
},
{
"filterListId": 326,
"languageId": 141

View file

@ -91,6 +91,14 @@
"filterListId": 20,
"maintainerId": 22
},
{
"filterListId": 327,
"maintainerId": 22
},
{
"filterListId": 328,
"maintainerId": 22
},
{
"filterListId": 23,
"maintainerId": 23
@ -231,22 +239,22 @@
"filterListId": 324,
"maintainerId": 31
},
{
"filterListId": 216,
"maintainerId": 32
},
{
"filterListId": 224,
"maintainerId": 32
},
{
"filterListId": 84,
"maintainerId": 32
},
{
"filterListId": 216,
"maintainerId": 32
},
{
"filterListId": 223,
"maintainerId": 32
},
{
"filterListId": 224,
"maintainerId": 32
},
{
"filterListId": 60,
"maintainerId": 33
@ -267,14 +275,6 @@
"filterListId": 326,
"maintainerId": 36
},
{
"filterListId": 327,
"maintainerId": 22
},
{
"filterListId": 328,
"maintainerId": 22
},
{
"filterListId": 329,
"maintainerId": 37

View file

@ -3,6 +3,10 @@
"mergeFilterListId": 11,
"upstreamFilterListId": 12
},
{
"mergeFilterListId": 11,
"upstreamFilterListId": 301
},
{
"mergeFilterListId": 13,
"upstreamFilterListId": 12
@ -11,17 +15,37 @@
"mergeFilterListId": 13,
"upstreamFilterListId": 14
},
{
"mergeFilterListId": 13,
"upstreamFilterListId": 301
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 23
},
{
"mergeFilterListId": 22,
"upstreamFilterListId": 24
"mergeFilterListId": 21,
"upstreamFilterListId": 75
},
{
"mergeFilterListId": 120,
"upstreamFilterListId": 25
"mergeFilterListId": 21,
"upstreamFilterListId": 121
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 123
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 125
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 130
},
{
"mergeFilterListId": 22,
"upstreamFilterListId": 24
},
{
"mergeFilterListId": 22,
@ -31,41 +55,33 @@
"mergeFilterListId": 22,
"upstreamFilterListId": 37
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 75
},
{
"mergeFilterListId": 120,
"upstreamFilterListId": 76
},
{
"mergeFilterListId": 22,
"upstreamFilterListId": 77
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 121
},
{
"mergeFilterListId": 22,
"upstreamFilterListId": 122
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 123
},
{
"mergeFilterListId": 22,
"upstreamFilterListId": 124
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 125
"mergeFilterListId": 22,
"upstreamFilterListId": 126
},
{
"mergeFilterListId": 22,
"upstreamFilterListId": 126
"upstreamFilterListId": 129
},
{
"mergeFilterListId": 120,
"upstreamFilterListId": 25
},
{
"mergeFilterListId": 120,
"upstreamFilterListId": 76
},
{
"mergeFilterListId": 120,
@ -76,32 +92,32 @@
"upstreamFilterListId": 128
},
{
"mergeFilterListId": 22,
"upstreamFilterListId": 129
"mergeFilterListId": 168,
"upstreamFilterListId": 157
},
{
"mergeFilterListId": 21,
"upstreamFilterListId": 130
"mergeFilterListId": 168,
"upstreamFilterListId": 159
},
{
"mergeFilterListId": 11,
"mergeFilterListId": 168,
"upstreamFilterListId": 162
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 166
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 242
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 301
},
{
"mergeFilterListId": 13,
"upstreamFilterListId": 301
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 47
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 282
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 179
"mergeFilterListId": 271,
"upstreamFilterListId": 338
},
{
"mergeFilterListId": 309,
@ -109,7 +125,7 @@
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 276
"upstreamFilterListId": 32
},
{
"mergeFilterListId": 309,
@ -117,32 +133,12 @@
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 32
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 206
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 255
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 226
"upstreamFilterListId": 47
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 54
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 99
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 170
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 80
@ -151,37 +147,45 @@
"mergeFilterListId": 309,
"upstreamFilterListId": 81
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 99
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 138
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 170
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 177
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 166
"mergeFilterListId": 309,
"upstreamFilterListId": 179
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 159
"mergeFilterListId": 309,
"upstreamFilterListId": 206
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 157
"mergeFilterListId": 309,
"upstreamFilterListId": 226
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 162
"mergeFilterListId": 309,
"upstreamFilterListId": 255
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 301
"mergeFilterListId": 309,
"upstreamFilterListId": 276
},
{
"mergeFilterListId": 168,
"upstreamFilterListId": 242
"mergeFilterListId": 309,
"upstreamFilterListId": 282
},
{
"mergeFilterListId": 309,
@ -208,13 +212,17 @@
"upstreamFilterListId": 329
},
{
"mergeFilterListId": 331,
"upstreamFilterListId": 330
"mergeFilterListId": 309,
"upstreamFilterListId": 340
},
{
"mergeFilterListId": 331,
"upstreamFilterListId": 199
},
{
"mergeFilterListId": 331,
"upstreamFilterListId": 330
},
{
"mergeFilterListId": 331,
"upstreamFilterListId": 332
@ -222,13 +230,5 @@
{
"mergeFilterListId": 331,
"upstreamFilterListId": 333
},
{
"mergeFilterListId": 271,
"upstreamFilterListId": 338
},
{
"mergeFilterListId": 309,
"upstreamFilterListId": 340
}
]

View file

@ -18,7 +18,9 @@ public ForksController(SeedService seedService)
[HttpGet]
public async Task<IActionResult> Seed()
{
return Json(await seedService.GetAllAsync<Fork, ForkSeedDto>());
return Json(await seedService.GetAllAsync<Fork, ForkSeedDto>(
typeof(Fork).GetProperty("UpstreamFilterListId"),
typeof(Fork).GetProperty("ForkFilterListId")));
}
}
}

View file

@ -18,7 +18,9 @@ public ListsLanguagesController(SeedService seedService)
[HttpGet]
public async Task<IActionResult> Seed()
{
return Json(await seedService.GetAllAsync<FilterListLanguage, FilterListLanguageSeedDto>());
return Json(await seedService.GetAllAsync<FilterListLanguage, FilterListLanguageSeedDto>(
typeof(FilterListLanguage).GetProperty("FilterListId"),
typeof(FilterListLanguage).GetProperty("LanguageId")));
}
}
}

View file

@ -18,7 +18,9 @@ public ListsMaintainersController(SeedService seedService)
[HttpGet]
public async Task<IActionResult> Seed()
{
return Json(await seedService.GetAllAsync<FilterListMaintainer, FilterListMaintainerSeedDto>());
return Json(await seedService.GetAllAsync<FilterListMaintainer, FilterListMaintainerSeedDto>(
typeof(FilterListMaintainer).GetProperty("MaintainerId"),
typeof(FilterListMaintainer).GetProperty("FilterListId")));
}
}
}

View file

@ -18,7 +18,9 @@ public MergesController(SeedService seedService)
[HttpGet]
public async Task<IActionResult> Seed()
{
return Json(await seedService.GetAllAsync<Merge, MergeSeedDto>());
return Json(await seedService.GetAllAsync<Merge, MergeSeedDto>(
typeof(Merge).GetProperty("MergeFilterListId"),
typeof(Merge).GetProperty("UpstreamFilterListId")));
}
}
}

View file

@ -18,7 +18,9 @@ public SoftwareSyntaxesController(SeedService seedService)
[HttpGet]
public async Task<IActionResult> Seed()
{
return Json(await seedService.GetAllAsync<SoftwareSyntax, SoftwareSyntaxSeedDto>());
return Json(await seedService.GetAllAsync<SoftwareSyntax, SoftwareSyntaxSeedDto>(
typeof(SoftwareSyntax).GetProperty("SyntaxId"),
typeof(SoftwareSyntax).GetProperty("SoftwareId")));
}
}
}

View file

@ -1,4 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using AutoMapper.QueryableExtensions;
using FilterLists.Data;
@ -17,7 +19,31 @@ public SeedService(FilterListsDbContext filterListsDbContext)
public async Task<IEnumerable<TSeedDto>> GetAllAsync<TEntity, TSeedDto>() where TEntity : class
{
return await filterListsDbContext.Set<TEntity>().AsNoTracking().ProjectTo<TSeedDto>().ToArrayAsync();
return await filterListsDbContext.Set<TEntity>()
.AsNoTracking()
.ProjectTo<TSeedDto>()
.ToArrayAsync();
}
public async Task<IEnumerable<TSeedDto>> GetAllAsync<TEntity, TSeedDto>(PropertyInfo primarySort)
where TEntity : class
{
return await filterListsDbContext.Set<TEntity>()
.OrderBy(x => primarySort.GetValue(x, null))
.AsNoTracking()
.ProjectTo<TSeedDto>()
.ToArrayAsync();
}
public async Task<IEnumerable<TSeedDto>> GetAllAsync<TEntity, TSeedDto>(PropertyInfo primarySort,
PropertyInfo secondarySort) where TEntity : class
{
return await filterListsDbContext.Set<TEntity>()
.OrderBy(x => primarySort.GetValue(x, null))
.ThenBy(x => secondarySort.GetValue(x, null))
.AsNoTracking()
.ProjectTo<TSeedDto>()
.ToArrayAsync();
}
}
}