public async Task <IActionResult> UpdateHospitalList() { var personsQuery = _context.Persons as IQueryable <Person>; var hospitalsQuery = _context.Hospitals as IQueryable <Hospital>; var hospitals = hospitalsQuery.ToList(); personsQuery = personsQuery.Include(p => p.HospitalChoices); var persons = personsQuery.ToList(); foreach (var person in persons) { var choices = person.HospitalChoices.Select(c => c.HospitalId); var remainingHospitals = hospitals.Where(h => !choices.Any(c => c == h.Id)); var count = choices.Count(); foreach (var remHospital in remainingHospitals) { count++; var relationship = new PersonHospitalRelationship { PreferenceNumber = count, PersonId = person.Id, HospitalId = remHospital.Id }; _context.Add(relationship); await _context.SaveChangesAsync(); } } return(RedirectToAction("Preference", "People")); }
public async Task <IActionResult> Edit(int id, [Bind("Id,PreferenceNumber,PersonId,HospitalId")] PersonHospitalRelationship personHospitalRelationship) { if (id != personHospitalRelationship.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(personHospitalRelationship); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PersonHospitalRelationshipExists(personHospitalRelationship.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["HospitalId"] = new SelectList(_context.Hospitals, "Id", "Id", personHospitalRelationship.HospitalId); ViewData["PersonId"] = new SelectList(_context.Persons, "Id", "Id", personHospitalRelationship.PersonId); return(View(personHospitalRelationship)); }
public async Task <IActionResult> Create([Bind("Id,PreferenceNumber,PersonId,HospitalId")] PersonHospitalRelationship personHospitalRelationship) { if (ModelState.IsValid) { _context.Add(personHospitalRelationship); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["HospitalId"] = new SelectList(_context.Hospitals, "Id", "Id", personHospitalRelationship.HospitalId); ViewData["PersonId"] = new SelectList(_context.Persons, "Id", "Id", personHospitalRelationship.PersonId); return(View(personHospitalRelationship)); }