private void btnRenumber_Click(object sender, EventArgs e) { List <BankTrx> objToChange = new List <BankTrx>(); if (!Int32.TryParse(txtStartNumber.Text, out int startNumber)) { HostUI.ErrorMessageBox("Invalid starting check number."); return; } if (!Int32.TryParse(txtEndNumber.Text, out int endNumber)) { HostUI.ErrorMessageBox("Invalid ending check number."); return; } if (!Int32.TryParse(txtAddNumber.Text, out int addNumber)) { HostUI.ErrorMessageBox("Invalid amount to add to each check number."); return; } Register reg = HostUI.GetCurrentRegister(); foreach (var objNormal in reg.GetDateRange <BankTrx>(ctlStartDate.Value, ctlEndDate.Value)) { if (Int32.TryParse(objNormal.Number, out int checkNumber)) { if (checkNumber >= startNumber && checkNumber <= endNumber) { objToChange.Add(objNormal); //HostUI.InfoMessageBox("Renumbering " + objNormal.ToString()); } } } // Cannot change number during initial scan, because this changes the register order. if (HostUI.OkCancelMessageBox("Found " + objToChange.Count + " checks to renumber. Continue?") == DialogResult.OK) { foreach (var objNormal in objToChange) { NormalTrxManager objMgr = new NormalTrxManager(objNormal); int checkNumber = Int32.Parse(objNormal.Number); objMgr.UpdateStart(); string newNumber = (checkNumber + addNumber).ToString(); lblProgress.Text = "Changing #" + objMgr.Trx.Number + " to #" + newNumber; lblProgress.Refresh(); objMgr.Trx.Number = newNumber; objMgr.UpdateEnd(new LogChange(), "RenumberChecksForm.ChangeNumber"); } HostUI.InfoMessageBox("Renumbered " + objToChange.Count + " checks."); this.DialogResult = DialogResult.OK; this.Close(); } }
protected override void BeginProcessing() { if (OneSplit == null && Splits == null) { List <SplitContent> newSplits = new List <SplitContent>(); foreach (TrxSplit oldSplit in NormalTrx.Splits) { newSplits.Add(new SplitContent { strCatKey = oldSplit.CategoryKey, strPONumber = oldSplit.PONumber, strInvoiceNum = oldSplit.InvoiceNum, datInvoice = oldSplit.InvoiceDate, datDue = oldSplit.DueDate, curAmount = oldSplit.Amount, strBudgetKey = oldSplit.BudgetKey, strMemo = oldSplit.Memo, strTerms = oldSplit.Terms }); } Splits = newSplits.ToArray(); } else if (OneSplit != null && Splits != null) { ThrowTerminatingError(ErrorUtilities.CreateInvalidOperation("-OneSplit and -Splits may not both be specified", "SplitError")); } NormalTrxManager mgr = new NormalTrxManager(NormalTrx); mgr.Update(delegate(BankTrx objTrx) { objTrx.UpdateStartNormal( strNumber_: !string.IsNullOrEmpty(Number) ? Number : objTrx.Number, datDate_: Date.HasValue ? Date.Value : objTrx.TrxDate, strDescription_: !string.IsNullOrEmpty(Description) ? Description : objTrx.Description, strMemo_: Memo != null ? Memo : objTrx.Memo, lngStatus_: Status.HasValue ? Status.Value : objTrx.Status, blnFake_: Fake.HasValue ? Fake.Value : objTrx.IsFake, curNormalMatchRange_: NormalMatchRange.HasValue ? NormalMatchRange.Value : objTrx.NormalMatchRange, blnAwaitingReview_: AwaitingReview.HasValue ? AwaitingReview.Value : objTrx.IsAwaitingReview, blnAutoGenerated_: false, intRepeatSeq_: objTrx.RepeatSeq, strImportKey_: !string.IsNullOrEmpty(ImportKey) ? ImportKey : objTrx.ImportKey, strRepeatKey_: objTrx.RepeatKey); if (OneSplit != null) { OneSplit.AddToNormalTrx(objTrx); } else { foreach (SplitContent split in Splits) { split.AddToNormalTrx(objTrx); } } objTrx.Register.ValidationError += Register_ValidationError; try { objTrx.Validate(); if (TrxValidationError != null) { ThrowTerminatingError(ErrorUtilities.CreateInvalidOperation(TrxValidationError, "InvalidTrx")); } } finally { objTrx.Register.ValidationError -= Register_ValidationError; } }, new LogChange(), "PowershellAddNormalTrx"); }