Count Down Timer C# Conversion Script Not Working Help

OK I had this converted from a Java script I had which worked fine, My only problem with the Java script was that I could not find a way after hours of searching of getting my java script to send a message to another script that was written in C#. After much pain I decided to ask if it could be converted into C#
I don’t get any errors but the code does not seem to work. Can someone with way more code experience than I take a look and see if you see anything out of the ordinary as to why it would not work.

I’m using UI text and NOT on GUI text if that information helps any?

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class CountdownTimerManager : MonoBehaviour {

	public AudioClip Alarm;
	float timer  = 3600;
	bool isFinishedTimer   = true;
	public UnityEngine.UI.Text displayText;
	public UnityEngine.UI.Text timeText;
	
	string minsDisplay;
	string secsDisplay;
	
	int mySeconds  = 0;
	
	private float oldTimer;
	
	//Random Clips
	public AudioClip[] voices;
	
	
	/*//Begin New
	function Awake ()
	{
		// Make LevelData a singleton, so we keep ourself alive and kill any clones
		if ( FindObjectsOfType(CountdownTimerManager).Length != 1 )     // If one of me already exists I must be a clone, so destroy me (don't feel bad about it)
			Destroy (gameObject);
		else        // I'm the original, so keep me around
			DontDestroyOnLoad (gameObject);
	}
	//End New
	
	
	/*function Awake () {
               DontDestroyOnLoad (transform.gameObject);
           }*/
	
	void Start(){
		
		oldTimer = timer;
	}
	
	void Update(){ 
		
		if (!isFinishedTimer) {
			timer -= Time.deltaTime;
		} 
		
		CurrentTime();
	}
	
	void CurrentTime() { 
		System.DateTime dt  = System.DateTime.Now;
		int h  = dt.Hour; 
		int m  = dt.Minute; 
		int s  = dt.Second;
		
		timeText.text = h + ":" + m + ":" + s;
		
		if(mySeconds != s)
		{
			mySeconds = s;
			Timing();
		}
		
	}
	
	IEnumerator  Timing()
	{
		if (timer > 0) {
			//var minsDisplay : String = parseInt( timer / 60 ).ToString();
			minsDisplay = System.Convert.ToInt32( timer / 60 ).ToString();
			
			//var secsDisplay : String = parseInt( timer ).ToString();
			secsDisplay = System.Convert.ToInt32( timer ).ToString();
			
			if ( (timer - ( System.Convert.ToInt32(minsDisplay) * 60)) > 10 ) {
				secsDisplay = System.Convert.ToInt32( timer - ( System.Convert.ToInt32(minsDisplay) * 60) ).ToString();
			} 
			else {
				secsDisplay = "0" + System.Convert.ToInt32( timer - ( System.Convert.ToInt32(minsDisplay) * 60) ).ToString();
			}
			
			//displayText.text = minsDisplay + " : " + secsDisplay;
		} 
		//Timer Reaches End We Can Do Something Here
		else {
			timer += oldTimer;
			GetComponent<AudioSource>().PlayOneShot(Alarm);//Plays Alarm Sound
			isFinishedTimer = true;//Sets Inspector Value to true or false based on what is set here
			yield return new WaitForSeconds(5.8f);//Wait Time Setting
			//Do Something if Desired
			
			//if (GetComponent.<AudioSource>().isPlaying) return; // don't play a new sound while the last hasn't finished
			GetComponent<AudioSource>().clip = voices[Random.Range(0,voices.Length)];
			GetComponent<AudioSource>().Play();
			
			
			
			Debug.Log ("Timer Ended");
		}
		displayText.text = minsDisplay + " : " + secsDisplay;
	}
	
	
	
	//Timer Stop Button
	public void GoTimerStop()
	{
		isFinishedTimer = true;
	}
	
	//Timer Start Button
	public void GoTimerStart()
	{
		isFinishedTimer = false;
	}
	
	//Timer Settings
	public void GoTimerSetting60Sec()
	{
		timer = 60;
	}
	
	public void GoTimerSetting5Min()
	{
		timer = 300;
	}
	
	public void GoTimerSetting10Min()
	{
		timer = 600;
	}
	
	public void GoTimerSetting20Min()
	{
		timer = 1200;
	}
	
	public void GoTimerSetting30Min()
	{
		timer = 1800;
	}
	
	public void GoTimerSetting40Min()
	{
		timer = 2400;
	}
	
	public void GoTimerSetting50Min()
	{
		timer = 3000;
	}
	
	public void GoTimerSetting1Hr()
	{
		timer = 3600;
	}
	
	public void GoTimerSetting1Point5Hr()
	{
		timer = 5400;
	}
	
	public void GoTimerSetting2Hr()
	{
		timer = 7200;
	}
	
	public void GoTimerSetting2Point5Hr()
	{
		timer = 9000;
	}
	
	public void GoTimerSetting3Hr()
	{
		timer = 10800;
	}
}

ok so i got it to work. Basically you cannot just call an enumerator you have to do it like this:

        if (mySeconds != s)
        {
            mySeconds = s;
            StartCoroutine(Timing());
        } 

and it seems to work but the timer seconds is messed up on mine so let me know.

I put the code into my scene and assigned a ui text to the text gameobject and it’s displaying my computers time just fine. Sorry i’m just not understanding what the error is.

@Mrslayer01
The UI text shows up fine but when I try to use one of my buttons to assign a count down time nothing happens. Yes the “System Time” is working just fine, it the timer that is not working, the java version worked but I need this in C# in order to be able to talk to the other C# script that talks to the Arduino.