public IActionResult Pay([FromBody] PayRequest request)
        {
            Operation pay = new Operation()
            {
                Id_Invoice = request.Id_Invoice,
                Amount     = request.Amount,
                Date       = DateTime.Now
            };

            pay = _operationService.Pay(pay);

            var payCommand = new PayCreateCommand(
                idOperation: pay.Id_Operation,
                idInvoice: pay.Id_Invoice,
                amount: pay.Amount,
                date: pay.Date
                );

            _bus.SendCommand(payCommand);

            var transactionCommand = new TransactionCreateCommand(
                idTransaction: pay.Id_Operation,
                idInvoice: pay.Id_Invoice,
                amount: pay.Amount,
                date: pay.Date
                );

            _bus.SendCommand(transactionCommand);

            return(Ok());
        }
        public IActionResult Post([FromBody] PaymentRequest request)
        {
            Model.Pay pay = new Model.Pay()
            {
                Amount    = request.Amount,
                InvoiceId = request.InvoiceId,
                Date      = DateTime.Now
            };

            _service.AddPay(pay);


            //RABBITMQ

            var paymentCommand = new PaymentCreateCommand(
                transactionId: pay.TransactionId,
                invoiceId: pay.InvoiceId,
                amount: pay.Amount,
                date: pay.Date
                );

            _bus.SendCommand(paymentCommand);

            var transactionCommand = new TransactionCreateCommand(
                transactionId: pay.TransactionId,
                invoiceId: pay.InvoiceId,
                amount: pay.Amount,
                date: pay.Date
                );

            _bus.SendCommand(transactionCommand);


            return(Ok());
        }
        public CreateResponse Post(TransactionCreateCommand command)
        {
            var transaction = new Transaction
            {
                Id = Guid.NewGuid(),
                Amount = command.Amount,
                Description = command.Description,
                Date = command.Date,
                TransactionType = command.TransactionType,
            };

            repositoryUnitOfWork.Transactions.Create(transaction);

            // create budget to transaction relationship
            repositoryUnitOfWork.Budgets.AddTransactionToBudget(transaction.Id, command.BudgetId);

            // create category to transaction relationship
            repositoryUnitOfWork.Categories.AddTransactionToCategory(transaction.Id, command.CategoryId);

            return new CreateResponse { Id = transaction.Id };
        }