private void cmdNuyenGained_Click(object sender, EventArgs e) { frmExpense frmNewExpense = new frmExpense(); frmNewExpense.Mode = ExpenseType.Nuyen; frmNewExpense.ShowDialog(this); if (frmNewExpense.DialogResult == DialogResult.Cancel) return; // Create the Expense Log Entry. ExpenseLogEntry objEntry = new ExpenseLogEntry(); objEntry.Create(frmNewExpense.Amount, frmNewExpense.strReason, ExpenseType.Nuyen, frmNewExpense.SelectedDate); objEntry.Refund = frmNewExpense.Refund; _objCharacter.ExpenseEntries.Add(objEntry); ExpenseUndo objUndo = new ExpenseUndo(); objUndo.CreateNuyen(NuyenExpenseType.ManualAdd, ""); objEntry.Undo = objUndo; // Adjust the character's Nuyen total. _objCharacter.Nuyen += frmNewExpense.Amount; UpdateCharacterInfo(); _blnIsDirty = true; UpdateWindowTitle(); }
private void cmdNuyenSpent_Click(object sender, EventArgs e) { frmExpense frmNewExpense = new frmExpense(); frmNewExpense.Mode = ExpenseType.Nuyen; frmNewExpense.ShowDialog(this); if (frmNewExpense.DialogResult == DialogResult.Cancel) return; // Make sure the Nuyen expense would not put the character's remaining Nuyen amount below 0. if (_objCharacter.Nuyen - frmNewExpense.Amount < 0) { MessageBox.Show(LanguageManager.Instance.GetString("Message_NotEnoughNuyen"), LanguageManager.Instance.GetString("MessageTitle_NotEnoughNuyen"), MessageBoxButtons.OK, MessageBoxIcon.Information); return; } // Create the Expense Log Entry. ExpenseLogEntry objEntry = new ExpenseLogEntry(); objEntry.Create(frmNewExpense.Amount * -1, frmNewExpense.strReason, ExpenseType.Nuyen, frmNewExpense.SelectedDate); _objCharacter.ExpenseEntries.Add(objEntry); ExpenseUndo objUndo = new ExpenseUndo(); objUndo.CreateNuyen(NuyenExpenseType.ManualSubtract, ""); objEntry.Undo = objUndo; // Adjust the character's Nuyen total. _objCharacter.Nuyen += frmNewExpense.Amount * -1; UpdateCharacterInfo(); _blnIsDirty = true; UpdateWindowTitle(); }
private void lstNuyen_DoubleClick(object sender, EventArgs e) { try { ListViewItem objTest = lstNuyen.SelectedItems[0]; } catch { return; } ExpenseLogEntry objEntry = new ExpenseLogEntry(); ListViewItem objItem = lstNuyen.SelectedItems[0]; // Find the selected Nuyen Expense. foreach (ExpenseLogEntry objCharacterEntry in _objCharacter.ExpenseEntries) { if (objCharacterEntry.InternalId == objItem.SubItems[3].Text) { objEntry = objCharacterEntry; break; } } // If this is a manual entry, let the player modify the amount. int intOldAmount = objEntry.Amount; bool blnAllowEdit = false; try { if (objEntry.Undo.NuyenType == NuyenExpenseType.ManualAdd || objEntry.Undo.NuyenType == NuyenExpenseType.ManualSubtract) blnAllowEdit = true; } catch { return; } frmExpense frmEditExpense = new frmExpense(); frmEditExpense.Mode = ExpenseType.Nuyen; frmEditExpense.strReason = objEntry.Reason; frmEditExpense.Amount = objEntry.Amount; frmEditExpense.Refund = objEntry.Refund; frmEditExpense.SelectedDate = objEntry.Date; frmEditExpense.LockFields(blnAllowEdit); frmEditExpense.ShowDialog(this); if (frmEditExpense.DialogResult == DialogResult.Cancel) return; // If this is a manual entry, update the character's Karma total. int intNewAmount = frmEditExpense.Amount; if (blnAllowEdit && intOldAmount != intNewAmount) { objEntry.Amount = intNewAmount; _objCharacter.Nuyen += (intNewAmount - intOldAmount); UpdateCharacterInfo(); } // Rename the Expense. objEntry.Reason = frmEditExpense.strReason; objEntry.Date = frmEditExpense.SelectedDate; PopulateExpenseList(); _blnIsDirty = true; UpdateWindowTitle(); }