/// <summary> /// Opens the write. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> public override System.IO.Stream OpenWrite(Mediachase.Net.Wdom.WebDavElementInfo element, long contentLength) { FileStorageAutoCommitedTransactedStream result = null; if (element != null && !(element is CollectionInfo)) { DummyFileInfoWrapper fileInfo = element.Tag as DummyFileInfoWrapper; if (fileInfo != null) { CheckRight(fileInfo, "Write"); try { //Auto committed transaction stream wrapper result = new FileStorageAutoCommitedTransactedStream(DataContext.Current.BeginTransaction(), fileInfo.ContainerKey, fileInfo.ParrentDirectoryId, fileInfo.Name, contentLength); result.InnerStream = new MemoryStream(); } catch (Exception) { throw new HttpException(404, "Not Found"); } } } return(result); }
/// <summary> /// Opens the read. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> public override System.IO.Stream OpenRead(Mediachase.Net.Wdom.WebDavElementInfo element) { FileStorageAutoCommitedTransactedStream result = null; if (element != null && !(element is CollectionInfo)) { DummyFileInfoWrapper fileInfo = element.Tag as DummyFileInfoWrapper; if (fileInfo != null) { CheckRight(fileInfo, "Read"); //update download counter Mediachase.IBN.Database.ControlSystem.DBFile.FileBinaryModifyCounter(fileInfo.FileBinaryId); try { result = new FileStorageAutoCommitedTransactedStream(DataContext.Current.BeginTransaction(), 0); result.InnerStream = Mediachase.IBN.Database.ControlSystem.DBFile.OpenRead(fileInfo.FileBinaryId); } catch (Exception) { throw new HttpException(404, "Not Found"); } } } return(result); }
/// <summary> /// Opens the write. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> public override System.IO.Stream OpenWrite(Mediachase.Net.Wdom.WebDavElementInfo element, long contentLength) { FileStorageAutoCommitedTransactedStream result = null; if (element != null && !(element is CollectionInfo)) { DummyFileInfoWrapper fileInfo = element.Tag as DummyFileInfoWrapper; if (fileInfo != null) { CheckRight(fileInfo, "Write"); try { //Auto committed transaction stream wrapper result = new FileStorageAutoCommitedTransactedStream(DataContext.Current.BeginTransaction(), fileInfo.ContainerKey, fileInfo.ParrentDirectoryId, fileInfo.Name, contentLength); result.InnerStream = new MemoryStream(); } catch (Exception) { throw new HttpException(404, "Not Found"); } } } return result; }
/// <summary> /// Opens the read. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> public override System.IO.Stream OpenRead(Mediachase.Net.Wdom.WebDavElementInfo element) { FileStorageAutoCommitedTransactedStream result = null; if (element != null && !(element is CollectionInfo)) { DummyFileInfoWrapper fileInfo = element.Tag as DummyFileInfoWrapper; if (fileInfo != null) { CheckRight(fileInfo, "Read"); //update download counter Mediachase.IBN.Database.ControlSystem.DBFile.FileBinaryModifyCounter(fileInfo.FileBinaryId); try { result = new FileStorageAutoCommitedTransactedStream(DataContext.Current.BeginTransaction(), 0); result.InnerStream = Mediachase.IBN.Database.ControlSystem.DBFile.OpenRead(fileInfo.FileBinaryId); } catch (Exception) { throw new HttpException(404, "Not Found"); } } } return result; }