/// <summary> /// Verifica se, in base allo stato di consolidamento del documento, l'utente è autorizzato ad effettuare una determinata azione /// </summary> /// <param name="userInfo"></param> /// <param name="idDocument"></param> /// <param name="action"></param> /// <returns></returns> public static bool CanExecuteAction(DocsPaVO.utente.InfoUtente userInfo, string idDocument, ConsolidationActionsDeniedEnum action) { return(CanExecuteAction(userInfo, idDocument, action, false)); }
///// <summary> ///// Verifica se l'utente può consolidare il documento fornito ///// </summary> ///// <param name="userInfo"></param> ///// <param name="idDocument"></param> ///// <returns></returns> //public static bool HasDocumentConsolidationRights(DocsPaVO.utente.InfoUtente userInfo, string idDocument) //{ // bool enabled = false; // // Verifica // enabled = (HasDocumentConsolidationRights(userInfo)); // if (enabled) // { // // Verifica se l'utente dispone dei diritti di lettura / scrittura sul documento // DocsPaDB.Query_DocsPAWS.Security securityDb = new DocsPaDB.Query_DocsPAWS.Security(); // enabled = securityDb.HasReadWriteAccessRights(idDocument, userInfo.idPeople, userInfo.idGruppo); // } // return enabled; //} /// <summary> /// Verifica se, in base allo stato di consolidamento del documento, l'utente è autorizzato ad effettuare una determinata azione /// </summary> /// <param name="userInfo"></param> /// <param name="idDocument"></param> /// <param name="action"></param> /// <param name="throwOnError"></param> /// <returns></returns> public static bool CanExecuteAction(DocsPaVO.utente.InfoUtente userInfo, string idDocument, ConsolidationActionsDeniedEnum action, bool throwOnError) { if (IsConfigEnabled()) { DocsPaVO.documento.DocumentConsolidationStateInfo actualState = GetState(userInfo, idDocument); if (actualState.State == DocsPaVO.documento.DocumentConsolidationStateEnum.None) { return(true); } else { // Determina, dai metadati dell'enumeration, a quale stato di consolidamento si riferisce l'azione richiesta DocsPaVO.documento.DocumentConsolidationStateEnum actionApplyState = DocumentConsolidationAttribute.GetState(action); bool canExecute = (actualState.State < actionApplyState); if (!canExecute && throwOnError) { throw new ApplicationException("L'azione non può essere eseguita, il documento risulta in stato consolidato"); } return(canExecute); } } else { return(true); } }