Beispiel #1
0
        public void makeWithdrawal(string atmID, SqlDate date, int amount)
        {
            connect();

            int avilableMoney = getAvilableMoney(atmID);

            if (amount < avilableMoney)
            {
                string createWithdrawal = $"INSERT INTO Withdrawals (amount, date, Atms_id) VALUES({ amount }, '{ date.ToString() }', { atmID })";
                string updateATMRecord  = $"UPDATE atms SET live_money_avilable = { avilableMoney } - { amount } WHERE id = { atmID }";

                MySqlCommand createWithdrawalCmd = new MySqlCommand(createWithdrawal, conn);
                MySqlCommand updateAtmCmd        = new MySqlCommand(updateATMRecord, conn);

                createWithdrawalCmd.CommandType = CommandType.Text;
                updateAtmCmd.CommandType        = CommandType.Text;

                if (conn != null)
                {
                    try {
                        conn.Open();

                        createWithdrawalCmd.ExecuteNonQuery();
                        updateAtmCmd.ExecuteNonQuery();

                        conn.Close();
                    } catch (MySqlException ex) {
                        conn.Close();
                        throw ex;
                    }
                }
                else
                {
                    throw new Exception("Connection with database didn't established, Please try again");
                }
            }
            else
            {
                Console.WriteLine("Sorry but you can't withdrawal from this Atm this amount of money");
            }
        }
Beispiel #2
0
        public Track[] getTracksByDate(SqlDate date)
        {
            connect();

            string       allTracksAtDateQuery = $"SELECT * FROM Tracks WHERE date = '{ date.ToString() }'";
            MySqlCommand allTracksCmd         = new MySqlCommand(allTracksAtDateQuery, conn);

            allTracksCmd.CommandType = CommandType.Text;

            if (conn != null)
            {
                try {
                    conn.Open();

                    // Find all Tracks at specific date
                    DataTable dataTable = new DataTable();
                    dataTable.Load(allTracksCmd.ExecuteReader());
                    var rows = dataTable.AsEnumerable().ToArray();

                    List <Track> allTracks = new List <Track>();

                    for (int i = 0; i < rows.Length; i++)
                    {
                        allTracks.Add(getTrackByID(rows[i]["id"].ToString()));
                    }

                    conn.Close();
                    return(allTracks.ToArray());
                } catch (MySqlException ex) {
                    conn.Close();
                    throw ex;
                }
            }

            throw new Exception("Connection with database didn't established, Please try again");
        }