Пример #1
0
        private IEnumerable <Transaction> Import(string fileName)
        {
            var retValue   = new List <Transaction>();
            var separators = new[] { "\",\"" };

            try
            {
                OpenFileStream(fileName);

                // First line is a header...
                ReadLine();

                while (!IsAtEndOfStream())
                {
                    var values      = ReadLine().ToUpper().Split(separators, 9, StringSplitOptions.None);
                    var transaction = ProcessLine(values);

                    if (!mSettingsService.Settings.AdministeredAccounts.Contains(transaction.Account))
                    {
                        continue;
                    }

                    if (mTransactionDataService.Add(transaction))
                    {
                        mImported++;
                        retValue.Add(transaction);
                    }
                    else
                    {
                        mDuplicate++;
                    }
                    SignalDataProcessed();
                }
            }
            catch (Exception e)
            {
                mLogFile.Error($"Unable to import {fileName}. The following exception occurred: {e.Message}");
            }

            return(retValue);
        }