public IActionResult DonateToCompany(int CompanyId, string CompanyName) { if (!_signInManager.IsSignedIn(User) || !_applicationContext.Companies.Any(c => c.Id == CompanyId)) { return(RedirectToAction("Index", "Home")); } CreateDonationViewModel model = new CreateDonationViewModel { CompanyId = CompanyId, UserId = _userManager.GetUserId(User), CompanyName = CompanyName }; return(View(model)); }
public async Task <IActionResult> DonateToCompany(CreateDonationViewModel model) { if (ModelState.IsValid) { Donation donation = new Donation { CompanyId = model.CompanyId, UserId = model.UserId, AmountOfDonation = model.AmountOfDonation }; Company company = _applicationContext.Companies.FirstOrDefault(c => c.Id == model.CompanyId); company.CollectedAmount += model.AmountOfDonation; _applicationContext.Companies.Update(company); _applicationContext.Donations.Add(donation); await _applicationContext.SaveChangesAsync(); return(RedirectToAction("Index", "Company", new { id = model.CompanyName })); } return(View(model)); }
public ActionResult Create(CreateDonationViewModel DonationCreate) { try { if (ModelState.IsValid) { var donor = _context.Donors.Where(p => p.Pesel == DonationCreate.Pesel).First(); var donation = new Donation { Donor = donor, Amount = DonationCreate.Amount, DonationType = DonationCreate.DonationType, Date = DateTime.Now.Date }; if (donor.NextDonation(donation.DonationType) <= DateTime.Now) { _context.AddDonation(donation); string when = "ok"; return(RedirectToAction(nameof(Create), new { add = when })); } else { var temp = donor.NextDonation(donation.DonationType); string when = "Następnej dotacji można dokonać " + temp.Date.ToString("d"); return(RedirectToAction(nameof(Create), new { add = when })); } } //_context.AddDonation(donation); var errors = ModelState.Values.SelectMany(v => v.Errors).ToArray(); string whenn = errors[0].ErrorMessage;// "Coś poszlo nie tak"; return(RedirectToAction(nameof(Create), new { add = whenn })); } catch { return(View()); } }