Beispiel #1
0
 /// <summary>
 /// Handler dell'evento di avvenuta accettazione / rifiuto di una trasmissione di un documento / fascicolo
 /// </summary>
 /// <param name="trasmissione"></param>
 /// <param name="ruolo"></param>
 /// <param name="tipoRisposta"></param>
 public void TrasmissioneAccettataRifiutataEventHandler(DocsPaVO.trasmissione.Trasmissione trasmissione, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.trasmissione.TipoRisposta tipoRisposta)
 {
 }
Beispiel #2
0
        /// <summary>
        /// Handler dell'evento di avvenuta accettazione / rifiuto di una trasmissione di un documento / fascicolo
        /// </summary>
        /// <param name="trasmissione"></param>
        /// <param name="ruolo"></param>
        /// <param name="tipoRisposta"></param>
        public void TrasmissioneAccettataRifiutataEventHandler(DocsPaVO.trasmissione.Trasmissione trasmissione, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.trasmissione.TipoRisposta tipoRisposta)
        {
            this.InstanceETDOCS.TrasmissioneAccettataRifiutataEventHandler(trasmissione, ruolo, tipoRisposta);

            this.InstanceOCS.TrasmissioneAccettataRifiutataEventHandler(trasmissione, ruolo, tipoRisposta);
        }
Beispiel #3
0
        /// <summary>
        /// Handler dell'evento di avvenuta accettazione / rifiuto di una trasmissione di un documento / fascicolo
        /// </summary>
        /// <param name="trasmissione"></param>
        /// <param name="ruolo"></param>
        /// <param name="tipoRisposta"></param>
        public void TrasmissioneAccettataRifiutataEventHandler(DocsPaVO.trasmissione.Trasmissione trasmissione, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.trasmissione.TipoRisposta tipoRisposta)
        {
            CustomServices.AclDefinition aclData = null;

            DateTime startDate = DateTime.Now;

            // Aggiornamento ACL in DCTM, con le credenziali di superuser
            CustomServices.IAclService aclService = DctmServiceFactory.GetCustomServiceInstance <CustomServices.IAclService>(UserManager.ImpersonateSuperUser());

            if (trasmissione.tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.DOCUMENTO)
            {
                // Reperimento della lista delle ACL aggiornata nella tabella security di docspa
                aclData = Dfs4DocsPa.getAclDefinition(trasmissione.infoDocumento.docNumber, DocsPaObjectTypes.ObjectTypes.DOCUMENTO, this.InfoUtente);
                aclService.ClearAndGrant(aclData, trasmissione.infoDocumento.idProfile);
            }
            else if (trasmissione.tipoOggetto == DocsPaVO.trasmissione.TipoOggetto.FASCICOLO)
            {
                DateTime startDateFasc = DateTime.Now;

                // Reperimento della lista delle ACL aggiornata nella tabella security di docspa
                aclData = Dfs4DocsPa.getAclDefinition(trasmissione.infoFascicolo.idFascicolo, DocsPaObjectTypes.ObjectTypes.FASCICOLO, this.InfoUtente);
                aclService.ClearAndGrant(aclData, trasmissione.infoFascicolo.idFascicolo);

                logger.Debug("Tot sec. FASC: " + DateTime.Now.Subtract(startDateFasc).TotalSeconds.ToString());
                string[] idProfiles = DocsPaQueryHelper.getDocumentiInFascicolo(trasmissione.infoFascicolo.idFascicolo);


                //PORKING: nonè necessario farlo ora, perchè le aCL di Documenti vengono rimappate se necesario quando gli utenti o i ruoli faranno
                //          GetDettaglio con il metedo RefreshAcl
                if (idProfiles != null && idProfiles.Length < 20)
                {
                    foreach (string idProfile in idProfiles)
                    {
                        DateTime startDateDoc = DateTime.Now;

                        // Aggiornamento delle ACL per tutti i documenti nel fascicolo (compresi eventuali sottofascicoli)
                        // Aggiornamento delle ACL per tutti i documenti nel fascicolo (compresi eventuali sottofascicoli)
                        //DCTM è usato solo con PITRE e in PITRE storicamente il idprofile è sempre uguale a docnumber quindi posso togliere questa query
                        //DocsPaQueryHelper.getDocNumber(idProfile) è passare in input direttamente idProfile al metodo getAclDefinition
                        aclData = Dfs4DocsPa.getAclDefinition(idProfile, DocsPaObjectTypes.ObjectTypes.DOCUMENTO, this.InfoUtente);
                        aclService.ClearAndGrant(aclData, idProfile);

                        logger.DebugFormat("Tot sec. DOC_{0}: {1}", idProfile, DateTime.Now.Subtract(startDateDoc).TotalSeconds.ToString());
                    }
                }
            }

            logger.Debug("Tot sec.: " + DateTime.Now.Subtract(startDate).TotalSeconds.ToString());
        }