예제 #1
0
        public void CopyFile(int destID, int srcID)
        {
            AuthorizedIdent ident = AuthenticateTicket(Ticket);

            FileSystem fs   = new FileSystem(ident, true);
            CFile      src  = fs.GetFile(srcID);
            CFile      dest = fs.GetFile(destID);

            FileSystemProviderFactory.GetInstance(this);
            m_fs.CopyFile(dest, src);
        }
예제 #2
0
        protected virtual void CreateWebStructure(Category root)
        {
            var xml = root.ToDataContractXml <Category>();

            var hornFile = Path.Combine(Path.Combine(dropDirectory.FullName, PackageTree.RootPackageTreeName), "horn.xml");

            fileSystemProvider.WriteTextFile(hornFile, xml);

            var resultXml = Path.Combine(HornConfig.Settings.XmlLocation, "horn.xml");

            fileSystemProvider.CopyFile(hornFile, resultXml, true);
        }
예제 #3
0
        protected void CopyFileData(string dir, string dbase, string sbase)
        {
            string spath = Path.Combine(sbase, dir);
            CFile  sfile = GetFile(spath);

            if (sfile.IsDirectory())
            {
                foreach (CFile dirmem in ListDirectory(sfile))
                {
                    CopyFileData(Path.Combine(dir, dirmem.Name), dbase, sbase);
                }
            }
            else
            {
                string dpath = Path.Combine(dbase, dir);
                CFile  dfile = GetFile(dpath);

                //Copy file
                FileDataWebGateway fds = (FileDataWebGateway)m_fdss[m_ident.Name];
                if (fds != null)
                {
                    try {
                        fds.CreateFile(sfile.ID);
                        fds.CopyFile(sfile.ID, dfile.ID);
                    } catch (Exception) {
                        FileServiceInit(m_ident, true);
                        fds = (FileDataWebGateway)m_fdss[m_ident.Name];
                        try {
                            fds.CreateFile(sfile.ID);
                            fds.CopyFile(sfile.ID, dfile.ID);
                        } catch (Exception) {
                            throw new FileOperationException("Unable to connect to the file system");
                        }
                    }
                }
                else
                {
                    m_fs.CreateFile(sfile);
                    m_fs.CopyFile(sfile, dfile);
                }
            }
        }