Ejemplo n.º 1
0
        private void bnOK_Click(object sender, EventArgs e)
        {
            mRule.DoWhatNow        = Action();
            mRule.UserSuppliedText = txtUserText.Enabled ? txtUserText.Text : "";
            mRule.First            = ParseTextValue(txtValue1);
            mRule.Second           = ParseTextValue(txtValue2);

            //validation Rules
            if (!mSeason.ContainsEpisode(mRule.First, mdvdOrder) && mRule.DoWhatNow != RuleAction.kInsert)
            {
                MessageBox.Show("First episode number is not valid for the selected season", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue1.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            if (mRule.DoWhatNow == RuleAction.kInsert && !(mSeason.NextEpisodeIs(mRule.First, mdvdOrder) || mSeason.ContainsEpisode(mRule.First, mdvdOrder)))
            {
                MessageBox.Show("First episode number is not valid for the selected season", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue1.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            //these 3 types only have one episode cited
            if (!(mRule.DoWhatNow == RuleAction.kRename || mRule.DoWhatNow == RuleAction.kInsert || mRule.DoWhatNow == RuleAction.kSplit) &&
                !mSeason.ContainsEpisode(mRule.Second, mdvdOrder))
            {
                MessageBox.Show("Second episode number is not valid for the selected season", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue2.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            //these 3 types only have one episode cited - others must be in order
            if (!(mRule.DoWhatNow == RuleAction.kRename || mRule.DoWhatNow == RuleAction.kInsert || mRule.DoWhatNow == RuleAction.kSplit) &&
                mRule.First > mRule.Second)
            {
                MessageBox.Show("Second episode number must be before the first episode number", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue2.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            //Swap, merge and collapse can't be done on the same episode numbers
            if ((mRule.DoWhatNow == RuleAction.kSwap || mRule.DoWhatNow == RuleAction.kMerge || mRule.DoWhatNow == RuleAction.kCollapse) &&
                txtValue2.Text.Equals(txtValue1.Text))
            {
                MessageBox.Show("Episode Numbers must be different", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue2.Focus();
                DialogResult = DialogResult.None;
            }
        }
Ejemplo n.º 2
0
        private void bnOK_Click(object sender, EventArgs e)
        {
            RuleAction dwn = RuleAction.kIgnoreEp;

            if (rbIgnore.Checked)
            {
                dwn = RuleAction.kIgnoreEp;
            }
            else if (rbSwap.Checked)
            {
                dwn = RuleAction.kSwap;
            }
            else if (rbMerge.Checked)
            {
                dwn = RuleAction.kMerge;
            }
            else if (rbInsert.Checked)
            {
                dwn = RuleAction.kInsert;
            }
            else if (rbRemove.Checked)
            {
                dwn = RuleAction.kRemove;
            }
            else if (rbCollapse.Checked)
            {
                dwn = RuleAction.kCollapse;
            }
            else if (rbRename.Checked)
            {
                dwn = RuleAction.kRename;
            }
            else if (rbSplit.Checked)
            {
                dwn = RuleAction.kSplit;
            }

            mRule.DoWhatNow        = dwn;
            mRule.UserSuppliedText = txtUserText.Enabled ? txtUserText.Text : "";

            try
            {
                mRule.First = txtValue1.Enabled ? Convert.ToInt32(txtValue1.Text) : -1;
            }
            catch
            {
                mRule.First = -1;
            }

            try
            {
                mRule.Second = txtValue2.Enabled ? Convert.ToInt32(txtValue2.Text) : -1;
            }
            catch
            {
                mRule.Second = -1;
            }

            //validation Rules
            if (!mSeason.ContainsEpisode(int.Parse(txtValue1.Text), mdvdOrder))
            {
                MessageBox.Show("First episode number is not valid for the selected season", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue1.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            //these 3 tpyes only have one episode cited
            if (!(mRule.DoWhatNow == RuleAction.kRename || mRule.DoWhatNow == RuleAction.kInsert || mRule.DoWhatNow == RuleAction.kSplit) &&
                !mSeason.ContainsEpisode(int.Parse(txtValue2.Text), mdvdOrder))
            {
                MessageBox.Show("Second episode number is not valid for the selected season", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue2.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            //these 3 tpyes only have one episode cited - others must be in order
            if (!(mRule.DoWhatNow == RuleAction.kRename || mRule.DoWhatNow == RuleAction.kInsert || mRule.DoWhatNow == RuleAction.kSplit) &&
                int.Parse(txtValue2.Text) < int.Parse(txtValue1.Text))
            {
                MessageBox.Show("Second episode number must be before the first episode number", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue2.Focus();
                DialogResult = DialogResult.None;
                return;
            }

            //Swap, merge and collapse can't be done on the same episode numbers
            if ((mRule.DoWhatNow == RuleAction.kSwap || mRule.DoWhatNow == RuleAction.kMerge || mRule.DoWhatNow == RuleAction.kCollapse) &&
                (txtValue2.Text.Equals(txtValue1.Text)))
            {
                MessageBox.Show("Episode Numbers must be different", "Modify Rules",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtValue2.Focus();
                DialogResult = DialogResult.None;
            }
        }