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; } }
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; } }