Exemplo n.º 1
0
        // Load User
        private void listBoxControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (OnAddRole || listBoxControl1.SelectedIndex < 0)
            {
                return;
            }

            if (listBoxControl1.SelectedIndex == 0)
            {
                groupControl1.Text    = "User Baru :";
                textEdit1.Text        = string.Empty;
                buttonEdit1.Text      = string.Empty;
                checkEdit1.Checked    = true;
                checkEdit2.Checked    = false;
                checkEdit3.Checked    = false;
                simpleButton2.Enabled = false;
                foreach (RoleSelection pr in ListRole)
                {
                    pr.Select = false;
                }
                PeranGrid.RefreshDataSource();
                CurrentUser        = string.Empty;
                dateEdit1.DateTime = DateTime.Today;
                dateEdit2.DateTime = DateTime.Today;
                buttonEdit1.Properties.Buttons[0].Visible = false;
                buttonEdit1.Properties.ReadOnly           = false;
                textEdit1.Focus();
            }
            else
            {
                simpleButton2.Enabled = true;
                groupControl1.Text    = "Edit User";
                User User = BaseSecurity.CurrentLogin.Admin.User
                            .QueryUser(listBoxControl1.Text);
                if (User == null)
                {
                    XtraMessageBox.Show(string.Concat("User ", listBoxControl1.Text,
                                                      " sudah dihapus dari database !"), "Error Baca User",
                                        MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    RemoveSelectedUser();
                }
                else
                {
                    textEdit1.Text     = User.UserName;
                    checkEdit1.Checked = User.IsActive;
                    checkEdit2.Checked = User.IsAdmin;
                    checkEdit3.Checked = User.UseDateLimit;
                    dateEdit1.DateTime = User.StartDate;
                    dateEdit2.DateTime = User.EndDate;
                    foreach (RoleSelection p in ListRole)
                    {
                        p.Select = User.ListRole.IndexOf(p.RoleName) >= 0;
                    }
                    PeranGrid.RefreshDataSource();
                    CurrentUser = User.UserName;
                    buttonEdit1.Properties.ReadOnly           = true;
                    buttonEdit1.Properties.Buttons[0].Visible = true;
                }
            }
        }
