Exemple #1
0
        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);
        }
Exemple #2
0
        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;
        }
Exemple #4
0
        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++;
            }
        }
Exemple #5
0
        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;
        }
Exemple #6
0
        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);
        }