Chimney.Shared.UserControls.ChimneyServerUserControl.chimneyMpdServer_OnStatus C# (CSharp) Method

chimneyMpdServer_OnStatus() private method

private chimneyMpdServer_OnStatus ( object sender, ResponseEventArgs e ) : void
sender object
e Chimney.MPD.ResponseEventArgs
return void
        async void chimneyMpdServer_OnStatus(object sender, ResponseEventArgs e)
        {
            string response = string.Empty;

            try
            {

#if WINDOWS_PHONE_APP
            response += "volume: " + Convert.ToInt32(BackgroundMediaPlayer.Current.Volume * 100) + "\n";
#else
                await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
    response += "volume: " + Convert.ToInt32(ChimneyMPDMediaElement.Volume * 100) + "\n";
});
#endif
            }
            catch(Exception ex)
            {
                Debug.WriteLine(ex.Message);
                response += "volume: 0\n";
            }

            response += (option_random) ? "random: 1\n" : "random: 0\n"; 
            response += (option_single) ? "single: 1\n" : "single: 0\n";
            response += (option_repeat) ? "repeat: 1\n" : "repeat: 0\n";
            response += (option_consume) ? "consume: 1\n" : "consume: 0\n";

            response += "playlist: " + await Dbconnection.ExecuteScalarAsync<int>("SELECT seq FROM sqlite_sequence WHERE name = \"CurrentPlaylist\"") + "\n";
            response += "playlistlength: " + await Dbconnection.ExecuteScalarAsync<int>("SELECT COUNT(*) FROM CurrentPlaylist") + "\n";

            var currentSong = await Dbconnection.FindAsync<CurrentPlaylist>(o => o.CurrentSong == true);

            if (current_state.Equals("play") || current_state.Equals("pause"))
            {
                response += "state: " + current_state + "\n"; 

                response += (currentSong != null) ? "song: " + currentSong.PositionId + "\n" : "song: 0\n";
                response += (currentSong != null) ? "songid: " + currentSong.FileId + "\n" : "songid: 0\n";

                if (currentSong != null)
                {
                    int nextpos = currentSong.PositionId + 1;

                    var nextSong = await Dbconnection.FindAsync<CurrentPlaylist>(o => o.PositionId == nextpos);

                    response += (nextSong != null) ? "nextsong: " + nextSong.PositionId + "\n" : string.Empty;
                    response += (nextSong != null) ? "nextsongid: " + nextSong.FileId + "\n" : string.Empty;
                }
                try
                { 
#if WINDOWS_PHONE_APP
                response += (BackgroundMediaPlayer.Current.Position != null) ? "time: " + BackgroundMediaPlayer.Current.Position.TotalSeconds + "\n" : "time: 0\n";
                response += (BackgroundMediaPlayer.Current.Position != null) ? "elapsed: " + BackgroundMediaPlayer.Current.Position.TotalSeconds + "\n" : "elapsed: 0\n";
#else
                    await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
    response += (ChimneyMPDMediaElement.Position != null) ? "time: " + ChimneyMPDMediaElement.Position.TotalSeconds + "\n" : "time: 0\n";
    response += (ChimneyMPDMediaElement.Position != null) ? "elapsed: " + ChimneyMPDMediaElement.Position.TotalSeconds + "\n" : "elapsed: 0\n";
});
#endif
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                    response += "time: 0\n";
                    response += "elapsed: 0\n";
                }
                response += (currentSong != null) ? "bitrate: " + currentSong.Bitrate + "\n" : "bitrate: " + 0 + "\n";

                response += "xfade: 0\n";
                response += "mixrampdb: 0.000000\n";
                response += "mixrampdelay: 0\n";
                response += "audio: 16:44000:2\n";
            }
            else
            {
                response += "state: stop\n";
                response += "xfade: 0\n";
            }

            response += (is_db_updating) ? "updating_db: " + db_updating_id + "\n" : string.Empty;

            chimneyMpdServer.AppendResponse(response, e.id, e.position);
        }
ChimneyServerUserControl