public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } StreetTerritory = await _context.StreetTerritories.FirstOrDefaultAsync(m => m.TerritoryId == id); if (StreetTerritory == null) { return(NotFound()); } return(Page()); }
// Application starting point public void Legacy() { List <LegacyTerritory> legacyTerritories = new List <LegacyTerritory>(); // get the legacy data out of the database legacyTerritories = _legacyDb.LegacyTerritories.Include(a => a.LedgerEntries).ThenInclude(a => a.User).AsNoTracking().ToList(); // distinct list of legacy users var legacyUsers = legacyTerritories.SelectMany(a => a.LedgerEntries.Select(b => new { b.User.UserId, b.User.FirstName, b.User.LastName })).Distinct().ToList(); mapLegacyUserTargetPublisher = new Dictionary <string, int>(); // create the publishers in the target db foreach (var u in legacyUsers.OrderBy(a => a.LastName)) { var pub = new Publisher { FirstName = u.FirstName, LastName = u.LastName }; _targetDb.Add(pub); _targetDb.SaveChanges(); mapLegacyUserTargetPublisher.Add(u.UserId, pub.PublisherId); } mapSourcePublisherTargetPublisher = new Dictionary <int, int>(); // create the publishers in the target db foreach (var srcPub in _sourceDb.Publishers.OrderBy(a => a.LastName)) { if (!_targetDb.Publishers.Any(x => x.FirstName == srcPub.FirstName && x.LastName == srcPub.LastName)) { var pub = new Publisher { FirstName = srcPub.FirstName, LastName = srcPub.LastName }; _targetDb.Add(pub); _targetDb.SaveChanges(); mapSourcePublisherTargetPublisher.Add(srcPub.PublisherId, pub.PublisherId); } else { foreach (var pub in _targetDb.Publishers.Where(x => x.FirstName == srcPub.FirstName && x.LastName == srcPub.LastName)) { mapSourcePublisherTargetPublisher.Add(srcPub.PublisherId, pub.PublisherId); } } } mapLegacyTerritoryTargetStreetTerritory = new Dictionary <int, int>(); // create the street territories foreach (var t in legacyTerritories.OrderBy(a => a.TerritoryCode)) { var territoryCode = $"{t.TerritoryCode.Substring(0, 1).ToUpper()}-{int.Parse(t.TerritoryCode.Substring(1)):000}"; var street = new StreetTerritory { TerritoryCode = territoryCode, InActive = t.InActive, RefId = t.TerritoryId }; _targetDb.Add(street); _targetDb.SaveChanges(); mapLegacyTerritoryTargetStreetTerritory.Add(t.TerritoryId, street.TerritoryId); foreach (var entry in t.LedgerEntries.OrderBy(x => x.CheckOutDate)) { street.Activity.Add(new TerritoryActivity { PublisherId = mapLegacyUserTargetPublisher[entry.UserId], CheckOutDate = entry.CheckOutDate, CheckInDate = entry.CheckInDate }); _targetDb.SaveChanges(); } } }