public async Task <long> AddAsync(TransactionCandidate transation) { using (var database = new TransactionDatabase()) { return(await database.InsertTransactionAsync(transation)); } }
public async Task <long> InsertTransactionAsync(TransactionCandidate candidate) { MySqlCommand cmd = new MySqlCommand("sp_InsertTransaction", Connection) { CommandType = System.Data.CommandType.StoredProcedure }; cmd.Parameters.Add(new MySqlParameter("@p_id", MySqlDbType.Int64)); cmd.Parameters["@p_id"].Direction = ParameterDirection.Output; cmd.Parameters.AddWithValue("@p_from_account_id", candidate.FromAccountId); cmd.Parameters.AddWithValue("@p_to_account_id", candidate.ToAccountId); cmd.Parameters.AddWithValue("@p_user_id", candidate.UserId); cmd.Parameters.AddWithValue("@p_amount", candidate.Amount); cmd.Parameters.AddWithValue("@p_registration_date", candidate.RegistrationDate); cmd.Parameters.AddWithValue("@p_description", candidate.Description); cmd.Parameters.AddWithValue("@p_status", candidate.Status); await cmd.ExecuteNonQueryAsync(); return(Convert.ToInt64(cmd.Parameters["@p_id"].Value)); }