Esempio n. 1
0
        public void TestN26InitialImport()
        {
            var bankAccount = CreditCardAccountRepository.InsertOrGetWithEquality(new CreditCardEntity
            {
                AccountNumber = TestConfiguration.DownloadHandler.Number26.Iban,
                BankName      = Constants.DownloadHandler.BankNameNumber26,
                AccountName   = Constants.DownloadHandler.AccountNameMasterCard
            });

            DownloadHandler.ProcessFiles(new[]
            {
                new FileParserInput
                {
                    OwningEntity        = bankAccount,
                    FileParser          = Container.ResolveKeyed <IFileParser>(Constants.UniqueContainerKeys.FileParserNumber26),
                    FilePath            = TestConfiguration.Parser.Number26Path,
                    TargetEntity        = typeof(Number26TransactionEntity),
                    Balance             = TestConfiguration.DownloadHandler.Number26.Balance,
                    BalanceSelectorFunc =
                        () =>
                        CreditCardAccountRepository.GetById(bankAccount.Id).Transactions.Sum(entity => entity.Amount)
                }
            });
            Assert.AreEqual(TestConfiguration.DownloadHandler.Number26.Count, TransactionRepository.GetAll().Count());
        }
Esempio n. 2
0
        public void TestDkbInitialImport()
        {
            var creditCard = CreditCardAccountRepository.InsertOrGetWithEquality(new CreditCardEntity
            {
                AccountNumber    = TestConfiguration.DownloadHandler.Dkb.CreditAccountNumber,
                CreditCardNumber = null,
                BankName         = Constants.DownloadHandler.BankNameDkb,
                AccountName      = Constants.DownloadHandler.AccountNameVisa
            });

            DownloadHandler.ProcessFiles(new[]
            {
                new FileParserInput
                {
                    OwningEntity         = creditCard,
                    FileParser           = Container.ResolveKeyed <IFileParser>(Constants.UniqueContainerKeys.FileParserDkbCredit),
                    FilePath             = TestConfiguration.Parser.DkbCreditPath,
                    TargetEntity         = typeof(DkbCreditTransactionEntity),
                    UniqueIdGroupingFunc = entity => ((DkbCreditTransactionEntity)entity).AvailabilityDate.Date,
                    OrderingFuncs        = new List <Func <object, object> > {
                        o => ((DkbCreditTransactionEntity)o).AvailabilityDate.Date, o => ((DkbCreditTransactionEntity)o).Text, o => ((DkbCreditTransactionEntity)o).Amount
                    },
                    Balance             = TestConfiguration.DownloadHandler.Dkb.CreditBalance,
                    BalanceSelectorFunc =
                        () =>
                        CreditCardAccountRepository.GetById(creditCard.Id).Transactions.Sum(entity => entity.Amount)
                }
            });
            Assert.AreEqual(TestConfiguration.DownloadHandler.Dkb.CreditCount, CreditTransactionRepository.GetAll().Count());

            var bankAccount = BankAccountRepository.InsertOrGetWithEquality(new BankAccountEntity
            {
                Iban        = TestConfiguration.DownloadHandler.Dkb.GiroIban,
                BankName    = Constants.DownloadHandler.BankNameDkb,
                AccountName = Constants.DownloadHandler.AccountNameGiro
            });

            DownloadHandler.ProcessFiles(new[]
            {
                new FileParserInput
                {
                    OwningEntity         = bankAccount,
                    FileParser           = Container.ResolveKeyed <IFileParser>(Constants.UniqueContainerKeys.FileParserDkbGiro),
                    FilePath             = TestConfiguration.Parser.DkbGiroPath,
                    TargetEntity         = typeof(DkbTransactionEntity),
                    UniqueIdGroupingFunc = entity => ((DkbTransactionEntity)entity).AvailabilityDate.Date,
                    OrderingFuncs        = new List <Func <object, object> > {
                        o => ((DkbTransactionEntity)o).AvailabilityDate.Date, o => ((DkbTransactionEntity)o).Text, o => ((DkbTransactionEntity)o).Amount
                    },
                    Balance             = TestConfiguration.DownloadHandler.Dkb.GiroBalance,
                    BalanceSelectorFunc =
                        () =>
                        BankAccountRepository.GetById(bankAccount.Id).Transactions.Sum(entity => entity.Amount)
                }
            });
            Assert.AreEqual(TestConfiguration.DownloadHandler.Dkb.GiroCount, TransactionRepository.GetAll().Count());
        }
Esempio n. 3
0
        public CreditCardAccountModel CreateEditCreditCard(CreditCardAccountModel model)
        {
            CreditCardEntity entity;

            //is update
            if (model.Id != default(long))
            {
                entity = CreditCardAccountRepository.GetById(model.Id);
                entity = Mapper.Map(model, entity);
            }
            else
            {
                entity = Mapper.Map <CreditCardEntity>(model);
                entity = CreditCardAccountRepository.Insert(entity);
            }
            CreditCardAccountRepository.Save();
            return(Mapper.Map <CreditCardAccountModel>(entity));
        }
Esempio n. 4
0
 public CreditCardAccountModel CreditCard(long id)
 {
     return(Mapper.Map <CreditCardAccountModel>(CreditCardAccountRepository.GetById(id)));
 }
Esempio n. 5
0
 public IEnumerable <CreditCardAccountModel> CreditCards()
 {
     return(Mapper.Map <IEnumerable <CreditCardAccountModel> >(CreditCardAccountRepository.GetAll().OrderByDescending(entity => entity.Active).ThenBy(entity => entity.BankName).ThenBy(entity => entity.AccountName)));
 }