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));
        }
Пример #3
0
        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());
            }
        }