Ejemplo n.º 1
0
        public async Task <IActionResult> RegisterEmployee([FromBody] EmployeeToRegister employeeToRegister)
        {
            if (string.IsNullOrEmpty(employeeToRegister.Email) ||
                string.IsNullOrEmpty(employeeToRegister.FirstName) ||
                string.IsNullOrEmpty(employeeToRegister.LastName) ||
                string.IsNullOrEmpty(employeeToRegister.Password))
            {
                return(UnprocessableEntity($"Missing name,email or password"));
            }

            var emailExists = await _employeeRepository.GetEmployeeByEmail(employeeToRegister.Email);

            if (emailExists != null)
            {
                return(Conflict($"This email: {employeeToRegister.Email} already exists"));
            }
            var result = await _employeeRepository.RegisterEmployee(employeeToRegister);

            if (!result.Succeeded)
            {
                return(Unauthorized("Something went wrong"));
            }
            var authResult = await MapToAuthorizationResult(employeeToRegister.Email);

            return(Ok(authResult));
        }
Ejemplo n.º 2
0
        public async Task <IdentityResult> RegisterEmployee(EmployeeToRegister employeeToRegister)
        {
            var employee = new EmployeeAuthentication()
            {
                UserName = employeeToRegister.Email,
                Email    = employeeToRegister.Email,

                Employee = new Employee()
                {
                    SchoolId  = employeeToRegister.SchoolId,
                    FirstName = employeeToRegister.FirstName,
                    LastName  = employeeToRegister.LastName,
                    Email     = employeeToRegister.Email,
                    HireDate  = DateTime.UtcNow,
                    IsAdmin   = false,
                }
            };

            var response = await _userManager.CreateAsync(employee, employeeToRegister.Password);

            return(response);
        }