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; }
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; }
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); }
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; }
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); }
public void ShouldCreateATransaction() { var transaction = new Transaction(10m, DateTime.Now, _category, "teste", _account, _property); Assert.IsNotNull(transaction); }
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); }
public TransactionToSaveDto(Transaction transaction) { UpdateTransactionData(transaction); }
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; }