Esempio n. 1
0
        /// <summary>
        /// Event is invoked when Do work
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bwVenueSync_DoWork(object sender, DoWorkEventArgs e)
        {
            CurrentSteps = "Step 1/3 (Importing KaraokeTracks)";
            //bwVenueSync.ReportProgress(0);
            KaraoqDataAccess.KaraoqWebServiceSoapClient objClient = new KaraoqDataAccess.KaraoqWebServiceSoapClient();

            int lastTrackId = objClient.GetLastSynqTrackId(General.DJId, VenueId, Convert.ToInt32(Properties.Settings.Default.DJPlaybackTool));

            int lastTrackHistoryId = objClient.GetLastSynqHistoryTrackId(General.DJId, VenueId, Convert.ToInt32(Properties.Settings.Default.DJPlaybackTool));

            OleDbConnection connectionString = new OleDbConnection(accessDatabaseConnectionString);
            connectionString.Open();

            try
            {
                DataTable dtKaraokeTracks = new DataTable();
                dtKaraokeTracks.TableName = "KaraokeTracks";

                try
                {
                    OleDbCommand oleDbCommandKaraokeTracks = new OleDbCommand("SELECT * FROM KaraokeTracks order by KaraokeTrackID ASC", connectionString);
                    if (lastTrackId > 0)
                    {
                        oleDbCommandKaraokeTracks = new OleDbCommand("SELECT * FROM KaraokeTracks where KaraokeTrackID > " + lastTrackId + " order by KaraokeTrackID ASC ", connectionString);
                    }
                    OleDbDataAdapter adapterKaraokeTracks = new OleDbDataAdapter(oleDbCommandKaraokeTracks);
                    adapterKaraokeTracks.Fill(dtKaraokeTracks);

                }
                catch (Exception ex)
                {
                    if (ex.Message == "The Microsoft Jet database engine cannot find the input table or query 'KaraokeTracks'.  Make sure it exists and that its name is spelled correctly.")
                    {
                        OleDbCommand oleDbCommandKaraokeTracks = new OleDbCommand("SELECT * FROM tblKaraokeTracks order by KaraokeTrackID ASC", connectionString);
                        if (lastTrackId > 0)
                        {
                            oleDbCommandKaraokeTracks = new OleDbCommand("SELECT * FROM tblKaraokeTracks where KaraokeTrackID > " + lastTrackId + " order by KaraokeTrackID ASC ", connectionString);
                        }
                        OleDbDataAdapter adapterKaraokeTracks = new OleDbDataAdapter(oleDbCommandKaraokeTracks);
                        adapterKaraokeTracks.Fill(dtKaraokeTracks);
                    }
                }
                CurrentProgressbarTotal = dtKaraokeTracks.Rows.Count;

                CurrentSteps = "Step 1/3 (Importing Karaoke Tracks)";
                if (dtKaraokeTracks.Rows.Count > 0)
                {
                    for (int i = 0; i < dtKaraokeTracks.Rows.Count; i++)
                    {
                        try
                        {
                            bwVenueSync.ReportProgress(i + 1);
                            int trackNumber = 0;
                            int.TryParse(Convert.ToString(dtKaraokeTracks.Rows[i]["TrackNo"]), out trackNumber);
                            objClient.InsertSynqTracks(VenueId, General.DJId, Convert.ToInt32(Properties.Settings.Default.DJPlaybackTool), Convert.ToInt32(dtKaraokeTracks.Rows[i]["KaraokeTrackID"]),
                                Convert.ToString(dtKaraokeTracks.Rows[i]["ArtistName"]), Convert.ToString(dtKaraokeTracks.Rows[i]["TrackName"]), Convert.ToString(dtKaraokeTracks.Rows[i]["DiscName"]),
                                trackNumber.ToString(), Convert.ToString(dtKaraokeTracks.Rows[i]["Filename"]), Convert.ToString(dtKaraokeTracks.Rows[i]["TrackPath"]), "", "", ""
                                );

                        }
                        catch
                        {
                            continue;
                        }
                    }
                }

                CurrentSteps = "Step 2/3 (Importing Karaoke Tracks History)";
                bwVenueSync.ReportProgress(0);
                DataTable dttblKaraokeTrackHistory = new DataTable();
                dttblKaraokeTrackHistory.TableName = "tblKaraokeTrackHistory";

                OleDbCommand oleDbCommandtblKaraokeTrackHistory = new OleDbCommand("SELECT * FROM tblKaraokeTrackHistory order by KaraokeTrackHistoryID ASC", connectionString);
                if (lastTrackHistoryId > 0)
                {
                    oleDbCommandtblKaraokeTrackHistory = new OleDbCommand("SELECT * FROM tblKaraokeTrackHistory where KaraokeTrackHistoryID > " + lastTrackHistoryId + " order by KaraokeTrackHistoryID ASC", connectionString);
                }

                OleDbDataAdapter adaptertblKaraokeTrackHistory = new OleDbDataAdapter(oleDbCommandtblKaraokeTrackHistory);
                adaptertblKaraokeTrackHistory.Fill(dttblKaraokeTrackHistory);

                CurrentProgressbarTotal = dttblKaraokeTrackHistory.Rows.Count;
                if (dttblKaraokeTrackHistory.Rows.Count > 0)
                {
                    for (int i = 0; i < dttblKaraokeTrackHistory.Rows.Count; i++)
                    {
                        try
                        {
                            bwVenueSync.ReportProgress(i + 1);
                            objClient.InsertSynqTracksHistory(VenueId, General.DJId, Convert.ToInt32(Properties.Settings.Default.DJPlaybackTool), Convert.ToInt32(dttblKaraokeTrackHistory.Rows[i]["KaraokeTrackHistoryID"]),
                                Convert.ToString(dttblKaraokeTrackHistory.Rows[i]["SingerName"]), Convert.ToString(dttblKaraokeTrackHistory.Rows[i]["Artist"]), Convert.ToString(dttblKaraokeTrackHistory.Rows[i]["Title"]),
                                Convert.ToString(dttblKaraokeTrackHistory.Rows[i]["Key"]), Convert.ToString(dttblKaraokeTrackHistory.Rows[i]["TrackPath"]), Convert.ToDateTime(dttblKaraokeTrackHistory.Rows[i]["Date"])
                                );
                        }
                        catch
                        {
                            continue;
                        }
                    }
                }
            }
            catch
            {
            }
            finally
            {
                if (connectionString != null && connectionString.State == ConnectionState.Open)
                {
                    connectionString.Close();
                }
            }

            SongList = new DataTable();

            SongList = objClient.GetSongListForDJ(General.DJId, VenueId);
        }