public async Task <IActionResult> Register([FromRoute] RoleEnum role,
                                                   [FromBody] RegisterViewModel registerViewModel)
        {
            var user = UserFactory.New(role, x =>
            {
                x.Firstname = registerViewModel.Firstname;
                x.Lastname  = registerViewModel.Lastname;
                x.Email     = registerViewModel.Email;
                x.UserName  = registerViewModel.Username;
                x.Role      = role;
            });

            // Create user
            var identityResults = new List <IdentityResult>
            {
                await _userManager.CreateAsync(user, registerViewModel.Password)
            };

            // Create the role if not exist
            if (!await _roleManager.RoleExistsAsync(role.ToString()))
            {
                identityResults.Add(await _roleManager.CreateAsync(new UserRole(role.ToString())));
            }

            // Register the user to the role
            identityResults.Add(await _userManager.AddToRoleAsync(user, role.ToString()));

            if (identityResults.Aggregate(true, (b, result) => b && result.Succeeded))
            {
                return(Ok("Successfully registered!"));
            }

            return(BadRequest("Failed to register!"));
        }
        public async Task <bool> RemoveUserFromRoleAsync(Guid userId, RoleEnum role)
        {
            var user = await _userManager.FindByIdAsync(userId.ToString());

            if (!await _userManager.IsInRoleAsync(user, role.ToString()))
            {
                await _userManager.RemoveFromRoleAsync(user, role.ToString());

                return(true);
            }

            return(false);
        }
        public async Task <bool> UpdateUserWithNewRoleAsync(Guid userId, RoleEnum role)
        {
            var user = await _userManager.FindByIdAsync(userId.ToString());

            if (!await _userManager.IsInRoleAsync(user, role.ToString()))
            {
                await _userManager.AddToRoleAsync(user, role.ToString());

                return(true);
            }

            return(false);
        }
 public static string GetDescription(RoleEnum role)
 {
     System.Reflection.FieldInfo oFieldInfo = role.GetType().GetField(role.ToString());
     DescriptionAttribute[]      attributes = (DescriptionAttribute[])oFieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
     if (attributes.Length > 0)
     {
         return(attributes[0].Description);
     }
     else
     {
         return(role.ToString());
     }
 }
Exemple #5
0
 /// <summary>
 /// Check if user id match the role
 /// </summary>
 /// <param name="userId">id to check</param>
 /// <param name="role">target role</param>
 /// <param name="throwOnNullId">throw on null id</param>
 /// <returns></returns>
 protected virtual async Task CheckUser(int?userId, RoleEnum role, bool throwOnNullId = false)
 {
     if (throwOnNullId)
     {
         if (userId == null)
         {
             throw new BussinessException($"Null user for role: {role.ToString()}");
         }
     }
     if (!await DbContext.AppUser
         .AnyAsync(u => u.UserId == userId && u.Role.Name == role.ToString()))
     {
         throw new BussinessException($"User id: {userId} is not exist or not in valid role: {role.ToString()}");
     }
 }
Exemple #6
0
 private static UserRole GetUserRole(RoleEnum role)
 {
     return(new UserRole()
     {
         Id = (int)role,
         RoleName = role.ToString()
     });
 }
        public static Role GetByEnum(RoleEnum roleEnum)
        {
            var strRoleEnum = roleEnum.ToString();

            return(BaseMapper.GetDataModel().Roles.FirstOrDefault(i => i.Name == strRoleEnum));
            //var allItems = GetAll();
            //return allItems.FirstOrDefault(item => item.Name == roleEnum.ToString());
        }
 public bool IsInRole(RoleEnum role)
 {
     return(this.AuthSession.HasRole(role.ToString()));
     //if (this.Roles != null && this.Roles.Contains(role.ToLower()))
     //    return true;
     //else
     //    return false;
 }
Exemple #9
0
 public async Task <IEnumerable <AppUserDTO> > Suggest(RoleEnum role, string q)
 {
     return(await DbContext.AppUser
            .Where(u => (u.Username.Contains(q) || u.Hr.Contains(q)) &&
                   u.Role.Name == role.ToString() &&
                   u.Active)
            .Take(SUGGEST_TAKE)
            .Select(u => new AppUserDTO(u)).ToListAsync());
 }
Exemple #10
0
        public static RoleDetailsAttribute GetRoleDetails(RoleEnum role)
        {
            MemberInfo           memberInfo = typeof(RoleEnum).GetMember(role.ToString()).First();
            RoleDetailsAttribute attribute  = memberInfo.GetCustomAttribute <RoleDetailsAttribute>();

            return(attribute);

            // TODO: Or this? https://stackoverflow.com/questions/1799370/getting-attributes-of-enums-value
        }
