/// <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))); }
/// <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)); } }
/// <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); } }
/// <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); }