public ActionResult UserRoleSelection(int userId = 0)
        {
            //...
            // Language list
            ViewBag.Roles =
                Roles.GetAllRoles().ToList()
                .Select(p => new SelectListItem
            {
                Text  = p,
                Value = p
            })
                .ToList();

            try
            {
                var user = _context.UserProfiles.FirstOrDefault(p => p.UserId == userId);
                if (user == null)
                {
                    return(PartialView("_UserRoleSelection"));
                }

                var userRoleSelectionListViewModel = new UserRoleSelectionViewModel
                {
                    UserId   = userId,
                    UserName = user.UserName,
                    UserRole = Roles.GetRolesForUser(user.UserName).FirstOrDefault()
                };

                return(PartialView("_UserRoleSelection", userRoleSelectionListViewModel));
            }
            catch
            {
                return(PartialView("_UserRoleSelection"));
            }
        }
        public ActionResult UserRoleSelection(FormCollection form, UserRoleSelectionViewModel viewModel)
        {
            //...
            // Language list
            ViewBag.Roles =
                Roles.GetAllRoles().ToList()
                .Select(p => new SelectListItem
            {
                Text  = p,
                Value = p
            })
                .ToList();

            if (!ModelState.IsValid)
            {
                ViewBag.Result        = false;
                ViewBag.ResultMessage = "Lütfen belirtilen alanları doldurunuz!";
                return(PartialView("_UserRoleSelection", viewModel));
            }

            var user = _context.UserProfiles.FirstOrDefault(p => p.UserId == viewModel.UserId);

            if (user == null)
            {
                ViewBag.Result        = false;
                ViewBag.ResultMessage = "Kullanıcı bilgisi bulunamadı!";
                return(PartialView("_UserRoleSelection", viewModel));
            }

            try
            {
                //...
                // Delete previously added tags
                var preRole = Roles.GetRolesForUser(user.UserName).FirstOrDefault();
                if (!string.IsNullOrWhiteSpace(preRole))
                {
                    Roles.RemoveUserFromRole(user.UserName, preRole);
                }

                //...
                // Add user to role
                Roles.AddUserToRole(user.UserName, viewModel.UserRole);

                ViewBag.Result        = true;
                ViewBag.ResultMessage = "Kullanıcının rol bilgisi tanımlanmıştır.";

                return(PartialView("_UserRoleSelection", viewModel));
            }
            catch
            {
                ViewBag.Result        = false;
                ViewBag.ResultMessage = "Hata oluştu lütfen tekrar deneyiniz!";
                return(PartialView("_UserRoleSelection", viewModel));
            }
        }