예제 #1
0
        private List <ApiOperation> Import(int bankId, List <string> lines)
        {
            var ignored = Schematics.Where(t => t.Type.Id == 1);

            var importFactory = ImportFactory.GetFactory(GetBanks(bankId).Name);
            var importer      = importFactory.CreateImporter();
            var transactions  = new List <Transaction>();

            transactions.AddRange(importer.ReadTransactions(lines));

            foreach (var ignoredItem in ignored)
            {
                if (ignoredItem.Context.DescriptionRegex == "")
                {
                    ignoredItem.Context.DescriptionRegex = ".*";
                }

                if (ignoredItem.Context.TitleRegex == "")
                {
                    ignoredItem.Context.TitleRegex = ".*";
                }

                transactions = transactions.Where(t => !Regex.Match(t.ContractorData, ignoredItem.Context.DescriptionRegex).Success || !Regex.Match(t.Title, ignoredItem.Context.TitleRegex).Success).ToList();
            }

            transactions.Reverse();
            var mapper = new TransactionsToApiOperationsMapper();

            mapper.setSchematics(Schematics.Where(t => t.Type.Id == 2));
            var a = mapper.ConvertToEntitiesCollection(transactions, User, Importances, Frequencies, Tags, TransactionTypes, TransferTypes).ToList();

            return(a);
        }
예제 #2
0
        public Task <Schematic> CreateSchematicAsync(Schematic schematic, string forkedFrom, CancellationToken cancellationToken)
        {
            Schematics.Add(schematic.SchematicName, schematic);

            var machineRecord = Schematics[schematic.SchematicName];

            return(Task.FromResult(machineRecord));
        }
예제 #3
0
 public void InsertSchematic(Schematic schematic)
 {
     Schematics.Add(schematic);
 }