Esempio n. 1
0
        public static string MoveTorrentFile(Torrent t)
        {
            FileInfo fi;
            DirectoryInfo cslSaveFolder = null;
            string filename;
            string file = t.GetPath();
            string where = (t.GetDiscard()) ? "unhandled" : "handled";

            try
            {
                fi = new FileInfo(file);
                filename = fi.Name;
                switch (where)
                {
                    case "handled":
                        cslSaveFolder = new DirectoryInfo(SettingsHandler.GetTorrentSaveFolder() + @"\[CSL] -- Handled Torrents\");
                        break;
                    case "unhandled":
                        cslSaveFolder = new DirectoryInfo(SettingsHandler.GetTorrentSaveFolder() + @"\[CSL] -- Unhandled Torrents\");
                        break;
                    default:
                        cslSaveFolder = new DirectoryInfo(SettingsHandler.GetTorrentSaveFolder() + '\\' + where + '\\');
                        break;
                }

                if (!cslSaveFolder.Exists)
                    cslSaveFolder.Create();
                if (fi.FullName.Equals(cslSaveFolder + fi.Name)) //In handled directory already
                    return fi.FullName;
                if (File.Exists(cslSaveFolder.FullName + fi.Name))
                {
                    fi.Delete();
                    return cslSaveFolder.FullName + fi.Name;
                }
                else if (fi != null)
                {
                    fi.MoveTo(cslSaveFolder.FullName + "\\" + fi.Name);
                    return fi.FullName;
                }
                else
                {
                    return null;
                }
            }
            catch (Exception e)
            {
                LogError(e.Message + "\n" + e.StackTrace);
                return null;
            }
        }