private IEnumerable <BankTransaction> RemoveDuplicates(IEnumerable <BankTransactionViewModel> listOfViewModels, List <BankTransaction> bankTransactions)
        {
            var listWithoutDuplicates = listOfViewModels.Distinct(new BankTransactionViewModelEqualityComparer());

            bankTransactions.AddRange(listWithoutDuplicates.Select(vm =>
                                                                   _bankTransactionFactory.CreateBankTransactionWith(
                                                                       vm.Description,
                                                                       vm.Date,
                                                                       vm.Value,
                                                                       vm.Type))
                                      );

            var addedBankTransactions = _bankTransactionRepository.GetAll();

            return(bankTransactions.Where(bt => !addedBankTransactions.Any(addedBt => addedBt.Description.Trim() == bt.Description.Trim() &&
                                                                           addedBt.Date == bt.Date &&
                                                                           addedBt.Type == bt.Type &&
                                                                           addedBt.Value == bt.Value)));
        }
Example #2
0
 public List <BankTransaction> Get()
 {
     return(_repository.GetAll().ToList());
 }