public async Task <IActionResult> RegisterCaptainWithTeamAsync(CreateCaptainWithTeam command) { if (!ModelState.IsValid) { return(View("RegisterCaptainWithTeam", command)); } try { await _captainService.AddWIthTeamAsync(command); ViewBag.ShowSuccess = true; ViewBag.SuccessMessage = "Rejestracja zakończona pomyślnie"; ModelState.Clear(); return(View("RegisterCaptainWithTeam")); } catch (Exception) { ViewBag.ShowError = true; ViewBag.ErrorMessage = "Podany login, lub email znajduje się już u nas bazie."; return(View("RegisterCaptainWithTeam")); } }
public async Task AddWIthTeamAsync(CreateCaptainWithTeam command) { byte[] salt, passwordHash; var team = await _teamService.AddAsync(command.Team); if (await _context.Captains.ExistsInDatabaseAsync(command.Login, command.Email)) { throw new CorruptedOperationException("Captain already exists."); } _passwordManager.CalculatePasswordHash(command.Password, out passwordHash, out salt); var captain = new Captain(command.Name, command.Surname, command.Login, command.Email, salt, passwordHash); team.Captain = captain; await _context.Captains.AddAsync(captain); await _context.SaveChangesAsync(); }