コード例 #1
0
        public void Register(HealthcareProviderRegisterRequest model, string origin)
        {
            // validate
            if (_context.HealthcareProviders.Any(x => x.Email == model.Email))
            {
                // send already registered error in email to prevent account enumeration
                sendAlreadyRegisteredEmail(model.Email, origin);
                return;
            }

            // map model to new healthcareProvider object
            var account = _mapper.Map <HealthcareProvider>(model);

            // first registered account is an admin
            //var isFirstAccount = _context.HealthcareProviders.Count() == 0;
            //account.Role = isFirstAccount ? Role.Admin : Role.User;

            //All registered accounts are given the healthcareprovider role

            account.Role              = Role.HealthcareProvider;
            account.Created           = DateTime.UtcNow;
            account.VerificationToken = randomTokenString();

            // hash password
            account.PasswordHash = BC.HashPassword(model.Password);

            // save account
            _context.HealthcareProviders.Add(account);
            _context.SaveChanges();

            // send email
            sendVerificationEmail(account, origin);
        }
コード例 #2
0
 public IActionResult Register(HealthcareProviderRegisterRequest model)
 {
     _accountService.Register(model, Request.Headers["origin"]);
     return(Ok(new { message = "Registration successful, please check your email for verification instructions" }));
 }