Beispiel #1
0
        public bool SaveChanges()
        {
            ArrayList arrayList = new ArrayList();

            if (Changes.Count > 0)
            {
                if (Changes.Contains("Name"))
                {
                    arrayList.Add("name='" + SQL.Prepare(iName) + "'");
                }
                if (Changes.Contains("Type"))
                {
                    arrayList.Add("type=" + iType);
                    Changes.Remove("Type");
                }
                CC.SQL.ExecQuery("UPDATE series SET " + string.Join(",", CC.StringList(arrayList)) + " WHERE id=" + ID);
                if (Settings.Default.OrganizeMethod != 0)
                {
                    if (Changes.Contains("Name"))
                    {
                        //Rename folders
                        string text  = Settings.Default.LibraryDir + "\\" + CC.URLize(PublisherName) + "\\" + CC.URLize(GroupName) + "\\" + CC.URLize(OldName) + "\\";
                        string text2 = Settings.Default.LibraryDir + "\\" + CC.URLize(PublisherName) + "\\" + CC.URLize(GroupName) + "\\" + CC.URLize(Name) + "\\";
                        CC.SQL.ExecQuery("UPDATE issues SET filename=" + CC.SQLReplaceLeft("filename", text, text2));
                        CC.Rename(text, text2);
                    }
                    Changes.Remove("Name");
                }
                return(true);
            }
            return(false);
        }
Beispiel #2
0
        public void AdoptSeries(ArrayList Series)
        {
            SQL       sQL       = new SQL();
            string    text      = Settings.Default.LibraryDir + "\\" + CC.URLize(PublisherName) + "\\" + CC.URLize(Name);
            string    text2     = "";
            ArrayList arrayList = new ArrayList();

            foreach (ComicSeries item in Series)
            {
                if (Settings.Default.OrganizeMethod != 0)
                {
                    text2 = Settings.Default.LibraryDir + "\\" + CC.URLize(item.PublisherName) + "\\" + CC.URLize(item.GroupName);
                    sQL.ExecQuery("UPDATE issues SET filename=" + CC.SQLReplaceLeft("filename", text2, text) + " WHERE series_id=" + item.ID);
                    try
                    {
                        Directory.Move(text2 + "\\" + CC.URLize(item.Name), text + "\\" + CC.URLize(item.Name));
                    }
                    catch
                    {
                    }
                }
                arrayList.Add(Convert.ToString(item.ID));
                item.GroupID   = ID;
                item.GroupName = Name;
            }
            sQL.ExecQuery("UPDATE series SET group_id=" + ID + ", pub_id=" + PublisherID + " WHERE id IN (" + string.Join(",", CC.StringList(arrayList)) + ")");
        }
Beispiel #3
0
        //Determine what the filepath of the issue should be
		public string GenerateFilename()
		{
			string libraryDir = Settings.Default.LibraryDir;
			string text = null;
			Query query = null;
			string str = CC.URLize(SeriesName);
			string text2 = CC.URLize(Name);
			string text3 = null;
			int num = 0;
			libraryDir += "\\";
			libraryDir = libraryDir + PublisherName + "\\";
			libraryDir = libraryDir + GroupName + "\\";
			libraryDir = libraryDir + str + "\\";
			libraryDir += str;
			if (SeriesType != 2)
			{
				query = CC.SQL.ExecQuery("SELECT DISTINCT series_vol FROM issues WHERE series_id=" + SeriesID);
				query.NextResult();
				if (query.NextResult())
				{
					libraryDir = libraryDir + " v" + SeriesVolume;
				}
				query.Close();
				switch (Type)
				{
				case 0:
					libraryDir = libraryDir + " #" + Number.ToString("000");
					break;
				case 1:
					libraryDir = libraryDir + " Annual " + Number;
					break;
				case 2:
					if (text2 != "")
					{
						libraryDir = libraryDir + " " + text2;
					}
					break;
				}
				if ((text2 != "") & (Type != 2))
				{
					libraryDir = libraryDir + " (" + text2 + ")";
				}
			}
			text3 = CC.GetArchiveType(FileName);
			text = libraryDir;
			if (FileName != libraryDir + text3)
			{
				while (File.Exists(text + text3))
				{
					num++;
					text = libraryDir + " " + num;
				}
				return text + text3;
			}
			return FileName;
		}
Beispiel #4
0
        public bool SaveChanges()
        {
            ArrayList arrayList = new ArrayList();

            //SQL sQL = new SQL();
            if (Changes.Count > 0)
            {
                if (Changes.Contains("Name"))
                {
                    arrayList.Add("name='" + SQL.Prepare(iName) + "'");
                }
                if (Changes.Contains("PublisherID"))
                {
                    arrayList.Add("pub_id='" + iPublisherID + "'");
                    CC.SQL.ExecQuery("UPDATE series SET pub_id=" + iPublisherID + " WHERE group_id=" + ID);
                }
                CC.SQL.ExecQuery("UPDATE groups SET " + string.Join(",", CC.StringList(arrayList)) + " WHERE id=" + ID);
                if (Settings.Default.OrganizeMethod != 0)
                {
                    Query query = CC.SQL.ExecQuery("SELECT name FROM publishers WHERE id=" + PublisherID);
                    query.NextResult();

                    string name = (string)query.hash[0];
                    query.Close();

                    if (Changes.Contains("Name"))
                    {
                        string text  = Settings.Default.LibraryDir + "\\" + CC.URLize(name) + "\\" + CC.URLize(OldName) + "\\";
                        string text2 = Settings.Default.LibraryDir + "\\" + CC.URLize(name) + "\\" + CC.URLize(Name) + "\\";
                        CC.SQL.ExecQuery("UPDATE issues SET filename=" + CC.SQLReplaceLeft("filename", text, text2));
                        CC.Rename(text, text2);
                    }
                    if (Changes.Contains("PublisherID"))
                    {
                        query = CC.SQL.ExecQuery("SELECT name FROM publishers WHERE id=" + OldPublisherID);
                        query.NextResult();

                        string name2 = (string)query.hash[0];
                        query.Close();
                        string text  = Settings.Default.LibraryDir + "\\" + CC.URLize(name2) + "\\" + CC.URLize(Name) + "\\";
                        string text2 = Settings.Default.LibraryDir + "\\" + CC.URLize(name) + "\\" + CC.URLize(Name) + "\\";
                        CC.SQL.ExecQuery("UPDATE issues SET filename=" + CC.SQLReplaceLeft("filename", text, text2));
                        CC.Rename(text, text2);
                    }
                }
                Changes.Remove("Name");
                Changes.Remove("PublisherID");
                return(true);
            }
            return(false);
        }
Beispiel #5
0
        //Delete a series and its issues
        public void Delete(bool Files)
        {
            SQL   sQL   = new SQL();
            Query query = sQL.ExecQuery("SELECT id FROM issues WHERE series_id=" + ID);

            while (query.NextResult())
            {
                ComicIssue comicIssue = new ComicIssue((int)query.hash["id"]);
                comicIssue.Delete(Files);
            }
            sQL.ExecQuery("DELETE FROM series WHERE id=" + ID);
            if (Settings.Default.OrganizeMethod != 0)
            {
                try
                {
                    //Delete folder for series if file org is turned on
                    Directory.Delete(Settings.Default.LibraryDir + "\\" + CC.URLize(PublisherName) + "\\" + CC.URLize(GroupName) + "\\" + CC.URLize(Name));
                }
                catch
                {
                }
            }
        }