示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileRequest"></param>
        /// <returns></returns>
        public DocsPaVO.documento.FileDocumento GetFile(DocsPaVO.documento.FileRequest fileRequest)
        {
            this.CheckForRepositoryExpired();

            this.CheckForFileExist(fileRequest);

            return((DocsPaVO.documento.FileDocumento)
                   SessionRepositorySerializerHelper.Deserialize(this.GetFilePath(fileRequest)));
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rootPath">
        /// Path del repository
        /// </param>
        /// <param name="context"></param>
        private SessionRepositoryFileManager(DocsPaVO.documento.SessionRepositoryContext context)
        {
            this.Context = context;

            // Verifica che il repository di sessione non sia scaduto
            this.CheckForRepositoryExpired();

            // Reperimento dell'owner persistito  e confronto con l'owner corrente
            // per verificare utilizzi non autorizzati
            DocsPaVO.utente.InfoUtente owner = (DocsPaVO.utente.InfoUtente)SessionRepositorySerializerHelper.Deserialize(Path.Combine(GetContextRepositoryPath(this.Context), "owner.dat"));

            if (!owner.dst.Equals(this.Context.Owner.dst))
            {
                throw new ApplicationException(string.Format("Utente {0} non autorizzato all'utilizzo del repository", this.Context.Owner.userId));
            }
        }
示例#3
0
        /// <summary>
        /// Creazione di un nuovo repository di sessione per l'utente che ne fa richiesta
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="forceCreation">
        /// Se true, forza la creazione del repository indipendentemente dal fatto che i repository di sessione siano disabilitati o meno
        /// </param>
        /// <returns></returns>
        public static DocsPaVO.documento.SessionRepositoryContext NewRepository(DocsPaVO.utente.InfoUtente infoUtente, bool forceCreation)
        {
            if (!forceCreation && IsSessionRepositoryDisabled(infoUtente))
            {
                // Gestione dei repository di sessione non abilitata
                return(null);
            }
            else
            {
                DocsPaVO.documento.SessionRepositoryContext context = new DocsPaVO.documento.SessionRepositoryContext(infoUtente);

                string path = GetContextRepositoryPath(context);

                // Creazione directory del repository
                Directory.CreateDirectory(path);

                // Serializzazione owner
                SessionRepositorySerializerHelper.SerializeObject(Path.Combine(path, "owner.dat"), infoUtente);

                return(context);
            }
        }
示例#4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileRequest"></param>
        /// <param name="file"></param>
        /// <returns></returns>
        public void SetFile(DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento file)
        {
            this.CheckForRepositoryExpired();

            SessionRepositorySerializerHelper.SerializeObject(this.GetFilePath(fileRequest), file);
        }