Exemplo n.º 2
0
        private void RemoveSelectedRole()
        {
            if (listBoxControl2.SelectedIndex < 0)
            {
                return;
            }

            int idx;

            OnAddRole = true;
            try
            {
                string RoleName = listBoxControl2.Text;
                idx = listBoxControl2.SelectedIndex;
                listBoxControl2.Items.RemoveAt(idx);

                for (int i = 0; i < ListRole.Count; i++)
                {
                    if (ListRole[i].RoleName == RoleName)
                    {
                        ListRole.RemoveAt(i);
                        break;
                    }
                }
                PeranGrid.RefreshDataSource();
            }
            finally
            {
                OnAddRole = false;
            }
            int Cnt = listBoxControl2.Items.Count;

            if (idx >= Cnt)
            {
                idx = Cnt - 1;
            }
            if (listBoxControl2.SelectedIndex == idx)
            {
                listBoxControl2_SelectedIndexChanged(null, null);
            }
            else
            {
                listBoxControl2.SelectedIndex = idx;
            }
        }
 // New User
 private void simpleButton1_Click(object sender, EventArgs e)
 {
     groupControl1.Text    = "User Baru :";
     textEdit1.Text        = string.Empty;
     buttonEdit1.Text      = string.Empty;
     checkEdit1.Checked    = true;
     checkEdit2.Checked    = true;
     checkEdit3.Checked    = false;
     simpleButton2.Enabled = false;
     foreach (RoleSelection pr in ListRole)
     {
         pr.Select = false;
     }
     PeranGrid.RefreshDataSource();
     listBoxControl1.SelectedIndex = -1;
     CurrentUser        = string.Empty;
     dateEdit1.DateTime = DateTime.Today;
     dateEdit2.DateTime = DateTime.Today;
     buttonEdit1.Properties.Buttons[0].Visible = false;
     buttonEdit1.Properties.ReadOnly           = false;
     textEdit1.Focus();
 }
        private void simpleButton6_Click(object sender, EventArgs e)
        {
            if (sender != null)
            {
                textEdit4.Focus();
            }
            try
            {
                using (EntityTransaction tr =
                           new EntityTransaction(BaseWinSecurity.DataPersistance))
                {
                    if (simpleButton3.Enabled == false) // Peran Baru
                    {
                        string RoleName = textEdit4.Text;
                        BaseSecurity.CurrentLogin.Admin.Role.Add(RoleName,
                                                                 checkEdit4.Checked, checkEdit5.Checked,
                                                                 dateEdit4.DateTime, dateEdit3.DateTime);

                        string SelUser    = listBoxControl1.Text;
                        bool   AddSelUser = false;

                        BaseSecurity.CurrentLogin.Admin.RoleUser.DeleteRole(RoleName);
                        foreach (UserSelection us in ListUser)
                        {
                            if (us.Select)
                            {
                                if (us.UserName == SelUser)
                                {
                                    AddSelUser = true;
                                }
                                BaseSecurity.CurrentLogin.Admin.RoleUser.Add(
                                    RoleName, us.UserName);
                            }
                        }
                        foreach (clsModule mdl in ListModule.Values)
                        {
                            BaseSecurity.CurrentLogin.Admin
                            .RoleModule.Add(RoleName,
                                            mdl.Ma.ModuleName,
                                            BaseUtility.Dictionary2String(
                                                mdl.Ma.Variables), mdl.AllDocumentData);
                            foreach (ModuleDataField mdf in mdl.Ma.ListDataField)
                            {
                                BaseSecurity.CurrentLogin.Admin
                                .RoleModule.UpdateDocumentVariable(
                                    RoleName, mdl.Ma.ModuleName,
                                    mdf.DataFieldName, mdf.DocumentName,
                                    mdl.ListKey[mdf.DataFieldName]);
                            }
                        }

                        RoleSelection rs = new RoleSelection(RoleName);
                        if (AddSelUser)
                        {
                            rs.Select = true;
                        }
                        ListRole.Add(rs);
                        PeranGrid.RefreshDataSource();
                        OnAddRole = true;
                        try
                        {
                            listBoxControl2.Items.Add(RoleName);
                        }
                        finally
                        {
                            OnAddRole = false;
                        }
                        //Peran Baru...
                        if (sender != null)
                        {
                            simpleButton4_Click(null, null);
                        }
                    }
                    else // Peran Lama
                    {
                        string RoleName = textEdit4.Text;
                        BaseSecurity.CurrentLogin.Admin.RoleUser.DeleteRole(CurrentRole);

                        BaseSecurity.CurrentLogin.Admin.Role.Update(CurrentRole,
                                                                    RoleName, checkEdit4.Checked, checkEdit5.Checked,
                                                                    dateEdit4.DateTime, dateEdit3.DateTime);

                        string SelUser       = listBoxControl1.Text;
                        bool   UpdateSelUser = false;

                        foreach (UserSelection us in ListUser)
                        {
                            if (us.Select)
                            {
                                if (us.UserName == SelUser)
                                {
                                    UpdateSelUser = true;
                                }
                                BaseSecurity.CurrentLogin.Admin.RoleUser.Add(
                                    RoleName, us.UserName);
                            }
                        }

                        foreach (RoleSelection rs in ListRole)
                        {
                            if (rs.RoleName == CurrentRole)
                            {
                                rs.Select   = UpdateSelUser;
                                rs.RoleName = RoleName;
                                break;
                            }
                        }
                        foreach (clsModule mdl in ListModule.Values)
                        {
                            string newSecurityData = BaseUtility.Dictionary2String(
                                mdl.Ma.Variables);

                            BaseSecurity.CurrentLogin.Admin
                            .RoleModule.Update(RoleName,
                                               mdl.Ma.ModuleName, newSecurityData, mdl.AllDocumentData);

                            foreach (ModuleDataField mdf in mdl.Ma.ListDataField)
                            {
                                BaseSecurity.CurrentLogin.Admin
                                .RoleModule.UpdateDocumentVariable(
                                    RoleName, mdl.Ma.ModuleName,
                                    mdf.DataFieldName, mdf.DocumentName,
                                    mdl.ListKey[mdf.DataFieldName]);
                            }
                        }

                        PeranGrid.RefreshDataSource();

                        if (CurrentRole != RoleName)
                        {
                            listBoxControl2.Items[listBoxControl2.SelectedIndex] = RoleName;
                        }

                        CurrentRole = RoleName;
                        textEdit4.Focus();
                    }
                    tr.CommitTransaction();
                }
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, "Error Simpan Peran",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }