示例#1
0
        /// <summary>
        /// This method allows the enrollment of a participant in the enrollment.
        /// </summary>
        /// <param name="id">Formation identification</param>
        /// <returns>Returns a Task of an IActionResult</returns>
        /// <seealso cref="Task"/>
        /// <seealso cref="IActionResult"/>
        public async Task <IActionResult> Enrollment(int id)
        {
            if (!FormationExists(id))
            {
                return(View("/Views/Shared/NotFound.cshtml"));
            }
            Formation formation = _context.Formation.Find(id);

            if (formation.MaxEnrollment > formation.NumberOfRegistrations)
            {
                var user = await _userManager.GetUserAsync(User);

                Enrollment enrollment = new Enrollment {
                    FormationID = id, RegisteredID = user.Id
                };
                _context.Add(enrollment);
                await _context.SaveChangesAsync();

                //Atualizar o Número de inscrições
                formation.NumberOfRegistrations = formation.NumberOfRegistrations + 1;
                _context.Update(formation);
                await _context.SaveChangesAsync();
            }
            else
            {
                ViewBag.Erro("Já não existem mais incrições disponíveis");
            }
            return(RedirectToAction(nameof(Details), new { id = id }));
        }
 public ActionResult Edit(AnunciosWebMotorsViewModel anuncioVM)
 {
     if (ModelState.IsValid)
     {
         var anuncio = Mapper.Map <AnunciosWebMotors>(anuncioVM);
         try
         {
             db.Update(anuncio);
             return(RedirectToAction("Index"));
         }
         catch (Exception ex)
         {
             ViewBag.Erro(ex.Message);
         }
     }
     return(View(anuncioVM));
 }