private DataGridViewRow CreateRow(Ledger.Transaction tx) { object[] rowobj = { EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(tx.utctime), tx.jtype.ToString().SplitCapsWord(), tx.notes, (tx.cashadjust > 0) ? tx.cashadjust.ToString("N0") : "", (tx.cashadjust < 0) ? (-tx.cashadjust).ToString("N0") : "", tx.cash.ToString("N0"), (tx.profitperunit != 0) ? tx.profitperunit.ToString("N0") : "" }; var row = dataGridViewLedger.RowTemplate.Clone() as DataGridViewRow; row.CreateCells(dataGridViewLedger, rowobj); row.Tag = tx.jid; return(row); }
private void Display(Ledger mc) { DataGridViewColumn sortcol = dataGridViewLedger.SortedColumn != null ? dataGridViewLedger.SortedColumn : dataGridViewLedger.Columns[0]; SortOrder sortorder = dataGridViewLedger.SortOrder; dataGridViewLedger.Rows.Clear(); bool utctime = EDDiscoveryForm.EDDConfig.DisplayUTC; current_mc = mc; labelNoItems.Visible = true; if (mc != null && mc.Transactions.Count > 0) { var filter = (TravelHistoryFilter)comboBoxHistoryWindow.SelectedItem ?? TravelHistoryFilter.NoFilter; List <Ledger.Transaction> filteredlist = filter.Filter(mc.Transactions); filteredlist = FilterByJournalEvent(filteredlist, SQLiteDBClass.GetSettingString(DbFilterSave, "All")); if (filteredlist.Count > 0) { for (int i = filteredlist.Count - 1; i >= 0; i--) { Ledger.Transaction tx = filteredlist[i]; object[] rowobj = { utctime?tx.utctime : tx.utctime.ToLocalTime(), tx.jtype.ToString().SplitCapsWord(), tx.notes, (tx.cashadjust > 0) ? tx.cashadjust.ToString("N0") : "", (tx.cashadjust < 0) ? (-tx.cashadjust).ToString("N0") : "", tx.cash.ToString("N0"), (tx.profitperunit != 0) ? tx.profitperunit.ToString("N0") : "" }; dataGridViewLedger.Rows.Add(rowobj); dataGridViewLedger.Rows[dataGridViewLedger.Rows.Count - 1].Tag = tx.jid; } StaticFilters.FilterGridView(dataGridViewLedger, textBoxFilter.Text); labelNoItems.Visible = false; } } dataGridViewLedger.Columns[0].HeaderText = utctime ? "Game Time" : "Time"; dataGridViewLedger.Sort(sortcol, (sortorder == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending); dataGridViewLedger.Columns[sortcol.Index].HeaderCell.SortGlyphDirection = sortorder; }
private void Display(Ledger mc) { DataGridViewColumn sortcol = dataGridViewLedger.SortedColumn != null ? dataGridViewLedger.SortedColumn : dataGridViewLedger.Columns[0]; SortOrder sortorder = dataGridViewLedger.SortOrder != SortOrder.None ? dataGridViewLedger.SortOrder : SortOrder.Descending; dataGridViewLedger.Rows.Clear(); current_mc = mc; if (mc != null && mc.Transactions.Count > 0) { var filter = (TravelHistoryFilter)comboBoxHistoryWindow.SelectedItem ?? TravelHistoryFilter.NoFilter; List <Ledger.Transaction> filteredlist = filter.Filter(mc.Transactions); filteredlist = FilterByJournalEvent(filteredlist, EliteDangerousCore.DB.UserDatabase.Instance.GetSettingString(DbFilterSave, "All")); if (filteredlist.Count > 0) { var rowsToAdd = new List <DataGridViewRow>(filteredlist.Count); for (int i = filteredlist.Count - 1; i >= 0; i--) { Ledger.Transaction tx = filteredlist[i]; object[] rowobj = { EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(tx.utctime), tx.jtype.ToString().SplitCapsWord(), tx.notes, (tx.cashadjust > 0) ? tx.cashadjust.ToString("N0") : "", (tx.cashadjust < 0) ? (-tx.cashadjust).ToString("N0") : "", tx.cash.ToString("N0"), (tx.profitperunit != 0) ? tx.profitperunit.ToString("N0") : "" }; var row = dataGridViewLedger.RowTemplate.Clone() as DataGridViewRow; row.CreateCells(dataGridViewLedger, rowobj); row.Tag = tx.jid; rowsToAdd.Add(row); } dataGridViewLedger.Rows.AddRange(rowsToAdd.ToArray()); dataGridViewLedger.FilterGridView(textBoxFilter.Text); } } dataGridViewLedger.Columns[0].HeaderText = EDDiscoveryForm.EDDConfig.GetTimeTitle(); dataGridViewLedger.Sort(sortcol, (sortorder == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending); dataGridViewLedger.Columns[sortcol.Index].HeaderCell.SortGlyphDirection = sortorder; }
private void NewEntry(HistoryEntry he, HistoryList hl) { while (transactioncountatdisplay < discoveryform.history.CashLedger.Transactions.Count) // if new transaction { Ledger.Transaction tx = discoveryform.history.CashLedger.Transactions[transactioncountatdisplay]; string evstring = GetSetting(dbFilter, "All"); if (evstring.Equals("All") || tx.IsJournalEventInEventFilter(evstring.Split(';'))) // if in filter.. { var row = CreateRow(tx); bool visible = false; if (textBoxFilter.Text.HasChars()) // if we are text filtering.. { foreach (DataGridViewCell cell in row.Cells) { if (cell.Value != null) { if (cell.Value.ToString().IndexOf(textBoxFilter.Text, 0, StringComparison.CurrentCultureIgnoreCase) >= 0) { visible = true; break; } } } } else { visible = true; } row.Visible = visible; // searching on this panel sets the visibility flag dataGridViewLedger.Rows.Insert(0, row); // insert at top } transactioncountatdisplay++; } }
private void Display() { DataGridViewColumn sortcol = dataGridViewLedger.SortedColumn != null ? dataGridViewLedger.SortedColumn : dataGridViewLedger.Columns[0]; SortOrder sortorder = dataGridViewLedger.SortOrder != SortOrder.None ? dataGridViewLedger.SortOrder : SortOrder.Descending; dataGridViewLedger.Rows.Clear(); var mc = discoveryform.history.CashLedger; transactioncountatdisplay = 0; if (mc != null && mc.Transactions.Count > 0) { var filter = (TravelHistoryFilter)comboBoxTime.SelectedItem ?? TravelHistoryFilter.NoFilter; List <Ledger.Transaction> filteredlist = filter.Filter(mc.Transactions); filteredlist = FilterByJournalEvent(filteredlist, GetSetting(dbFilter, "All")); if (filteredlist.Count > 0) { var rowsToAdd = new List <DataGridViewRow>(filteredlist.Count); for (int i = filteredlist.Count - 1; i >= 0; i--) { Ledger.Transaction tx = filteredlist[i]; rowsToAdd.Add(CreateRow(tx)); } dataGridViewLedger.Rows.AddRange(rowsToAdd.ToArray()); dataGridViewLedger.FilterGridView(textBoxFilter.Text); } transactioncountatdisplay = mc.Transactions.Count; } dataGridViewLedger.Columns[0].HeaderText = EDDConfig.Instance.GetTimeTitle(); dataGridViewLedger.Sort(sortcol, (sortorder == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending); dataGridViewLedger.Columns[sortcol.Index].HeaderCell.SortGlyphDirection = sortorder; }
public override bool ExecuteAction(ActionProgramRun ap) { string res; if (ap.functions.ExpandString(UserData, out res) != BaseUtils.Functions.ExpandResult.Failed) { StringParser sp = new StringParser(res); string prefix = "L_"; string cmdname = sp.NextWord(); if (cmdname != null && cmdname.Equals("PREFIX", StringComparison.InvariantCultureIgnoreCase)) { prefix = sp.NextWord(); if (prefix == null) { ap.ReportError("Missing name after Prefix in Ledger"); return(true); } cmdname = sp.NextWord(); } bool nextvalidentry = false; if (cmdname != null && cmdname.Equals("ATORBEFORE", StringComparison.InvariantCultureIgnoreCase)) { nextvalidentry = true; // means, find next ledger entry BEFORE this JID.. cmdname = sp.NextWord(); } if (cmdname != null) { long jid; if (!cmdname.InvariantParse(out jid)) { ap.ReportError("Non integer JID in Ledger"); return(true); } Ledger ml = (ap.actioncontroller as ActionController).HistoryList.cashledger; Ledger.Transaction tx = ml.Transactions.Find(x => x.jid == jid); // try and find it in the ledger int jidindex = (ap.actioncontroller as ActionController).HistoryList.EntryOrder.FindIndex(x => x.Journalid == jid); // find it in the journal if (tx == null && nextvalidentry) // if not directly found.. { while (jidindex > 0) // go back, to 0. if jidindex is -1 above, nothing happens { jidindex--; // predec so we don't test first one jid = (ap.actioncontroller as ActionController).HistoryList.EntryOrder[jidindex].Journalid; tx = ml.Transactions.Find(x => x.jid == jid); if (tx != null) { break; } } } if (tx == null) { ap.ReportError("Cannot find entry in Ledger"); return(true); } ap[prefix + "JID"] = jid.ToString(System.Globalization.CultureInfo.InvariantCulture); ap[prefix + "IndexOf"] = (ap.actioncontroller as ActionController).HistoryList.EntryOrder[jidindex].Indexno.ToString(System.Globalization.CultureInfo.InvariantCulture); ap[prefix + "UTCTime"] = tx.utctime.ToStringUS(); ap[prefix + "EntryType"] = tx.jtype.ToString(); ap[prefix + "Notes"] = tx.notes; ap[prefix + "Value"] = tx.cashadjust.ToString(System.Globalization.CultureInfo.InvariantCulture); ap[prefix + "PPU"] = tx.profitperunit.ToString(System.Globalization.CultureInfo.InvariantCulture); ap[prefix + "Credits"] = tx.cash.ToString(System.Globalization.CultureInfo.InvariantCulture); } else { ap.ReportError("Missing JID in Ledger"); } } else { ap.ReportError(res); } return(true); }