protected SuiRecordTransactionBase(string date, string price, string memo, SuiRecordType recordType) { DateTime parsedDate = DateTime.Parse(DateTime.Now.Year + "-" + date.Substring(0, 2) + "-" + date.Substring(2, 2)); if ((parsedDate - DateTime.Now).Days > 30) // If the record is too new (newer than today + 30 days), the record should go to the last year { parsedDate = parsedDate.AddYears(-1); } Time = $"{parsedDate:yyyy-MM-dd} 10:00"; Price = price; Memo = memo; RecordType = recordType; }
public SuiRecordOut(string date, string category, string account, string price, string store, string memo, SuiRecordReference reference, SuiRecordType recordType) : base(date, price, memo, recordType) { Category = reference.CategoriesOut[category]; Account = reference.Accounts[account]; if (!string.IsNullOrEmpty(store)) { Store = reference.Stores[store]; } }
public SuiRecordOut(SuiRecordOrigin recordModel, SuiRecordReference reference, SuiRecordType recordType) : this(recordModel.Date, recordModel.Category, recordModel.Account, recordModel.Price, recordModel.Store, recordModel.Memo, reference, recordType) { }
public SuiRecordLoan(string date, string account, string account2, string price, string memo, SuiRecordReference reference, SuiRecordType recordType) : base(date, price, memo.Substring(memo.IndexOf(':') + 1), recordType) { APAccount = reference.Accounts["A-P"]; ARAccount = reference.Accounts["A-R"]; if (account.StartsWith(">>") && !account2.StartsWith(">>")) // IN { InAccount = reference.Accounts[account2]; InPrice = price; Loaner = reference.Loaners.GetOfficialName(account.Substring(2)); DebtId = reference.Loaners[account.Substring(2)]; Direction = SuiRecordLoanDirection.In; } else if (!account.StartsWith(">>") && account2.StartsWith(">>")) // OUT { OutAccount = reference.Accounts[account]; OutPrice = price; Loaner = reference.Loaners.GetOfficialName(account2.Substring(2)); DebtId = reference.Loaners[account2.Substring(2)]; Direction = SuiRecordLoanDirection.Out; } Price2 = price; if (!memo.Contains(":")) { throw new ArgumentOutOfRangeException("Loan record tag is not found"); } Tag = memo.Substring(0, memo.IndexOf(':')); }
public SuiRecordLoan(SuiRecordOrigin recordModel, SuiRecordReference reference, SuiRecordType recordType) : this(recordModel.Date, recordModel.Account, recordModel.Account2, recordModel.Price, recordModel.Memo, reference, recordType) { }
public SuiRecordTransfer(string date, string accountOut, string accountIn, string price, string memo, SuiRecordReference reference, SuiRecordType recordType) : base(date, price, memo, recordType) { OutAccount = reference.Accounts[accountOut]; InAccount = reference.Accounts[accountIn]; }