private void Authorise(IdentityEmployee user)
        {
            var identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie);

            identity.AddClaim(new Claim("id", user.StaffId.ToString()));
            identity.AddClaim(new Claim(ClaimTypes.Name, user.UserName));
            var listOfRoles = userManager.GetRoles(user.Id);
            if (listOfRoles.Contains("admin"))
            {
                identity.AddClaim(new Claim("role", "admin"));
            }
            else
            {
                identity.AddClaim(new Claim("role", "user"));
            }

            var ctx = HttpContext.Current.GetOwinContext();
            var authManager = ctx.Authentication;
            authManager.SignIn(identity);
        }
        public async Task<IHttpActionResult> RegisterUserAndEmployee(
            RegisterUserAndEmployeeViewModel userAndEmployeeViewModel)
        {
            userAndEmployeeViewModel.StaffId = Guid.NewGuid();
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var user = new IdentityEmployee
            {
                StaffId = userAndEmployeeViewModel.StaffId,
                UserName = userAndEmployeeViewModel.EmailAddress
            };

            var result = await userManager.CreateAsync(user, "123123");
            var errorResult = GetErrorResult(result);

            if (errorResult != null)
            {
                return errorResult;
            }
            var userSetRoleViewModel = new UserSetRoleViewModel();
            userSetRoleViewModel.IdentityId = user.Id;
            userSetRoleViewModel.RoleName = "user";
            await UserSetRole(userSetRoleViewModel);

            var employee = new Employee
            {
                FirstName = userAndEmployeeViewModel.FirstName,
                LastName = userAndEmployeeViewModel.LastName,
                HolidayAllowance = 25,
                RemainingAllowance = 25,
                HolidayBookings = new List<EmployeeHolidayBooking>(),
                StaffId = userAndEmployeeViewModel.StaffId,
                TeamId = userAndEmployeeViewModel.TeamId
            };
            employeeDataService.Create(employee);

            return Ok();
        }