Exemplo n.º 1
0
 public TransactionListItemDto(Transaction transaction)
 {
     Id = transaction.Id;
     Value = transaction.Value;
     Date = transaction.Date.ToBrString();
     Description = transaction.Description;
     CategoryName = transaction.Category.Name;
     AccountName = transaction.Account.Name;
 }
Exemplo n.º 2
0
        public Transaction Save(int propertyId, TransactionToSaveDto transactionDto)
        {
            var property = _propertyRepository.Get(propertyId);
            var account = _accountRepository.Get(transactionDto.AccountId);
            var category = _categoryRepository.Get(transactionDto.CategoryId);

            var transactionData = new Transaction(transactionDto.Value, transactionDto.Date.ToDate(), category, transactionDto.Description, account, property);

            var transaction = _transactionRepository.Get(transactionDto.Id);
            if (transaction.Id == 0)
                transaction = _transactionRepository.Add(transactionData);
            else
                _transactionRepository.Update(transactionData, transactionDto.Id);

            return transaction;
        }
Exemplo n.º 3
0
        public TransactionToSaveDto(IEnumerable<Category> categories, IEnumerable<Account> accounts, Transaction transaction)
        {
            Id = 0;
            Date = DateTime.Today.ToUsString();
            TransformCategories(categories);
            TransformAccounts(accounts);

            if(Categories.Count > 0)
                CategoryId = Categories.FirstOrDefault().Id;

            if(Accounts.Count > 0)
                AccountId = Accounts.FirstOrDefault().Id;

            if (transaction != null && transaction.Id != 0)
                UpdateTransactionData(transaction);
        }
Exemplo n.º 4
0
        public Transaction Build()
        {
            if (_value == 0)
                _value = 10m;

            if (_property == null)
                _property = PropertyBuilder.AProperty().Build();

            if (_category == null)
                _category = CategoryBuilder.ACategory().WithTransactiontype(_type).WithProperty(_property).Build();

            if (_account == null)
                _account = AccountBuilder.AnAccount().WithProperty(_property).Build();

            if (string.IsNullOrEmpty(_description))
                _description = "test";

            var transaction = new Transaction(_value, _date, _category, _description, _account, _property) {Id = _id};

            return transaction;
        }
Exemplo n.º 5
0
        public static void FillSampleData(IRepositoryFactory repositoryFactory)
        {
            var propertyRepository = repositoryFactory.GetPropertyRepository();
            var userRepository = repositoryFactory.GetUserRepository();
            var accountRepository = repositoryFactory.GetAccountRepository();
            var categoryRepository = repositoryFactory.GetCategoryRepository();
            var transactionRepository = repositoryFactory.GetTransactionRepository();

            var property = new Property("property");
            var user = new User("name", "username", "40bd001563085fc35165329ea1ff5c5ecbdbbeef", property);
            user.AddProperty(property);
            var account = new Account("account", property);
            var creditCategory = new Category("credit", property, TransactionType.Credit);
            var creditTransferCategory = new Category("credit transfer", property, TransactionType.CreditTransfer);
            var debitCategory = new Category("debit", property, TransactionType.Debit);
            var debitTransferCategory = new Category("debit transfer", property, TransactionType.DebitTransfer);
            var creditTransaction = new Transaction(40.3m, DateTime.Today, creditCategory, " crédito ", account, property);
            var debitTransaction = new Transaction(10.89m, DateTime.Today, debitCategory, "débito ", account, property);
            var creditTransferTransaction = new Transaction(10.32m, DateTime.Today, creditTransferCategory, "transaferencia de credito ", account, property);
            var debitTransferTransaction = new Transaction(10.32m, DateTime.Today, debitTransferCategory, "transaferencia de débito ", account, property);

            if (propertyRepository.GetAll().Count != 0)
                return;

            propertyRepository.Add(property);
            userRepository.Add(user);
            accountRepository.Add(account);
            categoryRepository.Add(creditCategory);
            categoryRepository.Add(creditTransferCategory);
            categoryRepository.Add(debitCategory);
            categoryRepository.Add(debitTransferCategory);
            transactionRepository.Add(creditTransaction);
            transactionRepository.Add(debitTransaction);
            transactionRepository.Add(debitTransferTransaction);
            transactionRepository.Add(creditTransferTransaction);
        }
Exemplo n.º 6
0
 public void ShouldCreateATransaction()
 {
     var transaction = new Transaction(10m, DateTime.Now, _category, "teste", _account, _property);
     Assert.IsNotNull(transaction);
 }
Exemplo n.º 7
0
        public void Transfer(TransferToSaveDto transferData, int propertyId)
        {
            var creditCategory = _categoryRepository.GetCreditTransferCategory(propertyId);
            var debitCategory = _categoryRepository.GetDebitTransferCategory(propertyId);
            var originAccount = _accountRepository.Get(transferData.OriginAccountId);
            var destinyAccount = _accountRepository.Get((transferData.DestinyAccountId));
            var property = _propertyRepository.Get(propertyId);

            var creditTransaction = new Transaction(transferData.Value, transferData.Date.ToDate(), creditCategory, transferData.Description, destinyAccount, property);
            var debitTransaction = new Transaction(transferData.Value, transferData.Date.ToDate(), debitCategory, transferData.Description, originAccount, property);

            _transactionRepository.Add(creditTransaction);
            _transactionRepository.Add(debitTransaction);
        }
Exemplo n.º 8
0
 public TransactionToSaveDto(Transaction transaction)
 {
     UpdateTransactionData(transaction);
 }
Exemplo n.º 9
0
 private void UpdateTransactionData(Transaction transaction)
 {
     Id = transaction.Id;
     Value = transaction.Value;
     Date = transaction.Date.ToUsString();
     Description = transaction.Description;
     CategoryId = transaction.Category.Id;
     AccountId = transaction.Account.Id;
 }