Exemplo n.º 1
0
        // Load Peran
        private void listBoxControl2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (OnAddRole)
            {
                return;
            }

            if (listBoxControl2.SelectedIndex == 0)
            {
                groupControl2.Text    = "Peran Baru :";
                textEdit4.Text        = string.Empty;
                checkEdit4.Checked    = true;
                checkEdit5.Checked    = false;
                simpleButton3.Enabled = false;
                foreach (UserSelection pu in ListUser)
                {
                    pu.Select = false;
                }
                UserGrid.RefreshDataSource();
                CurrentRole        = string.Empty;
                dateEdit3.DateTime = DateTime.Today;
                dateEdit4.DateTime = DateTime.Today;

                //if (sender == null || XtraMessageBox.Show(
                //    "Masukkan Data Hak Akses Peran Lama ke Peran Baru ?",
                //    "Konfirmasi Penyalinan Data Hak Akses ke Peran Baru",
                //    MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)

                foreach (clsModule mdl in ListModule.Values)
                {
                    mdl.Ma.Variables.Clear();
                    mdl.Node.SetValue(treeListColumn2, string.Empty);
                    foreach (List <string> ListStr in mdl.ListKey.Values)
                    {
                        ListStr.Clear();
                    }
                }

                textEdit4.Focus();
            }
            else
            {
                simpleButton3.Enabled = true;
                groupControl2.Text    = "Edit Peran";
                Role Role = BaseSecurity.CurrentLogin.Admin.Role
                            .QueryRole(listBoxControl2.Text);
                if (Role == null)
                {
                    XtraMessageBox.Show(string.Concat("Peran ", listBoxControl2.Text,
                                                      " sudah dihapus dari database !"), "Error Baca Peran",
                                        MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    RemoveSelectedRole();
                }
                else
                {
                    textEdit4.Text     = Role.RoleName;
                    checkEdit4.Checked = Role.IsActive;
                    checkEdit5.Checked = Role.UseDateLimit;
                    dateEdit4.DateTime = Role.StartDate;
                    dateEdit3.DateTime = Role.EndDate;
                    foreach (UserSelection s in ListUser)
                    {
                        s.Select = Role.ListUser.IndexOf(s.UserName) >= 0;
                    }
                    UserGrid.RefreshDataSource();
                    CurrentRole = Role.RoleName;

                    treeList1.BeginUpdate();

                    foreach (clsModule mdl in ListModule.Values)
                    {
                        mdl.Ma.Variables.Clear();
                        mdl.Node.SetValue(treeListColumn2, string.Empty);
                    }

                    // Isi Variabel...
                    IDataReader Rdr = BaseSecurity.CurrentLogin.Admin
                                      .RoleModule.OpenDataReader(Role.RoleName);
                    try
                    {
                        clsModule mdl;
                        while (Rdr.Read())
                        {
                            if (ListModule.TryGetValue(Rdr.GetString(0), out mdl))
                            {
                                BaseUtility.String2Dictionary(Rdr.GetString(1),
                                                              mdl.Ma.Variables);
                                mdl.Node.SetValue(treeListColumn2, mdl.Ma.ToString());
                                mdl.AllDocumentData = Rdr.GetBoolean(2);
                            }
                        }
                    }
                    finally
                    {
                        Rdr.Close();
                        treeList1.EndUpdate();
                    }
                    foreach (clsModule mdl in ListModule.Values)
                    {
                        foreach (List <string> ListStr in mdl.ListKey.Values)
                        {
                            ListStr.Clear();
                        }
                        foreach (ModuleDataField mdf in mdl.Ma.ListDataField)
                        {
                            Rdr = BaseSecurity.CurrentLogin.Admin.RoleModule.GetListDocumentVariable(
                                Role.RoleName, mdl.Ma.ModuleName,
                                mdf.DataFieldName);
                            try
                            {
                                List <string> ListKey = mdl.ListKey[mdf.DataFieldName];
                                ListKey.Clear();
                                while (Rdr.Read())
                                {
                                    ListKey.Add((string)Rdr[0]);
                                }
                            }
                            finally
                            {
                                Rdr.Close();
                            }
                        }
                    }
                }
            }
        }