public StudentLedger GetLedgerReport(int?studentNo) { var query = new StringBuilder(); query.AppendFormat("SELECT TOP (100) PERCENT StudentNo, Student, TransDate, [Transaction], Debit, Credit") .AppendFormat(" FROM vWebLedger") .AppendFormat(" WHERE StudentNo = {0} ORDER BY Student, TransDate, [Transaction]", studentNo); var studentLedger = new List <Ledger.LedgerInfo>(); using (var reader = this.ExecuteReader(CommandType.Text, query.ToString())) { while (reader.Read()) { int colIndex = -1; var ledger = new LedgerInfo { StudentNo = reader[++colIndex] as int?, Student = reader[++colIndex] as string, TransDate = reader[++colIndex] as DateTime?, Transaction = reader[++colIndex] as string, Debit = Convert.ToDouble(reader[++colIndex]), Credit = Convert.ToDouble(reader[++colIndex]) }; studentLedger.Add(ledger); } return(new StudentLedger(studentLedger)); } }
private void AssertLedgerInfo(LedgerInfo ledgerInfo) { AssertNotDefault(ledgerInfo.Amount); AssertNotDefault(ledgerInfo.Asset); AssertNotDefault(ledgerInfo.AssetClass); AssertNotDefault(ledgerInfo.Fee); AssertNotDefault(ledgerInfo.RefId); AssertNotDefault(ledgerInfo.Time); AssertNotDefault(ledgerInfo.Type); }
internal static Tuple <string, LedgerInfo> ReadLedgerItems(string[] array, string[] headers) { string key = ""; LedgerInfo res = new LedgerInfo(); for (int i = 0; i < headers.Length; i++) { string item = headers[i]; switch (item) { case "Key": key = array[i]; break; case "Time": res.Time = Convert.ToInt32(Convert.ToDouble(array[i])); break; case "Refid": res.Refid = array[i]; break; case "Type": res.Type = array[i]; break; case "Aclass": res.Aclass = array[i]; break; case "Amount": res.Amount = Convert.ToDecimal(array[i]); break; case "Asset": res.Asset = array[i]; break; case "Balance": res.Balance = Convert.ToDecimal(array[i]); break; case "Fee": res.Fee = Convert.ToDecimal(array[i]); break; default: break; } } return(new Tuple <string, LedgerInfo>(key, res)); }
/// <summary> /// Writes new Ledger information on your computer /// </summary> /// <param name="data"></param> private void SaveLedger(Dictionary <string, LedgerInfo> data) { string pathLib = GetLedgerLibraryPath(); this.PublishInfo($"Saving Ledger"); StringBuilder sb = new StringBuilder(); sb.AppendLine("Key,Time,Refid,Type,Aclass,Amount,Asset,Balance,Fee"); foreach (string item in data.Keys) { LedgerInfo li = data[item]; sb.AppendLine($"{item},{li.Time},{li.Refid},{li.Type},{li.Aclass},{li.Amount},{li.Asset},{li.Balance},{li.Fee}"); } File.WriteAllText(pathLib, sb.ToString()); }
private void init() { #region Insert Test Data of Ledger studentLedger = new Dictionary <int, StudentLedger>(); //StudentNo 1. var Ledger = new List <LedgerInfo>(); // Enter Valid Data var ledger1 = new LedgerInfo { StudentNo = 1, Student = "Alex", TransDate = new DateTime(10, 02, 05, 09, 15, 00, 000), Transaction = "Payment Test 1", Debit = 150.00, Credit = 00.00 }; Ledger.Add(ledger1); // Enter Valid Data var ledger2 = new LedgerInfo { StudentNo = 1, Student = "Alex", TransDate = new DateTime(10, 03, 05, 09, 15, 00, 000), Transaction = "Payment Test 2", Debit = 350.00, Credit = 00.00 }; Ledger.Add(ledger2); // Enter Valid Data var ledger3 = new LedgerInfo { StudentNo = 1, Student = "Alex", TransDate = new DateTime(10, 04, 05, 11, 15, 00, 000), Transaction = "Payment Test 3", Debit = 0.00, Credit = 400.00 }; Ledger.Add(ledger3); // Enter Valid Data var ledger4 = new LedgerInfo { StudentNo = 1, Student = "Alex", TransDate = new DateTime(10, 06, 03, 09, 35, 00, 000), Transaction = "Payment Test 4", Debit = 510.00, Credit = 00.00 }; Ledger.Add(ledger4); // Enter Valid Data var ledger5 = new LedgerInfo { StudentNo = 1, Student = "Alex", TransDate = new DateTime(10, 07, 05, 09, 15, 00, 000), Transaction = "Payment Test 5", Debit = 0.00, Credit = 200.00 }; Ledger.Add(ledger5); // Enter Valid Data var ledger6 = new LedgerInfo { StudentNo = 1, Student = "Alex", TransDate = new DateTime(10, 02, 20, 09, 15, 00, 000), Transaction = "Payment Test 6", Debit = 0.00, Credit = 325.00 }; Ledger.Add(ledger6); var LedgerDetail = new StudentLedger(Ledger); studentLedger.Add(1, LedgerDetail); //StudentNo 2. Ledger = new List <LedgerInfo>(); for (int i = 0; i < 4; i++) { // Enter Valid Data ledger1 = new LedgerInfo { StudentNo = 2, Student = "Ben", TransDate = new DateTime(10, 02, 05, 09, 15, 00, 000), Transaction = "Payment Test " + i, Debit = 150.00, Credit = 00.00 }; Ledger.Add(ledger1); } LedgerDetail = new StudentLedger(Ledger); studentLedger.Add(2, LedgerDetail); #endregion }