Ejemplo n.º 1
0
        public async Task RegisterCustomer_ExistingCustomerCode_Fails()
        {
            var customer = new RegisterCustomerDto
            {
                CustomerCode = "0055_ALT-CM0103",
                Email        = "*****@*****.**",
                Username     = "******",
                FirstName    = "Ian",
                LastName     = "Clive",
                Password     = "******",
                PhoneNumber  = "+4412345678",
            };

            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCustomerAsync(customer)));
            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("iclive", "password")));

            using (var context = _factory.GetKIOTContext())
            {
                Assert.False(context.Customers.Any(x => x.Username == "iclive"));
            }

            using (var context = _factory.GetIdentityContext())
            {
                Assert.False(context.Users.Any(x => x.UserName == customer.Username));
            }
        }
Ejemplo n.º 2
0
        public async Task RegisterCustomer_InvalidData_Fails()
        {
            var customer = new RegisterCustomerDto
            {
                CustomerCode = "0055_ALT-CM0102",
                Email        = "iclive@fake",
                Username     = "******",
                FirstName    = "Ian",
                LastName     = "Clive",
                Password     = "******",
                PhoneNumber  = "+4412345678",
            };

            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCustomerAsync(customer)));
            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("iclive", "password")));

            customer.Email     = "*****@*****.**";
            customer.FirstName = null;

            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCustomerAsync(customer)));
            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("iclive", "password")));

            customer.FirstName   = "Ian";
            customer.PhoneNumber = "1234566";

            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.Accounts_RegisterCustomerAsync(customer)));
            Assert.NotNull(await Record.ExceptionAsync(async() => await _client.AuthenticateUserAsync("iclive", "password")));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Register([FromBody] RegisterCustomerDto dto)
        {
            var command = new RegisterCustomerCommand(dto.CustomerName);

            await _handler
            .HandleAsync(command);

            return(Ok());
        }
Ejemplo n.º 4
0
    public async Task <IActionResult> Register([FromBody] RegisterCustomerDto customer)
    {
        await mediator.DispatchAsync(new RegisterCustomerCommand(
                                         gender : customer.Gender,
                                         firstname : customer.Firstname,
                                         lastname : customer.Lastname,
                                         birthdate : customer.Birthdate,
                                         comment : customer.Comment
                                         ));

        return(Ok());
    }
Ejemplo n.º 5
0
        public async Task <ActionResult <UserDto> > RegisterCustomer(RegisterCustomerDto dto)
        {
            if (await UserExists(dto.Username))
            {
                return(BadRequest("User taken"));
            }

            var user = _mapper.Map <AppUser>(dto);

            user.UserName = dto.Username;

            var result = await _userManager.CreateAsync(user, dto.Password);

            if (!result.Succeeded)
            {
                return(BadRequest(result.Errors));
            }

            var roleResult = await _userManager.AddToRoleAsync(user, dto.CustomerType); // registerDto.UserRole);

            if (!roleResult.Succeeded)
            {
                return(BadRequest(roleResult.Errors));
            }

            //add customer entity
            var customer = _mapper.Map <Customer>(dto);

            _uow.MastersRepository.AddCustomer(customer);
            if (!await _uow.Complete())
            {
                return(BadRequest("Failed to update the customer entity"));
            }

            return(new UserDto
            {
                Username = user.UserName,
                Token = await _tokenService.CreateToken(user),
                KnownAs = user.KnownAs,
                Gender = user.Gender
            });
        }
Ejemplo n.º 6
0
 public async Task <IActionResult> RegisterCustomerAsync(RegisterCustomerDto customerDto, CancellationToken token)
 {
     return(new Presenter <CommandResponse>(
                await _mediator.Send(new RegisterCustomerRequest(customerDto), token)).ToIActionResult());
 }