void Handle(Input.MoveDown Action)
            {
                var maxSortOrder = Db.SlowSQL <Int64>("SELECT MAX(SortOrder) FROM Person p").First;

                //can only move down if it is not the last row
                if (this.SortOrder < maxSortOrder)
                {
                    //swap SortOrder values, execute as an atomic operation
                    Db.Transact(() =>
                    {
                        var nextPerson       = Db.SQL <Person>("SELECT p FROM Person p WHERE SortOrder = ?", (this.SortOrder + 1)).First;
                        nextPerson.SortOrder = this.SortOrder;
                        this.SortOrder       = this.SortOrder + 1;
                    });
                    //refresh table binding
                    this.ParentPage.RefreshPersonList();
                }
            }
 void Handle(Input.MoveDown action)
 {
 }