public IActionResult RoleAssign(string id)
        {
            TempData["userId"] = id;
            SapIdentityUser user = _userManager.FindByIdAsync(id).Result;

            ViewBag.userName = user.UserName;

            IQueryable <SapIdentityRole> roles = _roleManager.Roles;

            List <string> userroles = _userManager.GetRolesAsync(user).Result as List <string>;

            List <RoleAssignViewModel> roleAssignViewModels = new List <RoleAssignViewModel>();

            foreach (var role in roles)
            {
                RoleAssignViewModel r = new RoleAssignViewModel();
                r.RoleId   = role.Id;
                r.RoleName = role.Name;
                if (userroles.Contains(role.Name))
                {
                    r.Exist = true;
                }
                else
                {
                    r.Exist = false;
                }
                roleAssignViewModels.Add(r);
            }

            return(View(roleAssignViewModels));
        }
        public async Task <IActionResult> RoleAssign(List <RoleAssignViewModel> roleAssignViewModels)
        {
            SapIdentityUser user = _userManager.FindByIdAsync(TempData["userId"].ToString()).Result;

            foreach (var item in roleAssignViewModels)
            {
                if (item.Exist)
                {
                    await _userManager.AddToRoleAsync(user, item.RoleName);
                }
                else
                {
                    await _userManager.RemoveFromRoleAsync(user, item.RoleName);
                }
            }

            return(RedirectToAction("Users"));
        }
        public async Task <IActionResult> Register(RegisterViewModel registerViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(registerViewModel));
            }
            var personData = _personsService.GetByTcNo(registerViewModel.TCNO);

            if (personData == null)
            {
                ModelState.AddModelError("", "TC NO' eşleşen bir kişi bulunamadı.");
                return(View(registerViewModel));
            }
            var user = new SapIdentityUser
            {
                UserName = registerViewModel.Username,
                Email    = registerViewModel.Email,
                //Persons tablosuna tip kolonu eklenip onunla eşleştirilebilir.Şimdilik öğrenci kaydedilir halde bırakıldı.
                Type      = 3,
                PersonUID = personData.Uid
            };

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

            if (result.Succeeded)
            {
                var confirmationCode = _userManager.GenerateEmailConfirmationTokenAsync(user);

                var callBackUrl = Url.Action("ConfirmEmail", "Security", new { userId = user.Id, code = confirmationCode.Result });

                //Mail yollanıcak

                return(RedirectToAction("Login"));
            }

            return(View(registerViewModel));
        }