protected virtual void SetPrivilegesAction(Privilege privilegio, EPrivilege permiso) { if (Datos.Current != null) { Privileges.AssociatePerms((User)Datos.Current, privilegio, permiso); } }
protected virtual bool CheckAssociatedPrivilegesAction(Privilege privilegio, EPrivilege permiso) { if (Datos.Current != null) { return(Privileges.CheckPerms((User)Datos.Current, privilegio, permiso)); } return(false); }
public void SetPrivilegios(ESecureItem secureItem, EPrivilege privilege) { Privilege item = this.First(m => m.ESecureItem == secureItem); if (item != null) { SetPrivilegios(item, privilege); } }
public bool CheckPrivilegios(Privilege privilegio, EPrivilege permiso_modificado) { foreach (ItemMapInfo item in privilegio.IsAssociatedItem) { List <Privilege> sublist = GetSubList(new FCriteria <long>("OidItem", item.OidItem, Operation.Equal)); foreach (Privilege permiso in sublist) { if (permiso.OidItem != item.OidItem) { continue; } if (item.TipoPrivilegioAsociado == permiso_modificado) { switch (item.Privilege) { case (long)EPrivilege.Read: if (permiso.Read) { return(false); } break; case (long)EPrivilege.Create: if (permiso.Create) { return(false); } break; case (long)EPrivilege.Modify: if (permiso.Modify) { return(false); } break; case (long)EPrivilege.Delete: if (permiso.Remove) { return(false); } break; } } } } return(true); }
public void SetPrivilegios(Privilege item, EPrivilege privilege) { switch (privilege) { case EPrivilege.Create: item.Create = true; break; case EPrivilege.Read: item.Read = true; break; case EPrivilege.Modify: item.Modify = true; break; case EPrivilege.Delete: item.Remove = true; break; case EPrivilege.All: item.Create = true; item.Read = true; item.Modify = true; item.Remove = true; break; } foreach (ItemMapInfo itemMap in item.AssociatedItems) { List <Privilege> sublist = GetSubList(new FCriteria <long>("OidItem", itemMap.OidAssociateItem, Operation.Equal)); foreach (Privilege itemLicenses in sublist) { if (itemLicenses.OidItem != itemMap.OidAssociateItem) { continue; } if (privilege == (long)EPrivilege.All) { if (!itemLicenses.All) { itemLicenses.Create = true; itemLicenses.Read = true; itemLicenses.Modify = true; itemLicenses.Remove = true; SetPrivilegios(itemLicenses, EPrivilege.All); } break; } else if (itemMap.TipoPrivilegio == privilege) { switch (itemMap.AssociatePrivilege) { case (long)EPrivilege.Read: if (!itemLicenses.Read) { itemLicenses.Read = true; SetPrivilegios(itemLicenses, EPrivilege.Read); } break; case (long)EPrivilege.Create: if (!itemLicenses.Create) { itemLicenses.Create = true; SetPrivilegios(itemLicenses, EPrivilege.Create); } break; case (long)EPrivilege.Modify: if (!itemLicenses.Modify) { itemLicenses.Modify = true; SetPrivilegios(itemLicenses, EPrivilege.Modify); } break; case (long)EPrivilege.Delete: if (!itemLicenses.Remove) { itemLicenses.Remove = true; SetPrivilegios(itemLicenses, EPrivilege.Delete); } break; } } } } }
public static bool CheckPerms(User usuario, Privilege privilegio, EPrivilege permiso) { return(usuario.Licences.CheckPrivilegios(privilegio, permiso)); }
public static void AssociatePerms(User usuario, Privilege privilegio, EPrivilege permiso) { usuario.Licences.SetPrivilegios(privilegio, permiso); }
private void Privileges_DGW_CellClick(object sender, DataGridViewCellEventArgs e) { if (Privileges_DGW.CurrentRow == null) { return; } if (e.ColumnIndex == -1) { return; } EPrivilege permiso = EPrivilege.Read; switch (Privileges_DGW.Columns[e.ColumnIndex].Name) { case "Read": permiso = EPrivilege.Read; break; case "Create": permiso = EPrivilege.Create; break; case "Modify": permiso = EPrivilege.Modify; break; case "Remove": permiso = EPrivilege.Delete; break; } DataGridViewRow row = Privileges_DGW.CurrentRow; Privilege item = row.DataBoundItem as Privilege; if (row.Cells[e.ColumnIndex].Value.ToString() == moleQule.Library.Resources.Labels.UNSET_PRIVILEGES) { SetPrivilegesAction(item, permiso); switch (Privileges_DGW.Columns[e.ColumnIndex].DataPropertyName) { case "CanRead": item.Read = true; break; case "CanCreate": item.Create = true; break; case "CanModify": item.Modify = true; break; case "CanDelete": item.Remove = true; break; } } else { if (CheckAssociatedPrivilegesAction(item, permiso)) { switch (Privileges_DGW.Columns[e.ColumnIndex].DataPropertyName) { case "CanRead": item.Read = false; break; case "CanCreate": item.Create = false; break; case "CanModify": item.Modify = false; break; case "CanDelete": item.Remove = false; break; } } } //SetUnlinkedGridValues(Permisos_Grid.Name); //ReadUserGrants(); Privileges_DGW.Refresh(); }