protected void OnUserDeleteClicked(object sender, EventArgs e)
    {
        LinkButton lnkItem = (LinkButton)sender;
        string userID = lnkItem.CommandArgument;

        //Check whether this user is being used
        //Delete user's permissions first.
        ParamUserPermissionRepository perRepo = new ParamUserPermissionRepository();
        IList<ParamUserPermission> oldPerList = perRepo.GetPermissionsOfUser(userID);
        foreach (ParamUserPermission deletePer in oldPerList)
        {
            perRepo.DeleteUserPermission(deletePer);
        }

        //Delete user
        ParamUser deleteItem = new ParamUser(userID);
        ParamUserRepository repo = new ParamUserRepository();
        repo.Delete(deleteItem);

        BindGridData();
        gridUsers.DataBind();
    }
Ejemplo n.º 2
0
    private void SavePermission(ParamUser user)
    {
        ParamUserPermissionRepository perRepo = new ParamUserPermissionRepository();
        IList<ParamUserPermission> oldPerList = perRepo.GetPermissionsOfUser(user.UserID);

        string[] newPerArray = hiddenPermissionList.Value.Split(';');
        if (newPerArray != null && newPerArray.Length > 0)
        {
            for (int i = 0; i < newPerArray.Length; i++)
            {
                if (!string.IsNullOrEmpty(newPerArray[i]))
                {
                    bool isNew = true;
                    foreach (ParamUserPermission oldItem in oldPerList)
                    {
                        if (oldItem.PermissionCode.Trim() == newPerArray[i].Trim())
                        {
                            isNew = false;
                            break;
                        }
                    }
                    if (isNew)
                    {
                        ParamUserPermission newItem = new ParamUserPermission();
                        newItem.UserID = user.UserID;
                        newItem.PermissionCode = newPerArray[i].Trim();
                        perRepo.Insert(newItem);
                    }
                }
            }
        }

        foreach (ParamUserPermission oldItem in oldPerList)
        {
            bool isDelete = true;
            if (newPerArray != null && newPerArray.Length > 0)
            {
                for (int i = 0; i < newPerArray.Length; i++)
                {
                    if (oldItem.PermissionCode.Trim() == newPerArray[i].Trim())
                    {
                        isDelete = false;
                        break;
                    }
                }
            }
            if (isDelete)
                perRepo.DeleteUserPermission(oldItem);
        }
    }