public IActionResult RegisterDonationRequestNonAuthenticated(UserDonatorViewModel inputData) { Appointment newAppointment = new Appointment(); newAppointment.FirstName = inputData.FirstName; newAppointment.LastName = inputData.LastName; newAppointment.PhoneNumber = inputData.PhoneNumber; db.Appointments.Add(newAppointment); db.SaveChanges(); return(RedirectToAction("Index", "Home")); }
public IActionResult Details() { var userId = _db.RCTHUsers .FirstOrDefault(u => u.UserName == User.Identity.Name) .Id; //get required user data from database ProfileDetailsViewModel model = _db.RCTHUsers .Include(u => u.BloodGroup) .Select(u => new ProfileDetailsViewModel() { UserName = u.UserName, FirstName = u.FirstName, LastName = u.LastName, Age = u.Age, BloodGroup = u.BloodGroup, PhoneNumber = u.PhoneNumber }) .FirstOrDefault(u => User.Identity.Name == u.UserName); //check if user has made a donation then update his bloodgroup if (model.BloodGroup == null) { model.BloodGroup = _db.Donations .Include(d => d.BloodGroup) .Where(d => d.UserId == userId) .OrderByDescending(d => d.dateDonated) .Select(d => d.BloodGroup) .FirstOrDefault(); //update user's bloodgroup after a successful bloodtest _db.RCTHUsers .Include(u => u.BloodGroup) .FirstOrDefault(u => u.Id == userId) .BloodGroup = model.BloodGroup; _db.SaveChanges(); } var donationView = _db.Donations .Where(d => d.UserId == userId) .OrderByDescending(d => d.dateDonated) .Select(d => new ProfileDetailsViewModel.DonationView() { Date = d.dateDonated, Id = d.Id, Quantity = d.Quantity, Receiver = d.Receiver }) .ToList(); //Assign Donation Data model.DonationData = donationView; model.LastBloodDonation = donationView.Select(d => d.Date).FirstOrDefault(); //create view model return(View("Details", model)); }