Example #1
0
        /// <summary>
        /// Verifica se, in base allo stato di consolidamento del documento, l'utente è autorizzato ad effettuare modifiche ai metadati del documento
        /// </summary>
        /// <param name="userInfo"></param>
        /// <param name="idDocument"></param>
        /// <param name="action"></param>
        /// <returns></returns>
        public static bool CanChangeMetadata(
            DocsPaVO.utente.InfoUtente userInfo,
            string idDocument,
            ConsolidationMetadataChangeDeniedEnum metadata)
        {
            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 la modifica dei metadati
                DocsPaVO.documento.DocumentConsolidationStateEnum actionApplyState = DocumentConsolidationAttribute.GetState(metadata);

                return(actualState.State < actionApplyState);
            }
        }
Example #2
0
        ///// <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);
            }
        }