/// <summary>
        /// Create a Wallet Journal Entry by parsing a single row
        /// </summary>
        /// <param name="walletJournalRow">Xml Wallet Journal Entry</param>
        /// <returns>Populated object</returns>
        private static WalletJournal.WalletJournalItem ParseTransactionRow(XmlNode walletJournalRow)
        {
            WalletJournal.WalletJournalItem entryItem = new WalletJournal.WalletJournalItem();

            entryItem.Date       = TimeUtilities.ConvertCCPTimeStringToDateTimeUTC(walletJournalRow.Attributes["date"].InnerText);
            entryItem.DateLocal  = TimeUtilities.ConvertCCPToLocalTime(entryItem.Date);
            entryItem.RefId      = Convert.ToInt32(walletJournalRow.Attributes["refID"].InnerText, CultureInfo.InvariantCulture);
            entryItem.RefTypeId  = Convert.ToInt32(walletJournalRow.Attributes["refTypeID"].InnerText, CultureInfo.InvariantCulture);
            entryItem.OwnerName1 = walletJournalRow.Attributes["ownerName1"].InnerText;
            entryItem.OwnerId1   = Convert.ToInt32(walletJournalRow.Attributes["ownerID1"].InnerText, CultureInfo.InvariantCulture);
            entryItem.OwnerName2 = walletJournalRow.Attributes["ownerName2"].InnerText;
            entryItem.OwnerId2   = Convert.ToInt32(walletJournalRow.Attributes["ownerID2"].InnerText, CultureInfo.InvariantCulture);
            entryItem.ArgName1   = walletJournalRow.Attributes["argName1"].InnerText;
            entryItem.ArgId1     = Convert.ToInt32(walletJournalRow.Attributes["argID1"].InnerText, CultureInfo.InvariantCulture);
            entryItem.Amount     = Convert.ToDouble(walletJournalRow.Attributes["amount"].InnerText, CultureInfo.InvariantCulture);
            entryItem.Balance    = Convert.ToDouble(walletJournalRow.Attributes["balance"].InnerText, CultureInfo.InvariantCulture);
            entryItem.Reason     = walletJournalRow.Attributes["reason"].InnerText;

            //These are only present in the corp version
            if (walletJournalRow.Attributes.GetNamedItem("taxReceiverID") != null)
            {
                if (walletJournalRow.Attributes["taxAmount"].InnerText.CompareTo(string.Empty) != 0)
                {
                    entryItem.TaxRecieverID = Convert.ToInt32(walletJournalRow.Attributes["taxReceiverID"].InnerText, CultureInfo.InvariantCulture);
                }
                else
                {
                    entryItem.TaxRecieverID = 0;
                }
            }
            if (walletJournalRow.Attributes.GetNamedItem("taxAmount") != null)
            {
                if (walletJournalRow.Attributes["taxAmount"].InnerText.CompareTo(string.Empty) != 0)
                {
                    entryItem.TaxAmount = Convert.ToDecimal(walletJournalRow.Attributes["taxAmount"].InnerText, CultureInfo.InstalledUICulture);
                }
                else
                {
                    entryItem.TaxAmount = 0;
                }
            }


            return(entryItem);
        }
        public void GetCorpWalletJournalTest()
        {
            WalletJournal walletJournal = EveApi.GetWalletJournal(WalletJournalType.Corporation, 0, 0, "apiKey");

            WalletJournal.WalletJournalItem journalEntry = walletJournal.WalletJournalItems[0];
            Assert.AreEqual(new DateTime(2008, 08, 22, 03, 36, 00), journalEntry.Date);
            Assert.AreEqual(1578932679, journalEntry.RefId);
            Assert.AreEqual(54, journalEntry.RefTypeId);
            Assert.AreEqual("corpslave", journalEntry.OwnerName1);
            Assert.AreEqual(150337897, journalEntry.OwnerId1);
            Assert.AreEqual("Secure Commerce Commission", journalEntry.OwnerName2);
            Assert.AreEqual(1000132, journalEntry.OwnerId2);
            Assert.AreEqual("", journalEntry.ArgName1);
            Assert.AreEqual(0, journalEntry.ArgId1);
            Assert.AreEqual(-8396.99, journalEntry.Amount);
            Assert.AreEqual(576336941.61, journalEntry.Balance);
            Assert.AreEqual("", journalEntry.Reason);
        }