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

chimneyMpdServer_OnMoveId() private method

private chimneyMpdServer_OnMoveId ( object sender, ResponseEventArgs e ) : void
sender object
e Chimney.MPD.ResponseEventArgs
return void
        async void chimneyMpdServer_OnMoveId(object sender, ResponseEventArgs e)
        {
            bool suc = false;

            int id = 0;
            int position = 0;

            if (e.arguments.Count > 1)
            {
                suc = int.TryParse(e.arguments[0], out id);
                suc = (suc) ? int.TryParse(e.arguments[1], out position) : false;
            }

            if (suc)
            {
                var currentPlaylists = await Dbconnection.FindAsync<CurrentPlaylist>(o => o.FileId == id);

                if (position >= 0 && currentPlaylists != null)
                {
                    await Dbconnection.QueryAsync<CurrentPlaylist>("UPDATE CurrentPlaylist SET PositionId=PositionId+1 WHERE PositionId >= " + position);
                    if (position > currentPlaylists.PositionId)
                    {
                        await Dbconnection.QueryAsync<CurrentPlaylist>("UPDATE CurrentPlaylist SET PositionId=PositionId-1 WHERE PositionId > " + currentPlaylists.PositionId + " AND PositionId <= " + position);
                    }
                    currentPlaylists.PositionId = position;
                    await Dbconnection.UpdateAsync(currentPlaylists);
                }
                else suc = false;
                suc = true;
            }

            chimneyMpdServer.AppendResponse(string.Empty, e.id, e.position);

            if (OnIdleEvent != null) OnIdleEvent(this, new IdleEventArgs("playlist"));
        }
ChimneyServerUserControl