コード例 #1
0
        protected IEnumerable <Transaction> GetExpenseModels(QifDocument doc)
        {
            var expenses = new List <Transaction>();

            AddTransactions(doc.BankTransactions, expenses, () => new BankTransaction());
            AddTransactions(doc.CreditCardTransactions, expenses, () => new CreditCardTransaction());

            return(expenses);
        }
コード例 #2
0
        private QifDocument GetQif(string filePath)
        {
            QifDocument doc;

            using (var stream = File.Open(filePath, FileMode.Open))
            {
                doc = QifDocument.Load(stream);
            }
            return(doc);
        }
コード例 #3
0
ファイル: MainUI.cs プロジェクト: Palpid/qif
        public MainUI()
        {
            InitializeComponent();
            var fileName = Path.GetDirectoryName(Application.ExecutablePath) + "\\sample.qif";

            using (StreamReader sr = new StreamReader(fileName))
            {
                qifDomPropertyGrid.SelectedObject = QifDocument.Load(sr);
            }
        }
コード例 #4
0
 private void importButton_Click(object sender, EventArgs e)
 {
     if (openFileDialog.ShowDialog(this) == DialogResult.OK)
     {
         string fileName = openFileDialog.FileName;
         using (StreamReader sr = new StreamReader(fileName))
         {
             qif       = QifDocument.Load(sr);
             this.Text = "QIF Inspector - " + Path.GetFileName(fileName);
         }
         PopulateTree();
     }
 }
コード例 #5
0
ファイル: MainUI.cs プロジェクト: Palpid/qif
 private void importButton_Click(object sender, EventArgs e)
 {
     if (ConfirmOverwrite())
     {
         if (openFileDialog.ShowDialog(this) == DialogResult.OK)
         {
             string fileName = openFileDialog.FileName;
             using (StreamReader sr = new StreamReader(fileName))
             {
                 qifDomPropertyGrid.SelectedObject = QifDocument.Load(sr);
             }
         }
     }
 }
コード例 #6
0
        private void MainUI_Load(object sender, EventArgs e)
        {
            var fileName = Path.GetDirectoryName(Application.ExecutablePath) + "\\sample.qif";

            if (File.Exists(fileName))
            {
                using (StreamReader sr = new StreamReader(fileName))
                {
                    qif       = QifDocument.Load(sr);
                    this.Text = "QIF Inspector - " + Path.GetFileName(fileName);
                }
                PopulateTree();
            }
        }
コード例 #7
0
ファイル: MainUI.cs プロジェクト: Palpid/qif
        private void exportButton_Click(object sender, EventArgs e)
        {
            if (saveFileDialog.ShowDialog(this) == DialogResult.OK)
            {
                QifDocument qif      = (QifDocument)qifDomPropertyGrid.SelectedObject;
                string      fileName = saveFileDialog.FileName;
                using (StreamWriter writer = new StreamWriter(fileName))
                {
                    writer.AutoFlush = true;

                    qif.Save(writer);
                }
                MessageBox.Show(this, "The export is complete.", "Complete", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
コード例 #8
0
        public bool Save(TransactionCollection transactions, string filePath)
        {
            bool success = true;

            try
            {
                QifDocument doc = GetQifDocument(transactions);

                using (FileStream stream = File.Open(filePath, FileMode.OpenOrCreate))
                {
                    doc.Save(stream);
                }
            }
            catch (Exception ex)
            {
                Logger.Logs.Instance.Log(ex);
                success = false;
            }
            return(success);
        }
コード例 #9
0
        private QifDocument GetQifDocument(TransactionCollection transactions)
        {
            QifDocument qif = new QifDocument();

            foreach (Transaction transaction in transactions)
            {
                if (!transaction.Included)
                {
                    continue;
                }

                if (transaction is BankTransaction)
                {
                    qif.BankTransactions.Add(GetBasicTransaction(transaction));
                }
                else if (transaction is CreditCardTransaction)
                {
                    qif.CreditCardTransactions.Add(GetBasicTransaction(transaction));
                }
            }
            return(qif);
        }
コード例 #10
0
ファイル: UnhandledTypeParser.cs プロジェクト: jeffjl74/qif
 /// <summary>
 /// Adds the current <see cref="UnhandledTypeTransaction"/> to the passed <see cref="QifDocument"/>
 /// </summary>
 /// <param name="document"><see cref="QifDocument"/> to which the transaction is added</param>
 public void Yield(QifDocument document)
 {
     document.AddTransaction(GetType().Name, item);
     item = new UnhandledTypeTransaction();
 }
コード例 #11
0
 public void Yield(QifDocument document)
 {
     document.AccountListTransactions.Add(item);
     item = new AccountListTransaction();
 }
コード例 #12
0
 public void Yield(QifDocument document)
 {
     document.MemorizedTransactionListTransactions.Add(item);
     item = new MemorizedTransactionListTransaction();
 }
コード例 #13
0
 public void Yield(QifDocument document)
 {
     document.AddTransaction(GetType().Name, item);
     item = new MemorizedTransactionListTransaction();
 }
コード例 #14
0
ファイル: InvestmentParser.cs プロジェクト: Palpid/qif
 public void Yield(QifDocument document)
 {
     document.InvestmentTransactions.Add(item);
     item = new InvestmentTransaction();
 }
コード例 #15
0
ファイル: BasicTransactionParser.cs プロジェクト: Palpid/qif
 public abstract void Yield(QifDocument document);
コード例 #16
0
ファイル: LiabilityParser.cs プロジェクト: jeffjl74/qif
 public override void Yield(QifDocument document)
 {
     document.AddTransaction(GetType().Name, Item);
     Item = new BasicTransaction();
 }
コード例 #17
0
 public void Yield(QifDocument document)
 {
     document.AddTransaction(GetType().Name, item);
     item = new CategoryListTransaction();
 }
コード例 #18
0
 /// <summary>
 /// Adds the current <see cref="SecurityTransaction"/> to the passed <see cref="QifDocument"/>
 /// </summary>
 /// <param name="document"><see cref="QifDocument"/> to which the transaction is added</param>
 public void Yield(QifDocument document)
 {
     document.AddTransaction(GetType().Name, item);
     item = new SecurityTransaction();
 }
コード例 #19
0
ファイル: InvestmentParser.cs プロジェクト: jeffjl74/qif
 public void Yield(QifDocument document)
 {
     document.AddTransaction(GetType().Name, item);
     item = new InvestmentTransaction();
 }
コード例 #20
0
 /// <summary>
 /// Adds the current <see cref="PriceRecord"/> to the passed <see cref="QifDocument"/>
 /// </summary>
 /// <param name="document"><see cref="QifDocument"/> to which the transaction is added</param>
 public void Yield(QifDocument document)
 {
     document.AddTransaction(GetType().Name, item);
     item = new PriceRecord();
 }
コード例 #21
0
 public void Yield(QifDocument document)
 {
     document.ClassListTransactions.Add(item);
     item = new ClassListTransaction();
 }
コード例 #22
0
ファイル: CashParser.cs プロジェクト: Palpid/qif
 public override void Yield(QifDocument document)
 {
     document.CashTransactions.Add(Item);
     Item = new BasicTransaction();
 }
コード例 #23
0
        public IEnumerable <Transaction> Load(string filePath)
        {
            QifDocument doc = GetQif(filePath);

            return(GetExpenseModels(doc));
        }