How to not execute certain line of code.

In my Update() method of my Player movement script, there is an if statement used to trigger further movement methods (it’s a turn based, isometric 2D game). But I want my player to only rotate when you press the corresponding key, however, if you press it once more, it will do the actual movement. My problem is, that when I press the key, it will also give true value to the if statement whithin the if statement. I want to rotate the player when you press the direction key, if you press the same one again directly after, I want the player to move. Here’s a piece of the script for reference.
Thank you for answers

if (Input.GetKeyDown(KeyCode.D))
{
transform.rotation = Quaternion.Euler(0, 0, 270);
if(Input.GetKeyDown(KeyCode.D))
{
TryToMove(horizontal, vertical, out hit);
}

   }

You’ll probably need a flag, something like a switch, to let you know what to do the next time the key has been pressed. Something like:

if (Input.GetKeyDown(KeyCode.D)) 
{ 
    if (shouldMove == false)
    {
        transform.rotation = Quaternion.Euler(0, 0, 270); 
        shouldMove = true; // set flag so that next key press goes to movement logic
    }
    else
    { 
        TryToMove(horizontal, vertical, out hit); 
        shouldMove = false; // reset flag so that next key press goes to rotation logic
    }
}

Thanks for help.