示例#1
0
        /// <summary>
        /// This method verifies the user permissions
        /// </summary>
        /// <param name="user">The user</param>
        private void CheckPermissions(User user)
        {
            if (user.IsAdmin)
            {
                UsersHelper.AddRoleToUser(user.Email, "Admin");
            }
            else
            {
                UsersHelper.RemoveRoleToUser(user.Email, "Admin");
            }

            if (user.CanCreate)
            {
                UsersHelper.AddRoleToUser(user.Email, "Create");
            }
            else
            {
                UsersHelper.RemoveRoleToUser(user.Email, "Create");
            }

            if (user.CanDelete)
            {
                UsersHelper.AddRoleToUser(user.Email, "Delete");
            }
            else
            {
                UsersHelper.RemoveRoleToUser(user.Email, "Delete");
            }

            if (user.CanEdit)
            {
                UsersHelper.AddRoleToUser(user.Email, "Edit");
            }
            else
            {
                UsersHelper.RemoveRoleToUser(user.Email, "Edit");
            }

            if (user.CanView)
            {
                UsersHelper.AddRoleToUser(user.Email, "View");
            }
            else
            {
                UsersHelper.RemoveRoleToUser(user.Email, "View");
            }
        }
示例#2
0
        public async Task <ActionResult> Create(User user)
        {
            if (ModelState.IsValid)
            {
                var response = UsersHelper.CreateUserASP(user.Email, user.Password);
                if (response)
                {
                    if (user.IsAdmin)
                    {
                        UsersHelper.AddRoleToUser(user.Email, "Admin");
                    }

                    if (user.CanCreate)
                    {
                        UsersHelper.AddRoleToUser(user.Email, "Create");
                    }

                    if (user.CanDelete)
                    {
                        UsersHelper.AddRoleToUser(user.Email, "Delete");
                    }

                    if (user.CanEdit)
                    {
                        UsersHelper.AddRoleToUser(user.Email, "Edit");
                    }

                    if (user.CanView)
                    {
                        UsersHelper.AddRoleToUser(user.Email, "View");
                    }

                    db.Users.Add(user);
                    await db.SaveChangesAsync();

                    return(RedirectToAction("Index"));
                }

                ModelState.AddModelError(string.Empty, "Ya existe un usuario registrado con ese correo.");
            }

            return(View(user));
        }