protected void OnGridPermissionNeedDataSource(object source, GridNeedDataSourceEventArgs e)
 {
     if (gridUsers.SelectedItems.Count == 1)
     {
         GridDataItem dataItem = ((GridDataItem)gridUsers.SelectedItems[0]);
         if (dataItem != null)
         {
             string userID = dataItem["UserID"].Text;
             IList<ParamUserPermission> perList =
                 new ParamUserPermissionRepository().GetPermissionsOfUser(userID);
             gridPermissions.DataSource = perList;
         }
     }
     else
     {
         gridPermissions.DataSource = new List<ParamUserPermission>();
     }
 }
    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.º 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (SessionManager.CurrentUser == null)
        {
            Common.RedirectToLoginPage(this);
            return;
        }
        else if (!IsPostBack)
        {
            FillLabelLanguage();

            divChangePassword.Visible = false;
            ddlGenre.Items.Add(new RadComboBoxItem("M", "M"));
            ddlGenre.Items.Add(new RadComboBoxItem("F", "F"));

            ddlPermission.DataTextField = "PermissionCode";
            ddlPermission.DataValueField = "PermissionCode";
            ddlPermission.DataSource = new ParamPermissionRepository().FindAll();
            ddlPermission.DataBind();

            if (!string.IsNullOrEmpty(Request.QueryString["UserID"]))
            {
                btnChangePassword.Visible = true;
                txtUserID.Enabled = false;
                txtPassword.Enabled = false;
                string userID = Request.QueryString["UserID"];
                ParamUser user = new ParamUserRepository().FindOne(new ParamUser(userID));
                txtUserID.Text = user.UserID;
                txtName.Text = user.LastName;
                ddlGenre.SelectedValue = user.Gender;
                txtEmail.Text = user.Email;
                txtTelephone.Text = user.Telephone;
                chkActive.Checked = user.Active;
                txtPassword.Attributes.Add("value", user.Password);
                txtPassword.Text = user.Password;
                //txtNewPassword.Attributes.Add("value", user.Password);
                //txtConfirmPassword.Attributes.Add("value", user.Password);

                IList<ParamUserPermission> permissionList =
                    new ParamUserPermissionRepository().GetPermissionsOfUser(userID);
                string perString = string.Empty;
                foreach (ParamUserPermission item in permissionList)
                {
                    listPermission.Items.Add(new ListItem(item.PermissionCode, item.PermissionCode));
                    perString += item.PermissionCode + ";";
                }
                if (!string.IsNullOrEmpty(perString))
                    perString = perString.TrimEnd(';');
                hiddenPermissionList.Value = perString;
            }
            else
            {
                txtUserID.Enabled = true;
                btnChangePassword.Visible = false;
                txtPassword.Enabled = true;
            }

            bool haveChangeUserPermission = false;
            if (SessionManager.CurrentUser != null && SessionManager.CurrentUser.Permissions != null)
            {
                foreach (ParamUserPermission item in SessionManager.CurrentUser.Permissions)
                {
                    if (item.PermissionCode == "CHANGEUSERPERMISSIONS")
                    {
                        haveChangeUserPermission = true;
                        break;
                    }

                }
            }
            btnAddPermission.Enabled = haveChangeUserPermission;
            btnRemovePermission.Enabled = haveChangeUserPermission;
        }
    }
Ejemplo n.º 4
0
    protected void OnBtnSaveClicked(object sender, EventArgs e)
    {
        ParamPermissionRepository repo = new ParamPermissionRepository();

        ParamPermission saveItem = new ParamPermission();
        saveItem.PermissionCode = txtCode.Text.Trim();
        saveItem.PermissionDescription = txtDescription.Text.Trim();
        string perCode = Request.QueryString["Code"];
        if (string.IsNullOrEmpty(perCode))
        {
            //Insert new record
            ParamPermission oldItem = repo.FindOne(new ParamPermission(txtCode.Text.Trim()));
            if (oldItem == null)
                repo.Insert(saveItem);
            else
            {
                string message = ResourceManager.GetString("itemAlreadyExist");
                string script1 = "<script type=\"text/javascript\">";
                script1 += " alert(\"" + message + "\");";
                script1 += " </script>";

                if (!ClientScript.IsClientScriptBlockRegistered("redirectUser"))
                    ClientScript.RegisterStartupScript(this.GetType(), "redirectUser", script1);
            }
        }
        else
        {
            perCode = perCode.Trim();
            if (saveItem.PermissionCode.Trim() == perCode)
            {
                //Update the record.
                repo.Update(saveItem);
            }
            else
            {
                IList<ParamUserPermission> userPerList =
                    new ParamUserPermissionRepository().GetUsersHavePermission(perCode);
                if (userPerList.Count == 0)
                {
                    //Delete the old one and add the new one.
                    ParamPermission deleteItem = new ParamPermission(Request.QueryString["Code"].Trim());
                    repo.Delete(deleteItem);
                    repo.Insert(saveItem);
                }
                else
                {
                    string message = ResourceManager.GetString("messagePermissionBeingUsed");
                    string scriptMes = "<script type=\"text/javascript\">";
                    scriptMes += " alert(\"" + message + "\")";
                    scriptMes += " </script>";

                    if (!ClientScript.IsClientScriptBlockRegistered("redirectUser"))
                        ClientScript.RegisterStartupScript(this.GetType(), "redirectUser", scriptMes);
                    return;
                }
            }
        }

        string script = "<script type=\"text/javascript\">";
        script += " OnBtnSaveClientClicked();";
        script += " </script>";

        if (!ClientScript.IsClientScriptBlockRegistered("redirectUser"))
            ClientScript.RegisterStartupScript(this.GetType(), "redirectUser", script);
    }
Ejemplo n.º 5
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);
        }
    }