Example #1
0
        /// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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;
        }
Example #4
0
        /// <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;
        }