Beispiel #1
0
        public void Delete(bool Files)
        {
            SQL   sQL   = new SQL();
            Query query = sQL.ExecQuery("SELECT id FROM series WHERE group_id=" + ID);

            while (query.NextResult())
            {
                ComicSeries comicSeries = new ComicSeries((int)query.hash["id"]);
                comicSeries.Delete(Files);
            }
            query.Close();
            sQL.ExecQuery("DELETE FROM groups WHERE id=" + ID);
            if (Settings.Default.OrganizeMethod != 0)
            {
                try
                {
                    query = CC.SQL.ExecQuery("SELECT name FROM publishers WHERE id=" + PublisherID);
                    string path = (string)query.hash[0];
                    query.Close();
                    Directory.Delete(Path.Combine(Settings.Default.LibraryDir, Path.Combine(path, Name)));
                }
                catch
                {
                }
            }
        }
Beispiel #2
0
        private void SaveChanges()
        {
            MainForm   mainForm   = (MainForm)base.Owner;
            ComicIssue comicIssue = (ComicIssue)CC.Issues[CurrentIssue];

            if (!comicIssue.Missing)
            {
                comicIssue.SeriesID = ComicSeries.GetID(cboSeries.Text, comicIssue.GroupID, comicIssue.PublisherID);
                ComicSeries comicSeries = new ComicSeries(comicIssue.SeriesID);
                comicIssue.GroupName     = comicSeries.GroupName;
                comicIssue.PublisherName = comicSeries.PublisherName;
                comicIssue.SeriesName    = cboSeries.Text;
                comicIssue.Name          = txtPlot.Text;
                comicIssue.SeriesVolume  = (int)udVol.Value;
                comicIssue.Number        = (int)udNumber.Value;
                comicIssue.Type          = cboType.SelectedIndex;
                comicIssue.Comments      = txtComments.Text;
                if (chkPublished.Checked)
                {
                    comicIssue.Published = datePublished.Value;
                }
                comicIssue.SaveChanges();
                if (Settings.Default.OrganizeMethod != 0)
                {
                    comicIssue.OrganizeFile();
                }
                mainForm.IssueList.Refresh();
            }
        }
Beispiel #3
0
        /// <summary>
        /// Load series info into the form
        /// </summary>
        /// <param name="index">The id of the series to load</param>
        private void LoadSeries(int index)
        {
            SeriesIndex = index;
            ComicSeries comicSeries = (ComicSeries)CC.Series[index];

            cboType.SelectedIndex = comicSeries.Type;
            txtName.Text          = comicSeries.Name;
            cmdPrev.Enabled       = (index != 0);
            cmdNext.Enabled       = (index != CC.Series.Count - 1);
        }
Beispiel #4
0
        //Save changes to the series
        private void SaveChanges()
        {
            ComicSeries comicSeries = (ComicSeries)CC.Series[SeriesIndex];

            comicSeries.Name = txtName.Text;
            comicSeries.Type = cboType.SelectedIndex;
            if (comicSeries.SaveChanges())
            {
                owner.SeriesList.Refresh();
            }
        }
