TileCook.MBTilesCache.Delete C# (CSharp) Method

Delete() public method

public Delete ( Coord coord, string Format ) : void
coord Coord
Format string
return void
        public void Delete(Coord coord, string Format)
        {
            int z = coord.Z;
            int x = coord.X;
            int y = coord.Y;

            if (Format.Equals(this._format, StringComparison.OrdinalIgnoreCase))
            {
                if (this._isCompressed)
                {
                    using (SQLiteConnection con = new SQLiteConnection((string.Format("Data Source={0}", this.Database))))
                    {
                        con.Open();
                        using (SQLiteCommand cmd = new SQLiteCommand(con))
                        {
                            using (SQLiteTransaction tran = con.BeginTransaction())
                            {
                                string uuid = null;

                                //get uuid
                                cmd.CommandText = "SELECT tile_id FROM map WHERE zoom_level=@z AND tile_column=@x AND tile_row=@y";
                                cmd.Parameters.AddWithValue("@z", z);
                                cmd.Parameters.AddWithValue("@x", x);
                                cmd.Parameters.AddWithValue("@y", y);

                                using (SQLiteDataReader dr = cmd.ExecuteReader())
                                {
                                    if (dr.Read())
                                    {
                                        uuid = dr.GetString(0);
                                    }
                                }

                                if (uuid != null)
                                {
                                    //Delete from map table
                                    cmd.Parameters.Clear();
                                    cmd.CommandText = "DELETE FROM map WHERE zoom_level=@z AND tile_column=@x AND tile_row=@y";
                                    cmd.Parameters.AddWithValue("@z", z);
                                    cmd.Parameters.AddWithValue("@x", x);
                                    cmd.Parameters.AddWithValue("@y", y);
                                    cmd.ExecuteNonQuery();

                                    //Clean up images table?
                                    cmd.Parameters.Clear();
                                    cmd.CommandText = "SELECT 1 FROM map WHERE tile_id=@uuid";
                                    cmd.Parameters.AddWithValue("@uuid", uuid);
                                    var response = cmd.ExecuteScalar();
                                    if (response == null)
                                    {
                                        cmd.Parameters.Clear();
                                        cmd.CommandText = "DELETE FROM images WHERE tile_id=@uuid";
                                        cmd.Parameters.AddWithValue("@uuid", uuid);
                                        cmd.ExecuteNonQuery();
                                    }
                                }
                                tran.Commit();
                            }
                        }
                    }
                }
                else
                {
                    using (SQLiteConnection con = new SQLiteConnection((string.Format("Data Source={0}", this.Database))))
                    {
                        con.Open();
                        string query = "DELETE FROM tiles WHERE zoom_level=@z AND tile_column=@x AND tile_row=@y";
                        using (SQLiteCommand cmd = new SQLiteCommand(query, con))
                        {
                            cmd.Parameters.AddWithValue("@z", z);
                            cmd.Parameters.AddWithValue("@x", x);
                            cmd.Parameters.AddWithValue("@y", y);
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
            }
        }