public async Task <IActionResult> Create([Bind("Id,Name,Address,Website,CountryId")] School school, string?coordinatorId) { if (ModelState.IsValid) { if (coordinatorId != null) { var user = await _userManager.FindByEmailAsync(coordinatorId); user.School = school; school.Coordinator = user; _context.Add(school); _context.Update(user); } else { _context.Add(school); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(school)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Goal,Description,Links,TargetAudience,Type")] Project project) { if (id != project.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(project); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProjectExists(project.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(project)); }
public async Task <IActionResult> Edit(int id, [Bind("Id,ProjectId,SchoolId")] SchoolProject schoolProject) { if (id != schoolProject.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(schoolProject); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SchoolProjectExists(schoolProject.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(schoolProject)); }
public async Task <ActionResult> Create(UserCreateViewModel userViewModel) { try { if (ModelState.IsValid) { // var user = new User { Name = userViewModel.Name, UserName = userViewModel.Email, Email = userViewModel.Email, About = userViewModel.About, PhoneNumber = userViewModel.PhoneNumber, Active = false, NationalityId = userViewModel.Nationality, SchoolId = userViewModel.School }; var school = await _context.School .Include(p => p.Professors) .Include(p => p.Coordinator) .FirstOrDefaultAsync(p => p.Id == userViewModel.School); school.Professors.Add(user); //Creating the user in the bd var result = await _userManager.CreateAsync(user, userViewModel.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user, "Professor"); // _logger.LogInformation("User created a new account with password."); _context.Update(school); //TODO Send email to coordinator return(RedirectToAction(nameof(Index))); } return(View()); } else { ViewData["_alert.type"] = "error"; ViewData["_alert.title"] = "Erro"; ViewData["_alert.body"] = ". Id:T002"; } //saida default return(Create()); } catch (Exception e) { return(Create()); } }