partial void AddButtonPressed(AppKit.NSButton sender) { DateTime dtPay = ((DateTime)this.DatePicker.DateValue).Date; DateTime dtRecord = ((DateTime)this.RecordDateOverridePicker.DateValue).Date; double dAmount = this.AmountTextField.DoubleValue; // VALIDATE ENTRIES if (this.typeChosen == clsCashflow.Type.Unknown) { this.SystemMessageTextField.StringValue = "INVALID CASHFLOW TYPE, UNABLE TO ADD"; } else if (this.entityID < 0) { this.SystemMessageTextField.StringValue = "NO ENTITY SELECTED, UNABLE TO ADD"; } else { // CREATE NEW CASHFLOW clsCashflow cashflow = new clsCashflow(dtPay, dtRecord, System.DateTime.MaxValue, -this.entityID, dAmount, false, this.typeChosen, this.CommentTextField.StringValue); if (dtPay <= System.DateTime.Today.Date) { cashflow.MarkActual(System.DateTime.Today.Date); } // SAVE TO TABLE cashflow.Save(); this.CashflowIDTextField.IntValue = cashflow.ID(); // UPDATE COMMENT BOX this.SystemMessageTextField.StringValue = "CASHFLOW SAVED."; if ((cashflow.TypeID() == clsCashflow.Type.InterestAdditional) && (cashflow.Amount() < 0D)) { this.SystemMessageTextField.StringValue += "\nCheck Amount. Additional Interest is usually >= 0."; } else if ((cashflow.TypeID() == clsCashflow.Type.CapitalCall) && (cashflow.Amount() < 0D)) { this.SystemMessageTextField.StringValue += "\nCheck Amount. Capital Calls are usually >= 0."; } else if ((cashflow.TypeID() == clsCashflow.Type.CatchUp) && (cashflow.Amount() < 0D)) { this.SystemMessageTextField.StringValue += "\nCheck Amount. Catchup Payments are usually >= 0."; } else if (cashflow.Amount() > 0) { this.SystemMessageTextField.StringValue += "\nCheck Amount. Expenses are normally <0."; } } RedrawTable(); }
partial void CashflowIDEntered(AppKit.NSTextField sender) { clsCashflow cf = new clsCashflow(this.CashflowIDTextField.IntValue); this.DatePicker.DateValue = (NSDate)cf.PayDate().ToUniversalTime(); this.RecordDateOverridePicker.DateValue = (NSDate)cf.RecordDate().ToUniversalTime(); this.AmountTextField.DoubleValue = cf.Amount(); this.TypePopUpButton.SelectItem(cf.TypeID().ToString()); if (this.TypePopUpButton.TitleOfSelectedItem == null) { this.typeChosen = clsCashflow.Type.Unknown; this.SystemMessageTextField.StringValue = "INVALID CASHFLOW TYPE (" + cf.TypeID().ToString() + ")"; this.validIDEntered = false; } else { this.validIDEntered = true; if (cf.Comment() != null) { this.CommentTextField.StringValue = cf.Comment(); } else { this.CommentTextField.StringValue = ""; } this.RedrawTable(); } this.ActualTextField.StringValue = "Actual : " + cf.Actual().ToString(); this.RedrawTable(); }
private void _TestCashflow() { clsCashflow cf = new clsCashflow(47); Console.WriteLine(cf.TransactionID() + "," + cf.Amount() + "," + cf.PayDate()); clsCSVTable testTable = new clsCSVTable(clsCashflow.strCashflowPath); testTable.SaveAs("/Users/" + Environment.UserName + "/Documents/Professional/Resilience/tblCashflowTest.csv"); DateTime pd = DateTime.Today; DateTime rd = DateTime.Today; DateTime dd = DateTime.MaxValue; int pid = 17; double a = 100000; bool act = false; clsCashflow.Type t = clsCashflow.Type.RehabDraw; clsCashflow cfTest = new clsCashflow(pd, rd, dd, pid, a, act, t); Console.WriteLine(cfTest.Save("/Users/" + Environment.UserName + "/Documents/Professional/Resilience/tblCashflowTest.csv")); }
partial void dateChangeClicked(AppKit.NSButton sender) { if (Int32.TryParse(CashflowIDPopUp.SelectedItem.Title, out int i)) { clsLoan loan = new clsLoan(chosenID); DateTime newDate = (DateTime)(dateChanger.DateValue); // Delete existing (old) cashflow clsCashflow cf = new clsCashflow(Int32.Parse(CashflowIDPopUp.SelectedItem.Title)); cf.Delete(System.DateTime.Today); cf.Save(); // Create new cashflow with new date clsCashflow updatedCF = new clsCashflow(newDate, System.DateTime.Today, System.DateTime.MaxValue, cf.LoanID(), cf.Amount(), false, cf.TypeID()); loan.AddCashflow(updatedCF); updatedCF.Save(); loadRehabInfo(); } }
partial void dateChangeClicked(AppKit.NSButton sender) { clsLoan loan = new clsLoan(chosenID); int cfID = 0; cfID = Int32.Parse(cashflowID.StringValue); DateTime newDate = (DateTime)(dateChanger.DateValue); clsCashflow cf = new clsCashflow(cfID); cf.Delete(System.DateTime.Today); cf.Save(); clsCashflow updatedCF = new clsCashflow(newDate, System.DateTime.Today, System.DateTime.MaxValue, cf.LoanID(), cf.Amount(), false, cf.TypeID()); loan.AddCashflow(updatedCF); updatedCF.Save(); loadRehabInfo(); }