Ejemplo n.º 1
0
        public void AddFile(string path, byte[] chunkMapDto)
        {
            var txnProvider = new NHTransactionProvider(
                new NHSessionProvider(_sessionFactory));

            using (txnProvider) {
                using (var transaction = txnProvider.BeginTransaction()) {
                    var         cm          = ChunkMap.Create(chunkMapDto);
                    ManagedFile managedFile =
                        new ManagedFile {
                        Path     = path,
                        ChunkMap = cm,
                        Size     = cm.FileSize
                    };
                    var session = txnProvider.SessionProvider.CurrentSession;
                    session.Save(managedFile);
                    transaction.Commit();
                }
            }
        }
Ejemplo n.º 2
0
        public void AddFileToDownload(string path, byte[] chunkMap,
                                      byte[] torrent, long fileSize)
        {
            var txnProvider = new NHTransactionProvider(
                new NHSessionProvider(_sessionFactory));

            using (txnProvider) {
                using (var transaction = txnProvider.BeginTransaction()) {
                    ManagedFile managedFile =
                        new ManagedFile {
                        Path        = path,
                        ChunkMap    = ChunkMap.Create(chunkMap),
                        TorrentFile = torrent,
                        Size        = fileSize
                    };
                    var session = txnProvider.SessionProvider.CurrentSession;
                    session.Save(managedFile);
                    transaction.Commit();
                }
            }
            logger.DebugFormat("ChunkMap is added for file {0}", path);
        }