Beispiel #1
0
        public object updateTransactions(TransactionEditDto transactionEditDto)
        {
            string       sql = "update transaction set transactionName=@transactionName, transactionAmount=@transactionAmount, transactionNote=@transactionNote, transactionDate=@transactionDate, categoryId=@categoryId  where transactionId=@transactionId";
            MySqlCommand updateTransaction = new MySqlCommand(sql);

            updateTransaction.Parameters.AddWithValue("@transactionName", transactionEditDto.transactionName);
            updateTransaction.Parameters.AddWithValue("@transactionAmount", transactionEditDto.transactionAmount);
            updateTransaction.Parameters.AddWithValue("@transactionNote", transactionEditDto.transactionNote);
            updateTransaction.Parameters.AddWithValue("@transactionDate", transactionEditDto.transactionDate);
            updateTransaction.Parameters.AddWithValue("@categoryId", transactionEditDto.categoryId);

            updateTransaction.Parameters.AddWithValue("@transactionId", transactionEditDto.transactionId);

            int row = dBAccess.executeQuery(updateTransaction);

            if (row < 0)
            {
                throw new Exception();
            }
            else
            {
                SuccessResponse successResponse = new SuccessResponse();
                return(successResponse);
            }
        }
        public EditTransaction(TransactionHome transactionHome, TransactionEditDto transactionEdit)
        {
            InitializeComponent();
            transactionController = new TransactionController(transactionService);
            categoryController    = new CategoryController(categoryService);
            _transactionHome      = transactionHome;
            //  this.FormClosing += new FormClosingEventHandler(this.EditTransactionClosing);

            this.transactionEditDto = transactionEdit;
            transactionName.Text    = transactionEdit.transactionName;
            transactionAmount.Text  = (transactionEdit.transactionAmount).ToString();
            transactionNote.Text    = transactionEdit.transactionNote;
            dateTimePicker1.Value   = transactionEdit.transactionDate;
            this.transactionId      = int.Parse(transactionEdit.transactionId);
            MySqlDataReader reader = categoryController.getAllCategories();

            while (reader.Read())
            {
                comboBox1.Items.Add(new KeyValuePair <string, int>(reader["categoryName"].ToString(), reader.GetInt32("categoryId")));

                comboBox1.DisplayMember = "key";
                comboBox1.ValueMember   = "value";
            }
            reader.Close();
            comboBox1.Text = transactionEdit.categoryName;
        }
 public async Task CreateOrUpdateTransaction(TransactionEditDto input)
 {
     if (input.Id.HasValue)
     {
         await UpdateTransactionAsync(input);
     }
     else
     {
         await InsertTransactionAsync(input);
     }
 }
        private async Task UpdateTransactionAsync(TransactionEditDto input)
        {
            var tenantId    = AbpSession.TenantId;
            var transaction = await _transactionRepository.FirstOrDefaultAsync(t => t.Id == input.Id && t.Account.TenantId == tenantId);

            input.MapTo(transaction);

            await CurrentUnitOfWork.SaveChangesAsync();

            await UpdateTransactionsBalanceInAccountAsync(input.AccountId);
        }
        /// <summary>
        /// The copy transaction async.
        /// </summary>
        /// <param name="input">
        /// The input.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task CopyTransactionAsync(Abp.Application.Services.Dto.EntityDto <Guid> input)
        {
            var baseTransaction = await this._transactionRepository.FirstOrDefaultAsync(t => t.Id == input.Id);

            var transctionDto = new TransactionEditDto();

            baseTransaction.MapTo(transctionDto);
            transctionDto.Id = null;
            transctionDto.TransactionTime = DateTime.UtcNow;

            await CreateOrUpdateTransaction(transctionDto);
        }
        private async Task UpdateTransactionAsync(TransactionEditDto input)
        {
            var tenantId    = AbpSession.TenantId;
            var transaction = await _transactionRepository.FirstOrDefaultAsync(t => t.Id == input.Id && t.Account.TenantId == tenantId);

            ObjectMapper.Map(input, transaction);

            await CurrentUnitOfWork.SaveChangesAsync();

            await UpdateTransactionsBalanceInAccountAsync(input.AccountId);
            await SendNotificationAsync(transaction.Id, NotificationTypes.UpdateTransaction).ConfigureAwait(false);
        }
        private async Task InsertTransactionAsync(TransactionEditDto input, bool isTransfer = false)
        {
            var transaction = ObjectMapper.Map <Transaction>(input);

            transaction.Balance       = 0;
            transaction.IsTransferred = isTransfer;

            var transactionId = await _transactionRepository.InsertAndGetIdAsync(transaction);

            await CurrentUnitOfWork.SaveChangesAsync();

            await UpdateTransactionsBalanceInAccountAsync(input.AccountId);

            await SendNotificationAsync(transactionId, NotificationTypes.NewTransaction).ConfigureAwait(false);
        }
        private async Task InsertTransactionAsync(TransactionEditDto input, bool isTranfer = false)
        {
            var transaction = input.MapTo <Transaction>();

            transaction.Balance       = 0;
            transaction.IsTransferred = isTranfer;

            var transactionId = await _transactionRepository.InsertAndGetIdAsync(transaction);

            await CurrentUnitOfWork.SaveChangesAsync();

            await UpdateTransactionsBalanceInAccountAsync(input.AccountId);

            await this.SendNotificationAsync(transactionId);
        }
        public async Task TransferAsync(TransferEditDto input)
        {
            // make sure expense
            if (input.Amount > 0)
            {
                input.Amount *= -1;
            }

            var sentTransaction = new TransactionEditDto()
            {
                Amount          = input.Amount,
                AccountId       = input.AccountId,
                CategoryId      = input.CategoryId,
                Description     = input.Description,
                TransactionTime = input.TransactionTime
            };

            await InsertTransactionAsync(sentTransaction, true);

            // make sure income
            if (input.ToAmount < 0)
            {
                input.ToAmount *= -1;
            }

            var senderAccount = await this._accountRepository.FirstOrDefaultAsync(a => a.Id == input.AccountId);

            var receivedTransaction = new TransactionEditDto()
            {
                Amount          = input.ToAmount,
                AccountId       = input.ToAccountId,
                CategoryId      = input.CategoryId,
                Description     = $"Received from {senderAccount.Name}",
                TransactionTime = input.TransactionTime
            };

            await InsertTransactionAsync(receivedTransaction, true);
        }
