private void ChangePermission(GISADataset.TrusteeRow user, GISADataset.TipoFunctionRow tipoFunction, ListViewItem item, int colIndex) { GISADataset.TipoOperationRow tipoOperation = (GISADataset.TipoOperationRow)(GisaDataSetHelper.GetInstance().TipoOperation.Select(string.Format("Name='{0}'", lstvwUserPermissoes.Columns[colIndex].Text))[0]); string query = "IDTrustee={0} AND IDTipoFunctionGroup={1} AND IdxTipoFunction = {2} AND IDTipoOperation = {3}"; query = string.Format(query, user.ID, tipoFunction.IDTipoFunctionGroup, tipoFunction.idx, tipoOperation.ID); GISADataset.TrusteePrivilegeRow[] trusteePrivileges = null; trusteePrivileges = (GISADataset.TrusteePrivilegeRow[])(GisaDataSetHelper.GetInstance().TrusteePrivilege.Select(query)); // alterar permissões no dataset if (trusteePrivileges.Length > 0) { if (trusteePrivileges[0].IsGrant) trusteePrivileges[0].IsGrant = false; else trusteePrivileges[0].Delete(); } else { trusteePrivileges = (GISADataset.TrusteePrivilegeRow[])(GisaDataSetHelper.GetInstance().TrusteePrivilege.Select(query, string.Empty, DataViewRowState.Deleted)); if (trusteePrivileges.Length > 0) { trusteePrivileges[0].RejectChanges(); trusteePrivileges[0].IsGrant = true; } else GisaDataSetHelper.GetInstance().TrusteePrivilege.AddTrusteePrivilegeRow(user, tipoFunction.IDTipoFunctionGroup, tipoFunction.idx, tipoOperation.ID, true, new byte[]{}, 0); } // popular as alterações GISADataset.FunctionOperationRow functionOperation = (GISADataset.FunctionOperationRow)(GisaDataSetHelper.GetInstance().FunctionOperation.Select(string.Format("IDTipoFunctionGroup={0} AND IdxTipoFunction={1} AND IDTipoOperation={2}", tipoFunction.IDTipoFunctionGroup, tipoFunction.idx, tipoOperation.ID))[0]); PermissoesHelper.PermissionType permissaoEfectiva = PermissoesHelper.CalculateEffectivePermissions(user, functionOperation); if (permissaoEfectiva == PermissoesHelper.PermissionType.ExplicitGrant) item.SubItems[colIndex].Text = "Sim"; else item.SubItems[colIndex].Text = "Não"; GISADataset.TrusteePrivilegeRow[] tpRows = (GISADataset.TrusteePrivilegeRow[])(GisaDataSetHelper.GetInstance().TrusteePrivilege.Select(string.Format("IDTrustee={0} AND IDTipoFunctionGroup={1} AND IdxTipoFunction = {2} AND IDTipoOperation = {3}", user.ID, functionOperation.IDTipoFunctionGroup, functionOperation.IdxTipoFunction, functionOperation.IDTipoOperation))); if (tpRows.Length == 0) { tpRows = (GISADataset.TrusteePrivilegeRow[])(GisaDataSetHelper.GetInstance().TrusteePrivilege.Select(string.Format("IDTrustee={0} AND IDTipoFunctionGroup={1} AND IdxTipoFunction = {2} AND IDTipoOperation = {3}", user.ID, functionOperation.IDTipoFunctionGroup, functionOperation.IdxTipoFunction, functionOperation.IDTipoOperation), string.Empty, DataViewRowState.Deleted)); if (tpRows.Length == 0) item.SubItems[colIndex].Font = PermissoesHelper.fontItalic; else item.SubItems[colIndex].Font = PermissoesHelper.fontBoldItalic; } else { if (tpRows[0].RowState == DataRowState.Modified && ! (tpRows[0].IsGrant ^ (bool)(tpRows[0]["IsGrant", DataRowVersion.Original]))) item.SubItems[colIndex].Font = PermissoesHelper.fontRegular; else item.SubItems[colIndex].Font = PermissoesHelper.fontBold; } }
private bool CanChangePermission(ListViewItem item, int colIndex) { if (colIndex == 0 || item.Tag is GISADataset.TipoFunctionGroupRow) return false; GISADataset.TipoFunctionRow tipoFunction = (GISADataset.TipoFunctionRow)item.Tag; GISADataset.TipoOperationRow tipoOperation = (GISADataset.TipoOperationRow)(GisaDataSetHelper.GetInstance().TipoOperation.Select(string.Format("Name='{0}'", lstvwPermissoes.Columns[colIndex].Text))[0]); GISADataset.FunctionOperationRow[] functionOperation = (GISADataset.FunctionOperationRow[])(GisaDataSetHelper.GetInstance().FunctionOperation.Select(string.Format("IDTipoFunctionGroup={0} AND IdxTipoFunction={1} AND IDTipoOperation={2}", tipoFunction.IDTipoFunctionGroup, tipoFunction.idx, tipoOperation.ID))); if (functionOperation.Length == 0) return false; else return true; }
private bool CanChangePermission(GISADataset.TipoFunctionRow tipoFunction, int colIndex) { GISADataset.TipoOperationRow[] tipoOperation = (GISADataset.TipoOperationRow[])(GisaDataSetHelper.GetInstance().TipoOperation.Select(string.Format("Name='{0}'", lstvwUserPermissoes.Columns[colIndex].Text))); if (tipoOperation.Length == 0) return false; GISADataset.FunctionOperationRow[] functionOperation = (GISADataset.FunctionOperationRow[])(GisaDataSetHelper.GetInstance().FunctionOperation.Select(string.Format("IDTipoFunctionGroup={0} AND IdxTipoFunction={1} AND IDTipoOperation={2}", tipoFunction.IDTipoFunctionGroup, tipoFunction.idx, tipoOperation[0].ID))); if (functionOperation.Length == 0) return false; else return true; }
private void treeviews_BeforeSelect(object Sender, TreeViewCancelEventArgs e) { TreeNode node = null; node = e.Node; if (node != null) { GISADataset.TipoFunctionRow tfRow = null; if (node.Tag is GISADataset.TipoFunctionRow) { tfRow = (GISADataset.TipoFunctionRow)node.Tag; UpdateContext(tfRow); } else UpdateContext(tfRow); } }
private void LoadOperationsAndPermissions(GISADataset.TipoFunctionRow CurrentFunctionGroup, ListViewItem fgItem) { Debug.Assert(CurrentTrusteeRow != null); foreach (GISADataset.FunctionOperationRow fo in GisaDataSetHelper.GetInstance().FunctionOperation) { fgItem.SubItems.Add(string.Empty); if (CurrentFunctionGroup.IDTipoFunctionGroup == fo.IDTipoFunctionGroup && CurrentFunctionGroup.idx == fo.IdxTipoFunction) { int colIndex = GetColumnIndex(fo.TipoOperationRow.Name); PermissoesHelper.PermissionType permissaoEfectiva = PermissoesHelper.CalculateEffectivePermissions(CurrentTrusteeRow, fo); if (permissaoEfectiva == PermissoesHelper.PermissionType.ExplicitGrant) fgItem.SubItems[colIndex].Text = "Sim"; else fgItem.SubItems[colIndex].Text = "Não"; if (GisaDataSetHelper.GetInstance().TrusteePrivilege.Select(string.Format("IDTrustee={0} AND IDTipoFunctionGroup={1} AND IdxTipoFunction = {2} AND IDTipoOperation = {3}", CurrentTrusteeRow.ID, fo.IDTipoFunctionGroup, fo.IdxTipoFunction, fo.IDTipoOperation)).Length == 0) fgItem.SubItems[colIndex].Font = PermissoesHelper.fontItalic; } } }
public bool UpdateContext(GISADataset.TipoFunctionRow row) { return CurrentContext.SetTipoFunction(row); }
private void clearUserPermissions(GISADataset.TrusteeRow tRow) { GISADataset.TipoFunctionRow tfRow = ((SlavePanelPermissoesModulos)this).currentTipoFunction; foreach (GISADataset.TrusteePrivilegeRow tpRow in GisaDataSetHelper.GetInstance().TrusteePrivilege.Select(string.Format("IDTrustee={0} AND IDTipoFunctionGroup={1} AND IdxTipoFunction={2}", tRow.ID, tfRow.IDTipoFunctionGroup, tfRow.idx))) tpRow.Delete(); }
public override void LoadData() { if (CurrentContext.TipoFunction == null) { mCurrentTipoFunction = null; return; } this.mCurrentTipoFunction = CurrentContext.TipoFunction; IDbConnection conn = GisaDataSetHelper.GetConnection(); try { conn.Open(); PermissoesRule.Current.LoadDataModuloPermissoes(GisaDataSetHelper.GetInstance(), currentTipoFunction.IDTipoFunctionGroup, currentTipoFunction.idx, conn); } catch (Exception ex) { Trace.WriteLine(ex); throw; } finally { conn.Close(); } }