public IActionResult RemoveClaimedDonation(int id) { MyClaimsViewModel my_claims = new MyClaimsViewModel(); var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); DonationClaimsModel claim_to_remove = _leftRoverContext.DonationClaims.Where(dnt => dnt.DonationID == id && dnt.UserId.Equals(userId)).FirstOrDefault(); try { _leftRoverContext.DonationClaims.Attach(claim_to_remove); _leftRoverContext.DonationClaims.Remove(claim_to_remove); _leftRoverContext.SaveChanges(); } catch { } DonationsModel donation_selected = _leftRoverContext.Donations.Where(dnt => dnt.DonationID == id).FirstOrDefault(); donation_selected.Status = "Available"; try { _leftRoverContext.SaveChanges(); } catch { } List <DonationClaimsModel> claimed_donations = _leftRoverContext.DonationClaims.Where(dnts => dnts.UserId.Equals(userId)).ToList(); List <DonationsModel> donations = new List <DonationsModel>(); foreach (DonationClaimsModel claimed in claimed_donations) { DonationsModel donation = _leftRoverContext.Donations.Where(dnt => dnt.DonationID == claimed.DonationID).FirstOrDefault(); donations.Add(donation); } my_claims.ClaimedDonations = donations; return(View("MyItems", my_claims)); }
public IActionResult ClaimDonation(MyDonationsViewModel model) { MyClaimsViewModel my_claims = new MyClaimsViewModel(); var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); DonationClaimsModel claim = new DonationClaimsModel { DonationID = model.DonationID, UserId = userId }; try { _leftRoverContext.DonationClaims.Add(claim); _leftRoverContext.SaveChanges(); DonationsModel donation = _leftRoverContext.Donations.Where(dnt => dnt.DonationID == model.DonationID).FirstOrDefault(); donation.Status = "Claimed"; _leftRoverContext.SaveChanges(); } catch { } List <DonationClaimsModel> claimed_donations = _leftRoverContext.DonationClaims.Where(dnts => dnts.UserId.Equals(userId)).ToList(); List <DonationsModel> donations = new List <DonationsModel>(); foreach (DonationClaimsModel claimed in claimed_donations) { DonationsModel donation = _leftRoverContext.Donations.Where(dnt => dnt.DonationID == claimed.DonationID).FirstOrDefault(); donations.Add(donation); } my_claims.ClaimedDonations = donations; return(View("MyItems", my_claims)); }