예제 #1
0
        public async Task <IActionResult> Create([Bind("BenefitId,UserId,ProjectId")] UsersBenefits usersBenefits)
        {
            var userId = _GetPersonId();

            if (ModelState.IsValid)
            {
                var hasBenefit = await _context.UsersBenefits.AnyAsync(u => u.UserId == _GetPersonId() && u.BenefitId == usersBenefits.BenefitId);

                if (hasBenefit)
                {
                    return(Json(new
                    {
                        status = hasBenefit,
                        message = "You have already bought this package, please select another one!"
                    }));
                }
                else
                {
                    usersBenefits.UserId = _GetPersonId();
                    _context.Add(usersBenefits);
                    await _context.SaveChangesAsync();
                    await _SendMailAsync();

                    return(Json(new
                    {
                        status = hasBenefit,
                        message = "Congratulations! Smart choice to fund this project!"
                    }));
                }
            }
            ViewData["BenefitId"] = new SelectList(_context.Benefit, "BenefitId", "BenefitDesciption", usersBenefits.BenefitId);
            ViewData["UserId"]    = new SelectList(_context.AspNetUsers, "Id", "Id", usersBenefits.UserId);
            return(View(usersBenefits));
        }
예제 #2
0
        public async Task <IActionResult> Edit(string id, [Bind("BenefitId,UserId")] UsersBenefits usersBenefits)
        {
            if (id != usersBenefits.UserId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(usersBenefits);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UsersBenefitsExists(usersBenefits.UserId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BenefitId"] = new SelectList(_context.Benefit, "BenefitId", "BenefitDesciption", usersBenefits.BenefitId);
            ViewData["UserId"]    = new SelectList(_context.AspNetUsers, "Id", "Id", usersBenefits.UserId);
            return(View(usersBenefits));
        }