private static ExpensifyOutputRecord[] FormatExpensifyOutputRecords(List <ExpensifyRecord> recordList)
        {
            List <ExpensifyOutputRecord> outputRecords = new List <ExpensifyOutputRecord>();

            const string doxString =
                "<img src='/Images/Icons/iconshock-search-256px.png' onmouseover=\"this.src='/Images/Icons/iconshock-search-hot-256px.png';\" onmouseout=\"this.src='/Images/Icons/iconshock-search-256px.png';\" firstDocId='{0}' class='LocalIconViewDoc' style='cursor:pointer' height='20' width='20' />";

            const string editString =
                "<img src='/Images/Icons/iconshock-wrench-128x96px-centered.png' height='18' width='24' class='LocalEditExpenseClaim' data-guid='{0}' />";

            foreach (ExpensifyRecord record in recordList)
            {
                ExpensifyOutputRecord newRecord = new ExpensifyOutputRecord
                {
                    Description     = record.CategoryCustom + " / " + record.Description,
                    CreatedDateTime = record.Timestamp.ToString("MMM dd"),
                    Amount          = (record.AmountCents / 100.0).ToString("N2"),
                    AmountVat       = (record.VatCents / 100.0).ToString("N2"),
                    Actions         =
                        String.Format(doxString,
                                      "D" + record.Documents[0].Identity.ToString(CultureInfo.InvariantCulture)) +
                        String.Format(editString, record.Guid),
                    Guid = record.Guid
                };

                if (record.BudgetId != 0)
                {
                    FinancialAccount account = FinancialAccount.FromIdentity(record.BudgetId);
                    newRecord.BudgetText = account.Name;

                    if (account.ParentIdentity != 0)
                    {
                        newRecord.BudgetText = account.Parent.Name + " &raquo; " + account.Name;
                    }
                }
                else
                {
                    newRecord.BudgetText =
                        "<span class='LocalEditExpenseClaim' data-guid='" + record.Guid + "'>" +
                        Resources.Global.Global_DropInits_SelectFinancialAccount + "</span>";
                }

                outputRecords.Add(newRecord);
            }

            return(outputRecords.ToArray());
        }
        private static ExpensifyOutputRecord[] FormatExpensifyFooter(List <ExpensifyRecord> recordList)
        {
            Int64 amountCentsTotal = 0;
            Int64 vatCentsTotal    = 0;

            foreach (ExpensifyRecord record in recordList)
            {
                amountCentsTotal += record.AmountCents;
                vatCentsTotal    += record.VatCents;
            }

            ExpensifyOutputRecord newRecord = new ExpensifyOutputRecord
            {
                Amount     = "<span class='weight-more-emphasis'>" + (amountCentsTotal / 100.0).ToString("N2") + "</span>",
                AmountVat  = "<span class='weight-more-emphasis'>" + (vatCentsTotal / 100.0).ToString("N2") + "</span>",
                BudgetText = "<span class='weight-more-emphasis'>" + Resources.Global.Global_Total.ToUpperInvariant() + "</span>"
            };

            List <ExpensifyOutputRecord> listResult = new List <ExpensifyOutputRecord>();

            listResult.Add(newRecord);

            return(listResult.ToArray());
        }