public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } InaccessibleTerritory = await _context.InaccessibleTerritories.Include(x => x.StreetTerritory).FirstOrDefaultAsync(m => m.TerritoryId == id); if (InaccessibleTerritory == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } InaccessibleTerritory = await _context.InaccessibleTerritories.FindAsync(id); if (InaccessibleTerritory != null) { _context.InaccessibleTerritories.Remove(InaccessibleTerritory); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public void Populate() { // copy inaccessible territories from source var sourceTerritories = _sourceDb.InaccessibleTerritories .Include(x => x.StreetTerritory) .Include(x => x.InaccessibleProperties) .ThenInclude(x => x.ContactLists) .ThenInclude(x => x.Contacts) .ThenInclude(x => x.ContactActivity) .ThenInclude(x => x.Publisher) .AsNoTracking() .ToList(); foreach (var t in sourceTerritories) { var streetTerritoryId = _targetDb.StreetTerritories.Where(x => x.TerritoryCode == t.StreetTerritory.TerritoryCode).Select(x => x.TerritoryId).FirstOrDefault(); var territory = new InaccessibleTerritory { TerritoryCode = t.TerritoryCode, StreetTerritoryId = streetTerritoryId, InActive = t.InActive }; foreach (var p in t.InaccessibleProperties) { var property = new InaccessibleProperty { ResearchedDate = p.ResearchedDate, StreetNumbers = p.StreetNumbers, Street = p.Street, City = p.City, State = p.State, PostalCode = p.PostalCode, EstimatedDwellingCount = p.EstimatedDwellingCount, PropertyName = p.PropertyName, Description = p.Description }; foreach (var l in p.ContactLists) { var list = new InaccessibleContactList { CreateDate = l.CreateDate }; foreach (var c in l.Contacts) { int?assign = null; if (c.AssignPublisherId.HasValue) { assign = mapSourcePublisherTargetPublisher[c.AssignPublisherId.Value]; } var contact = new InaccessibleContact { AssignPublisherId = assign, AssignDate = c.AssignDate, FirstName = c.FirstName, LastName = c.LastName, MiddleInitial = c.MiddleInitial, Age = c.Age, MailingAddress1 = c.MailingAddress1, MailingAddress2 = c.MailingAddress2, City = c.City, State = c.State, PostalCode = c.PostalCode, PhoneTypeId = c.PhoneTypeId, PhoneNumber = c.PhoneNumber, EmailAddresses = c.EmailAddresses, }; foreach (var a in c.ContactActivity) { int pub = mapSourcePublisherTargetPublisher[a.PublisherId]; contact.ContactActivity.Add(new InaccessibleContactActivity { PublisherId = pub, ActivityDate = a.ActivityDate, ContactActivityTypeId = a.ContactActivityTypeId, PhoneCallerIdBlocked = a.PhoneCallerIdBlocked, PhoneResponseTypeId = a.PhoneResponseTypeId, Notes = a.Notes }); } list.Contacts.Add(contact); } property.ContactLists.Add(list); } territory.InaccessibleProperties.Add(property); } _targetDb.Add(territory); } _targetDb.SaveChanges(); //this will set the current contact list for the property _targetDb.Database.ExecuteSqlRaw(@" UPDATE InaccessibleProperties SET CurrentContactListId = ( SELECT MAX(InaccessibleContactListId) FROM InaccessibleContactLists i WHERE i.InaccessiblePropertyId = InaccessibleProperties.InaccessiblePropertyId )" ); var srcTerritories = _sourceDb.InaccessibleTerritories.Include(x => x.Activity); foreach (var srcTerritory in srcTerritories) { var targetTerritory = _targetDb.InaccessibleTerritories.Where(x => x.TerritoryCode == srcTerritory.TerritoryCode).FirstOrDefault(); foreach (var srcActivity in srcTerritory.Activity.OrderBy(x => x.CheckOutDate)) { targetTerritory.Activity.Add(new TerritoryActivity { PublisherId = mapSourcePublisherTargetPublisher[srcActivity.PublisherId], CheckOutDate = srcActivity.CheckOutDate, CheckInDate = srcActivity.CheckInDate, Notes = srcActivity.Notes }); } _targetDb.SaveChanges(); } mapSourceStreetTerritoryTargetStreetTerritory = new Dictionary <int, int>(); foreach (var srcStreetTerritory in _sourceDb.StreetTerritories) { var targetStreetTerritory = _targetDb.StreetTerritories.Where(x => x.TerritoryCode == srcStreetTerritory.TerritoryCode).FirstOrDefault(); mapSourceStreetTerritoryTargetStreetTerritory.Add(srcStreetTerritory.TerritoryId, targetStreetTerritory.TerritoryId); } foreach (var srcDoNotContactLetter in _sourceDb.DoNotContactLetters.OrderBy(x => x.ReportedDate)) { _targetDb.DoNotContactLetters.Add(new DoNotContactLetter { TerritoryId = mapSourceStreetTerritoryTargetStreetTerritory[srcDoNotContactLetter.TerritoryId], PublisherId = mapSourcePublisherTargetPublisher[srcDoNotContactLetter.PublisherId], ReportedDate = srcDoNotContactLetter.ReportedDate, MailingAddress1 = srcDoNotContactLetter.MailingAddress1, MailingAddress2 = srcDoNotContactLetter.MailingAddress2, Notes = srcDoNotContactLetter.Notes }); } foreach (var srcDoNotContactPhone in _sourceDb.DoNotContactPhones.OrderBy(x => x.ReportedDate)) { _targetDb.DoNotContactPhones.Add(new DoNotContactPhone { PublisherId = mapSourcePublisherTargetPublisher[srcDoNotContactPhone.PublisherId], ReportedDate = srcDoNotContactPhone.ReportedDate, PhoneNumber = srcDoNotContactPhone.PhoneNumber, Notes = srcDoNotContactPhone.Notes }); } foreach (var srcDoNotContactStreet in _sourceDb.DoNotContactStreets.OrderBy(x => x.ReportedDate)) { _targetDb.DoNotContactStreets.Add(new DoNotContactStreet { TerritoryId = mapSourceStreetTerritoryTargetStreetTerritory[srcDoNotContactStreet.TerritoryId], PublisherId = mapSourcePublisherTargetPublisher[srcDoNotContactStreet.PublisherId], ReportedDate = srcDoNotContactStreet.ReportedDate, StreetAddress = srcDoNotContactStreet.StreetAddress, Coordinates = srcDoNotContactStreet.Coordinates, Notes = srcDoNotContactStreet.Notes }); } _targetDb.SaveChanges(); }