Exemple #11
0
        public static bool HasRole(this HtmlHelper htmlHelper, UserSessionObject currentUser, RoleEnum role)
        {
            bool hasRole = false;

            if (currentUser != null)
            {
                hasRole = currentUser.Roles.Contains(role.ToString());
            }

            return(hasRole);
        }
        public DashboardPage LoginAs(RoleEnum role)
        {
            var sheet = role.ToString().ToLower();
            var row   = ExcelUtil.DataSet.SelectSheet(sheet).GetRowByKey("positive");

            EmailTxt.WaitForClickable(Driver);
            EmailTxt.SendKeys(row.GetValue("username"));
            PasswordTxt.SendKeys(row.GetValue("password"));
            LoginBtn.Click();
            return(new DashboardPage(Driver));
        }
Exemple #13
0
        public JsonWebToken CreateAccessToken(string userName, Guid userId, RoleEnum role)
        {
            var claims = new[]
            {
                new Claim(ClaimTypes.Name, userName),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(ClaimTypes.NameIdentifier, userId.ToString()),
                new Claim(ClaimTypes.Role, role.ToString()),
            };

            return(new JsonWebToken
            {
                AccessToken = _jwtService.CreateAccessToken(claims),
                RefreshToken = _refreshTokenService.CreateRefreshToken(userName, userId, role),
            });
        }
Exemple #14
0
        public void OnAuthorization(AuthorizationFilterContext context)
        {
            var user = context.HttpContext.User;

            if (user == null)
            {
                context.Result = new UnauthorizedResult();
                return;
            }
            var roles = context.HttpContext.User.Claims.Where(x => x.Type == ClaimTypes.Role).Select(x => x.Value);

            if (!roles.Any(x => x.Equals(_role.ToString())))
            {
                context.Result = new UnauthorizedResult();
            }
        }
Exemple #15
0
        public List <User> CreateListDummyUserInRangeWithRoleToOrganization(Organization organization, RoleEnum roleEnum, int count)
        {
            List <User> users = new List <User>();

            for (int i = 0; i < count; i++)
            {
                this.userBuilder = new UserBuilder
                                   (
                    10000000000 + GenerateNationalID(),                                                 // National Id
                    (/*organization.Level.ToString() +*/ roleEnum.ToString() + GenerateUserID()).Trim() // Username
                                   );
                this.user = userBuilder.Build(contextBuilder.GetContext());
                users.Add(this.user);

                userBuilder.SetRole(contextBuilder.GetContext(), roleEnum, term, organization);
            }
            return(users);
        }
Exemple #16
0
        public List <User> CreateListDummyUserWithRoleToRangeOrganization(List <Organization> organizations, RoleEnum roleEnum)
        {
            List <User> users = new List <User>();

            foreach (var item in organizations)
            {
                this.userBuilder = new UserBuilder
                                   (
                    10000000000 + GenerateNationalID(),                                                  // National Id, //national Id
                    (/*organization.Level.ToString() + */ roleEnum.ToString() + GenerateUserID()).Trim() // Username
                                   );
                this.user = userBuilder.Build(contextBuilder.GetContext());
                this.users.Add(this.user);

                userBuilder.SetRole(contextBuilder.GetContext(), roleEnum, term, item);
            }

            return(users);
        }
Exemple #17
0
        public DataBuilder CreateDummyUserWithRoleToOrganization(RoleEnum roleEnum)
        {
            this.userBuilder = new UserBuilder
                               (
                10000000000 + GenerateNationalID(),              // National Id
                (roleEnum.ToString() + GenerateUserID()).Trim(), // Username
                "123456",                                        //pass
                "dummyUser",                                     //name
                "dummySirName",                                  //surname
                "*****@*****.**",                    //email
                "123456",                                        //phone
                true,                                            //sex
                UserStateEnum.Active
                               );

            this.user = userBuilder.Build(contextBuilder.GetContext());
            this.users.Add(this.user);

            userBuilder.SetRole(contextBuilder.GetContext(), roleEnum, term, organization);

            return(this);
        }
        public JsonResult Create(UserSetupType obj)
        {
            try
            {
                obj.CreateOn = DateTime.Now;
                obj.CreateBy = GetCurrentAccount().Realname;



                RoleEnum displayType = (RoleEnum)System.Enum.Parse(typeof(RoleEnum), obj.SetupID.ToString());
                obj.SetupName = displayType.ToString();
                UserType user = NSession.Get <UserType>(obj.UId);
                obj.RealName = user.Realname;
                NSession.SaveOrUpdate(obj);
                NSession.Flush();
            }
            catch (Exception ee)
            {
                return(Json(new { errorMsg = "出错了" }));
            }
            return(Json(new { IsSuccess = "true" }));
        }