Beispiel #5
0
		public void AutoTag()
		{
			Regex regex = new Regex("[^0-9]");
			Regex regex2 = new Regex(CC.AutoTag.Pattern);
			Match match = regex2.Match(FileName);
			string value = match.Groups[CC.AutoTag.Matches[0]].Value;
			if (value != "")
			{
				PublisherName = value;
			}
			string value2 = match.Groups[CC.AutoTag.Matches[2]].Value;
			if (value2 != "")
			{
				SeriesName = value2;
			}
			string value3 = match.Groups[CC.AutoTag.Matches[1]].Value;
			if (value3 != "")
			{
				GroupName = value3;
			}
			string value4 = match.Groups[CC.AutoTag.Matches[4]].Value;
			if (value4 != "")
			{
				Name = value4;
			}
			try
			{
				Number = Convert.ToInt16(match.Groups[CC.AutoTag.Matches[5]].Value);
			}
			catch
			{
			}
			try
			{
				string value5 = match.Groups[CC.AutoTag.Matches[3]].Value;
				value5 = regex.Replace(value5, "");
				SeriesVolume = Convert.ToInt16(value5);
			}
			catch
			{
			}
			if ((PublisherName == "") & CC.AutoTag.usePublisher)
			{
				PublisherName = CC.AutoTag.Publisher;
			}
			if ((SeriesName == "") & CC.AutoTag.useSeries)
			{
				SeriesName = CC.AutoTag.Series;
			}
			if ((GroupName == "") & CC.AutoTag.useGroup)
			{
				GroupName = CC.AutoTag.Group;
			}
			if ((Name == "") & CC.AutoTag.usePlot)
			{
				Name = CC.AutoTag.Plot;
			}
			if ((SeriesVolume == 0) & CC.AutoTag.useVolume)
			{
				SeriesVolume = CC.AutoTag.Volume;
			}
			if (SeriesName == "")
			{
				SeriesName = Path.GetFileNameWithoutExtension(FileName);
			}
			if ((SeriesVolume == 0) | (SeriesVolume >= 10))
			{
				SeriesVolume = 1;
			}
			if (Number == 0)
			{
				Type = 2;
			}
			else if (Number.ToString().Length == 4)
			{
				Type = 1;
			}
			else
			{
				Type = 0;
			}
			for (int i = 0; i < Settings.Default.ReplaceKeys.Count; i++)
			{
				SeriesName = SeriesName.Replace(Settings.Default.ReplaceKeys[i], Settings.Default.ReplaceVals[i]);
			}
			PublisherID = ComicPublisher.GetID(PublisherName);
			GroupID = ComicGroup.GetID(GroupName, PublisherID, PublisherName);
			SeriesID = ComicSeries.GetID(SeriesName, GroupID, PublisherID);
		}
Beispiel #6
0
        //When comparing series we only care about its name
        public int CompareTo(object o)
        {
            ComicSeries comicSeries = (ComicSeries)o;

            return(Name.CompareTo(comicSeries.Name));
        }
        private void OK_Button_Click(object sender, EventArgs e)
        {
            int        num        = -1;
            DateTime   published  = datePublished.Value;
            ComicIssue comicIssue = null;

            Cursor = Cursors.WaitCursor;
            for (int i = 0; i < MainForm.Root.IssueList.SelectedIndices.Count; i++)
            {
                comicIssue = (ComicIssue)CC.Issues[MainForm.Root.IssueList.SelectedIndices[i]];

                //set the plot title of the issue if checked
                //(sorry for the three different naming conventions here)
                if (chkStory.Checked)
                {
                    comicIssue.Name = txtPlot.Text;
                }
                //set series name of the issue if checked
                if (chkSeries.Checked)
                {
                    //Find the ID of the selected Series
                    if (num == -1)
                    {
                        num = ComicSeries.GetID(cboSeries.Text, comicIssue.GroupID, comicIssue.PublisherID);
                    }
                    comicIssue.SeriesID   = num;
                    comicIssue.SeriesName = cboSeries.Text;
                }
                //set comments if checked
                if (chkComments.Checked)
                {
                    comicIssue.Comments = txtComments.Text;
                }
                //set volume if checked
                if (chkVol.Checked)
                {
                    comicIssue.SeriesVolume = (int)udVol.Value;
                }
                //set published date if checked
                if (chkPublished.Checked)
                {
                    comicIssue.Published = published;
                    //If the Auto-Date feature is being used then we're assuming
                    //that the selected issues were published a set amount of time apart, sequentially
                    if (cboAutoDate.SelectedIndex != -1)
                    {
                        switch (cboAutoDate.Text)
                        {
                        case "Weekly":
                            published = published.AddDays(7.0);
                            break;

                        case "Bi-Weekly":
                            published = published.AddDays(14.0);
                            break;

                        case "Monthly":
                            published = published.AddMonths(1);
                            break;

                        case "Bi-Monthly":
                            published = published.AddMonths(2);
                            break;

                        case "Yearly":
                            published = published.AddYears(1);
                            break;
                        }
                    }
                }
                //set issue type if checked
                if (chkType.Checked)
                {
                    comicIssue.Type = cboType.SelectedIndex;
                }
                //set issue number if checked
                if (chkNumber.Checked)
                {
                    //we're assuming that the issues were published sequentially after the start value
                    comicIssue.Number = (int)((decimal)i + udStart.Value);
                    comicIssue.Type   = 0;                      //Normal Issue
                }
                comicIssue.SaveChanges();

                //Since we've made changes, the files may need to be renamed or moved in accordance with user prefs
                if (Settings.Default.OrganizeMethod != 0)
                {
                    comicIssue.OrganizeFile();
                }
            }
            Cursor            = Cursors.Default;
            base.DialogResult = DialogResult.OK;
            Close();
        }