Beispiel #10
0
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            string   name         = this.dataGridView1.CurrentRow.Cells["transactionName"].Value.ToString();
            string   id           = this.dataGridView1.CurrentRow.Cells["transactionId"].Value.ToString();
            string   categoryName = this.dataGridView1.CurrentRow.Cells["categoryName"].Value.ToString();
            double   amount       = double.Parse(this.dataGridView1.CurrentRow.Cells["transactionAmount"].Value.ToString());
            int      categoryId   = int.Parse(this.dataGridView1.CurrentRow.Cells["categoryId"].Value.ToString());
            string   note         = this.dataGridView1.CurrentRow.Cells["transactionNote"].Value.ToString();
            DateTime date         = Convert.ToDateTime(dataGridView1.CurrentRow.Cells["transactionDate"].Value.ToString());

            TransactionEditDto transactionEditDto = new TransactionEditDto();

            transactionEditDto.transactionId     = id;
            transactionEditDto.categoryId        = categoryId;
            transactionEditDto.transactionAmount = amount;
            transactionEditDto.transactionNote   = note;
            transactionEditDto.transactionName   = name;
            transactionEditDto.transactionDate   = date;
            transactionEditDto.categoryName      = categoryName;

            EditTransaction editTransaction = new EditTransaction(this, transactionEditDto);

            editTransaction.Show();
        }
Beispiel #11
0
        public object updateTransactions(TransactionEditDto transactionEditDto)
        {
            object response = transactionService.updateTransactions(transactionEditDto);

            return(response);
        }