Exemple #19
0
        public string GenerateToken(string email, Guid userId, RoleEnum role)
        {
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Key"]));
            var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
            var claims      = new List <Claim>()
            {
                new Claim(ClaimTypes.Email, email),
                new Claim(ClaimTypes.NameIdentifier, userId.ToString()),
                new Claim(ClaimTypes.Role, role.ToString())
            };

            var token = new JwtSecurityToken
                        (
                issuer: _configuration["Jwt:Issuer"],
                audience: _configuration["Jwt:Issuer"],
                expires: DateTime.Now.AddDays(30),
                claims: claims,
                signingCredentials: credentials
                        );

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }
Exemple #20
0
        public List <User> CreateListDummyUserWithRoleToOrganization(Organization organizations, RoleEnum roleEnum)
        {
            List <User> users      = new List <User>();
            int         userRandId = new Random().Next(10000, 99999);

            this.userBuilder = new UserBuilder
                               (
                10000000000 + GenerateNationalID(),              // National Id
                (roleEnum.ToString() + GenerateUserID()).Trim(), // Username
                "123456",                                        //pass
                "testerName" + userRandId.ToString(),            //name
                "testerSurname",                                 //surname
                "*****@*****.**",                         //email
                "+905001234567",                                 // phone number
                true,                                            // gender
                UserStateEnum.Active
                               );
            this.user = userBuilder.Build(contextBuilder.GetContext());
            this.users.Add(this.user);

            userBuilder.SetRole(contextBuilder.GetContext(), roleEnum, term, organizations);

            return(users);
        }
Exemple #21
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!UserUtils.isLogin())
            {
                Response.Redirect(Constants.LINK_LOGIN);
            }
            //Page.Header.DataBind();
            if (!Page.IsPostBack)
            {
                if (userLogin != null)
                {
                    //Clear old Notification
                    removeSession();

                    RoleEnum roleEnum = (RoleEnum)Enum.Parse(typeof(RoleEnum), userLogin.role_id.ToString());

                    menu_role menuRoleBiz = new menu_role();
                    MenuBiz   menuBiz     = new MenuBiz();

                    //Generate Navigator
                    litNavigator.Text = menuBiz.getNavigator(Request.PhysicalPath);
                    litMenu.Text      = menuBiz.getMenuByRole(menuRoleBiz.getMenuByRole(userLogin.role_id), Request.PhysicalPath);
                    litUserData.Text  = String.Format("Login by ::  {0} {1} ( {2} )", userLogin.first_name, userLogin.last_name, roleEnum.ToString());


                    //Generate Alert
                    renderAlert();
                }
            }
        }
Exemple #22
0
 public Role(RoleEnum permission)
 {
     Id    = permission.ToString();
     Label = permission.DisplayName();
 }
Exemple #23
0
 public bool CurrentUser_HasRole(RoleEnum role, ABUserAuth current_user = null)
 {
     return(CurrentUser_HasRole(role.ToString(), current_user));
 }
Exemple #24
0
        public bool HasRole(RoleEnum role_enum)
        {
            var role = role_enum.ToString().ToLower();

            return(this.Roles.Where(m => m.ToLower() == role).Count() > 0);
        }
Exemple #25
0
 public static bool IsInRole(this ClaimsPrincipal user, RoleEnum role)
 {
     return(user.IsInRole(role.ToString()));
 }
 public bool IsUserInRole(string username, RoleEnum role, long?compID = null, long?regionID = null)
 {
     return(GetRolesForUser(username, compID, regionID).Select(rs => rs.ToUpperInvariant()).Contains(role.ToString().ToUpperInvariant()));
 }
Exemple #27
0
 public void Sleep(RoleEnum role)
 {
     PlaySound(string.Format(roleSleep, role.ToString()));
 }
Exemple #28
0
 public BaseRole(RoleEnum Role) : this()
 {
     Title = Role.ToString("g");
 }
 public RoleDto(RoleEnum role)
 {
     Id    = role.ToString();
     Label = role.DisplayName();
 }
Exemple #30
0
 public void WakeUp(RoleEnum role)
 {
     PlaySound(string.Format(roleWake, role.ToString()));
 }