Example #1
0
        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"));
            }
        }
Example #2
0
        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();
        }