public async Task <IActionResult> Register(CustomerForRegisterDto customer) { if (!await _iCustomerManager.RegisterCustomer(customer)) { return(BadRequest("Email address already exists")); } return(Ok()); }
public async Task <CustomerForRegisterDto> RegisterCustomer(CustomerForRegisterDto customerForRegisterDto, string password) { GenerateHashAndSalt(password, out byte[] hash, out byte[] salt); Customer customer = _iMapper.Map <CustomerForRegisterDto, Customer>(customerForRegisterDto); customer.Password = hash; customer.Salt = salt; await _context.Customer.AddAsync(customer); return(customerForRegisterDto); }
public async Task <bool> RegisterCustomer(CustomerForRegisterDto customerForRegisterDto) { customerForRegisterDto.Email = customerForRegisterDto.Email.ToLower(); if (await _iUnitOfWork.CustomerRepository.CustomerExists(customerForRegisterDto.Email)) { return(false); } var newCustomer = await _iUnitOfWork.CustomerRepository.RegisterCustomer(customerForRegisterDto, customerForRegisterDto.Password); await _iUnitOfWork.Commit(); return(true); }
public async Task <IActionResult> Register(CustomerForRegisterDto customerForRegisterDto) { //Validate user customerForRegisterDto.Customername = customerForRegisterDto.Customername.ToLower(); //Check whether user with username exists or not if (await _repo.CustomerExists(customerForRegisterDto.Customername)) { return(BadRequest("Username already exists")); } //Create the user without hashed password to create var customerToCreate = new Customer { Customername = customerForRegisterDto.Customername }; var customer = await _repo.Register(customerToCreate, customerForRegisterDto.Password); return(StatusCode(201)); }
public async Task <IActionResult> Register(CustomerForRegisterDto customerForRegisterDto) { // Makes username lowercase customerForRegisterDto.Username = customerForRegisterDto.Username.ToLower(); // Returns error if customer's username already exists in db if (await repo.CustomerExists(customerForRegisterDto.Username)) { return(BadRequest("Username already exists")); } // Converts dto to the DB Customer model class var customerToCreate = this.mapper.Map <Customers>(customerForRegisterDto); // Runs the register method and returns the created user var createdUser = await repo.Register(customerToCreate, customerForRegisterDto.Password); // Maps the created user to an update DTO (for edit profile) var customerToReturn = mapper.Map <CustomerForUpdateDto>(createdUser); // Routing middleware to get the new customer details (from Customer controller GetCustomer with supplied id) return(CreatedAtRoute("GetCustomer", new { controller = "Customers", id = createdUser.CustomerId }, customerToReturn)); }