public async Task <IActionResult> Edit(int id, [Bind("BloodDonationID,DonationDate,Volume,NurseID,DonorID")] BloodDonation bloodDonation) { if (id != bloodDonation.BloodDonationID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(bloodDonation); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BloodDonationExists(bloodDonation.BloodDonationID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["DonorID"] = new SelectList(_context.Donors, "DonorID", "FullName", bloodDonation.DonorID); ViewData["NurseID"] = new SelectList(_context.Nurses, "NurseID", "FullName", bloodDonation.NurseID); return(View(bloodDonation)); }
public async Task AddBloodDonationAsync(DateTime dateOfDonation, int volume, string donorPesel, string personnelPesel) { var guid = Guid.NewGuid(); var donor = await donorRepository.GetAsync(donorPesel); if (donor == null) { throw new UserNotFoundException($"{nameof(donor)} not found."); } var personnel = await personnelRepository.GetAsync(personnelPesel); if (personnel == null) { throw new UserNotFoundException($"{nameof(personnel)} not found."); } var bloodType = donor.BloodType; donor.UpdateTimeOfLastDonation(dateOfDonation); await donorRepository.UpdateAsync(donor); var bloodDonation = new BloodDonation(guid, dateOfDonation, volume, bloodType, donor, personnel); await bloodDonationRepository.AddAsync(bloodDonation); }
public BloodDonation StartBloodDonation(Donor donor) { if (donor.IsBlocked()) { throw new ArgumentException(); } var bloodDonation = new BloodDonation(0, donor); ActiveDonations.Add(bloodDonation); return(bloodDonation); }
public async Task <IActionResult> Create([Bind("BloodDonationID,DonationDate,Volume,NurseID,DonorID")] BloodDonation bloodDonation) { if (ModelState.IsValid) { _context.Add(bloodDonation); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["DonorID"] = new SelectList(_context.Donors, "DonorID", "FullName", bloodDonation.DonorID); ViewData["NurseID"] = new SelectList(_context.Nurses, "NurseID", "FullName", bloodDonation.NurseID); return(View(bloodDonation)); }
public static void Initialize(BBSContext context) { context.Database.EnsureCreated(); // Look for any students. if (context.Hospitals.Any()) { return; //DB seeded } var hospitals = new Hospital[] { new Hospital { Name = "New York Presbyterian Med Center", Address = "2960 Broadway, New York, NY 10027" }, new Hospital { Name = "Mount Sinai Hospital", Address = "1468 Madison Ave, New York, NY 10029" } }; foreach (var h in hospitals) { context.Hospitals.Add(h); } context.SaveChanges(); var nurses = new Nurse[] { new Nurse { FirstName = "Adela", LastName = "Rosario", PESEL = "95072495285", HireDate = DateTime.Parse("2012-09-01"), HospitalID = hospitals.Single(h => h.Name == "New York Presbyterian Med Center").HospitalID }, new Nurse { FirstName = "Kimberly", LastName = "Garrison", PESEL = "81080785425", HireDate = DateTime.Parse("2005-12-05"), HospitalID = hospitals.Single(h => h.Name == "Mount Sinai Hospital").HospitalID }, new Nurse { FirstName = "Stephen", LastName = "Wells", PESEL = "88060999799", HireDate = DateTime.Parse("2012-03-07"), HospitalID = hospitals.Single(h => h.Name == "New York Presbyterian Med Center").HospitalID }, }; foreach (var n in nurses) { context.Nurses.Add(n); } context.SaveChanges(); var donors = new Donor[] { new Donor { FirstName = "Jaiden", LastName = "Mathis", BloodType = "0 Rh+", PESEL = "97122144198" }, new Donor { FirstName = "Taylor", LastName = "Bird", BloodType = "A Rh-", PESEL = "87051874938" }, new Donor { FirstName = "Beth", LastName = "Emery", BloodType = "B Rh-", PESEL = "00271433989" }, new Donor { FirstName = "Chelsea", LastName = "Whitfield", BloodType = "AB Rh+", PESEL = "92111041681" } }; foreach (var d in donors) { context.Donors.Add(d); } context.SaveChanges(); var bloodDonations = new BloodDonation[] { new BloodDonation { Volume = 500, DonationDate = DateTime.Parse("2019-05-06"), DonorID = donors.Single(d => d.PESEL == "97122144198").DonorID, NurseID = nurses.Single(n => n.PESEL == "95072495285").NurseID }, new BloodDonation { Volume = 400, DonationDate = DateTime.Parse("2019-05-08"), DonorID = donors.Single(d => d.PESEL == "87051874938").DonorID, NurseID = nurses.Single(n => n.PESEL == "95072495285").NurseID }, new BloodDonation { Volume = 300, DonationDate = DateTime.Parse("2019-02-01"), DonorID = donors.Single(d => d.PESEL == "00271433989").DonorID, NurseID = nurses.Single(n => n.PESEL == "81080785425").NurseID }, new BloodDonation { Volume = 600, DonationDate = DateTime.Parse("2019-05-13"), DonorID = donors.Single(d => d.PESEL == "00271433989").DonorID, NurseID = nurses.Single(n => n.PESEL == "81080785425").NurseID }, new BloodDonation { Volume = 340, DonationDate = DateTime.Parse("2019-05-08"), DonorID = donors.Single(d => d.PESEL == "92111041681").DonorID, NurseID = nurses.Single(n => n.PESEL == "88060999799").NurseID } }; foreach (var b in bloodDonations) { context.BloodDonations.Add(b); } context.SaveChanges(); }
public async Task ScheduleAppointment(BloodDonation donation) { // TODO: Use a model class and validate client input before saving donation.Status = BloodDonationStatus.Scheduled; await _dbContext.SaveChangesAsync(); }
public async Task UpdateAsync(BloodDonation bloodDonation) { await Task.CompletedTask; }
public async Task AddAsync(BloodDonation bloodDonation) => await Task.FromResult(bloodDonations.Add(bloodDonation));
public async Task UpdateAsync(BloodDonation bloodDonation) { context.BloodDonations.Update(bloodDonation); await context.SaveChangesAsync(); }
public async Task AddAsync(BloodDonation bloodDonation) { await context.BloodDonations.AddAsync(bloodDonation); await context.SaveChangesAsync(); }
public void AbortDonation(BloodDonation bloodDonation) { ActiveDonations.Remove(bloodDonation); bloodDonation.EndDonation(); }