Problem with moisture sensor

I am currently having an issue with my moisture sensor code. I have a phantom yoyo moisture sensor with a three pin GND, VCC, and OUT. I have an LED hooked up as well because when the sensor detects moisture, I would like the LED to turn on. Currently the code displays "its dry" and the value being read, but when I put the sensor in water, the value being read changes but it still does not say "its wet". Also, the LED does not illuminate when the value has changed from 0. I believe my issue lies in the analog read value not entering into my if/else statements but am unsure. More specifically it does not ever enter my else statement. I appreciate any guidance and resources to understanding this issue. My code is as follows:

int ledRed = 4; //initializes pin for led
int moisturePin = A0; //initializes pin for moisture sensor

void setup() 
{
  Serial.begin(9600);
  pinMode(moisturePin, OUTPUT); //sets moisturePin as output
  pinMode(ledRed, OUTPUT); //set led as output
}

void loop() 
{
moisturePin = analogRead(A0); //read value from sensor
  if (digitalRead(moisturePin==0)) //if value is 0
    {
      Serial.print ("Its Dry      "); //print its dry to monitor
      Serial.println(moisturePin);  //print the value being read
      digitalWrite(4, LOW); //keep led off
    }
  else //if moisturePin is any number other than 0
   {
    Serial.print ("Its Wet      "); //print its wet to monitor
    Serial.println(moisturePin); //print value being read
    digitalWrite(4, HIGH); //turn LED on
   }
    delay(500); //wait half a second before checking value again
}

As typical as this is, I have now solved my issue. It lied in the digitalRead contained in my if statement. The code now is as follows:

int ledRed = 4; //initializes pin for led
int moisturePin = A0; //initializes pin for moisture sensor

void setup() 
{
  Serial.begin(9600);
  pinMode(moisturePin, OUTPUT); //sets moisturePin as output
  pinMode(ledRed, OUTPUT); //set led as output
}

void loop() 
{
moisturePin = analogRead(A0); //read value from sensor
  if (moisturePin==0) //if value is 0
    {
      Serial.print ("Its Dry      "); //print its dry to monitor
      Serial.println(moisturePin);  //print the value being read
      digitalWrite(4, LOW); //keep led off
    }
  else //if moisturePin is any number other than 0
   {
    Serial.print ("Its Wet      "); //print its wet to monitor
    Serial.println(moisturePin); //print value being read
    digitalWrite(4, HIGH); //turn LED on
   }
    delay(500); //wait half a second before checking value again
}

Several inconsistencies.
int ledRed = 4; // here you declare/name a pin
digitalWrite(4, HIGH); // but you don't use the name

int moisturePin = A0; // name the pin
pinMode(moisturePin, OUTPUT); // set is as output ?
moisturePin = analogRead(A0); // use the pin number (not the name), and use it as input

(untested) sketch attached.
Leo..

const byte ledPin = 4; //initializes pin for led
const byte moisturePin = A0; // sensor connected to pin A0
int moistureValue; // holds analogue value

void setup()
{
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT); //set led as output
}

void loop() {
  moistureValue = analogRead(moisturePin); //read value from sensor
  if (moistureValue == 0) //if value is 0
  {
    Serial.print ("Its Dry      "); //print its dry to monitor
    Serial.println(moistureValue);  //print the value being read
    digitalWrite(ledPin, LOW); //keep led off
  }
  else //if moisturePin is any number other than 0
  {
    Serial.print ("Its Wet      "); //print its wet to monitor
    Serial.println(moistureValue); //print value being read
    digitalWrite(ledPin, HIGH); //turn LED on
  }
  delay(500); //wait half a second before checking value again
}