Exemple #1
0
        public List <Account> SeedAccounts(int companyId, int accountsNumber)
        {
            var newAccounts = new List <Account>();

            for (int i = 0; i < accountsNumber; i++)
            {
                try
                {
                    var randomSeed         = GenerateRandomString(10);
                    var generatedEmail     = $"test_{randomSeed}@email.com";
                    var registerAccountDto = new AuthRegisterDto
                    {
                        CompanyId = companyId,
                        FirstName = "Test First Name",
                        LastName  = "Test Last Name",
                        Password  = "******",
                        Email     = generatedEmail,
                    };

                    var newAccount = authManager.RegisterAndReturnAccount(registerAccountDto);
                    newAccounts.Add(newAccount);
                }
                catch (AccountExistingException ex)
                {
                    Log.Error(ex, $"Account email generation collision");
                }
            }

            return(newAccounts);
        }
Exemple #2
0
        private Account CreateAccountEntity(AuthRegisterDto payload)
        {
            var salt       = GenerateSalt();
            var newAccount = new Account
            {
                CompanyId = payload.CompanyId,
                FirstName = payload.FirstName,
                LastName  = payload.LastName,
                Email     = payload.Email,

                PasswordSalt = Convert.ToBase64String(salt),
                PasswordHash = HashPassword(payload.Password, salt),

                User = new User
                {
                    CompanyId = payload.CompanyId,
                    FirstName = payload.FirstName,
                    LastName  = payload.LastName,
                    Email     = payload.Email,

                    CreatedAt = DateTime.UtcNow,
                    UpdatedAt = DateTime.UtcNow
                }
            };

            return(newAccount);
        }
Exemple #3
0
        private Account CreateAccount(AuthRegisterDto payload)
        {
            var newAccount = CreateAccountEntity(payload);

            accountsRepository.Insert(newAccount);

            return(newAccount);
        }
Exemple #4
0
        public Account RegisterAndReturnAccount(AuthRegisterDto payload)
        {
            BreakIfAccountExists(payload.Email);

            var newAccount = CreateAccount(payload);

            return(newAccount);
        }
Exemple #5
0
        public async Task <IActionResult> CreateUser([FromBody] AuthRegisterDto user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            ApplicationUser appUser = mapper.Map <AuthRegisterDto, ApplicationUser>(user);
            await userService.CreateUser(appUser, user.Password);

            return(Ok("User created"));
        }
        public async Task <IActionResult> Register([FromBody] AuthRegisterDto dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = mapper.Map <ApplicationUser>(dto);
            await userService.CreateUser(user, dto.Password);

            await userService.AddUserRoleAsync(user.Id, RoleTypes.User);

            return(Ok());
        }
Exemple #7
0
        public async Task <bool> RegisterAsync(AuthRegisterDto registerInfo)
        {
            if (await _unitOfWork.UserRepository.FirstOrDefaultAsync(
                    u => u.Username.ToLower() == registerInfo.Username.ToLower()) != null)
            {
                return(false);
            }

            var user = _mapper.Map <AuthRegisterDto, User>(registerInfo);

            _unitOfWork.UserRepository.Add(user);
            await _unitOfWork.SaveChangesAsync();

            return(true);
        }
Exemple #8
0
        public AuthStatusDto Register(AuthRegisterDto payload)
        {
            try
            {
                BreakIfAccountExists(payload.Email);

                var newAccount = CreateAccount(payload);

                var token = GenerateJwtToken(newAccount.Id);
                return(AuthenticationSucceeded("Successfully registered", token));
            }
            catch (AccountExistingException)
            {
                return(AuthenticationFailure("Account using this Email is already registered"));
            }
        }
        public IActionResult Register([FromBody] AuthRegisterDto payload)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { Status = "Please complete all the fields" }));
            }

            var status = authManager.Register(payload);

            if (status.IsSuccessful)
            {
                return(Ok(status));
            }
            else
            {
                return(BadRequest(status));
            }
        }