Month: June 2012

Whats is new in Team Foundation Server 2012.

Posted on

Rather than copying and pasting the text somebody wrote, I just want to paste this into my blog because its one of the best posts I have read about TFS 2012 and all the new features, specially in the Scrum Process template.

 

Have fun reading.

http://mohamedradwan.wordpress.com/2012/05/30/whats-new-in-tfs-2012-management-tool/

Advertisements

How to call an asynchronous method in Windows 8.

Posted on

In my application, I wanted to get the current location, but because it might take some seconds, I wanted to do it asynchronously.

Normally, you would put this code on the constructor of the class, but if you are using the await keyword, then the method using must be async, and you cant put async in constructors.

 

So the way to do it, is to rewrite the onnavigatedto method

 

protected async override void OnNavigatedTo(NavigationEventArgs e)
{

   TextBlock txt = new TextBlock();          
   var location = await InitializeLocationServices();
   txt.Text = location;

   Grid.SetRow(txt, 0);
   Grid.SetColumn(txt, 1);
}



private async Task InitializeLocationServices()
        {
            //Initialize geolocator object
            Geolocator geoLocator = new Geolocator();
            if (null != geoLocator)
                try
                {
                    //Try resolve the current location
                    var position = await geoLocator.GetGeopositionAsync();
                    if (null != position)
                    {
                        string city = position.CivicAddress.City;
                        string country = position.CivicAddress.Country;
                        string state = position.CivicAddress.State;
                        string zip = position.CivicAddress.PostalCode;
                        string msg = "I am located in " + country;
                        if (city.Length > 0)
                            msg += ", city of " + city;
                        if (state.Length > 0)
                            msg += ", " + state;
                        if (zip.Length > 0)
                            msg += " near zip code " + zip;
                        return msg;
                    }
                    return string.Empty;
                }
                catch (Exception)
                {
                    //Nothing to do - no GPS signal or some timeout occured.n .
                    return string.Empty;
                }
            return string.Empty;
        }


How to call an asynchronous method in Windows 8.

Posted on

In my application, I wanted to get the current location, but because it might take some seconds, I wanted to do it asynchronously.

Normally, you would put this code on the constructor of the class, but if you are using the await keyword, then the method using must be async, and you cant put async in constructors.

 

So the way to do it, is to rewrite the onnavigatedto method

 

protected async override void OnNavigatedTo(NavigationEventArgs e)
{

   TextBlock txt = new TextBlock();           
   var location = await InitializeLocationServices();
   txt.Text = location;

   Grid.SetRow(txt, 0);
   Grid.SetColumn(txt, 1);
}


 private async Task<string> InitializeLocationServices()
        {
            //Initialize geolocator object
            Geolocator geoLocator = new Geolocator();
            if (null != geoLocator)
                try
                {
                    //Try resolve the current location
                    var position = await geoLocator.GetGeopositionAsync();
                    if (null != position)
                    {
                        string city = position.CivicAddress.City;
                        string country = position.CivicAddress.Country;
                        string state = position.CivicAddress.State;
                        string zip = position.CivicAddress.PostalCode;
                        string msg = "I am located in " + country;
                        if (city.Length > 0)
                            msg += ", city of " + city;
                        if (state.Length > 0)
                            msg += ", " + state;
                        if (zip.Length > 0)
                            msg += " near zip code " + zip;
                        return msg;
                    }
                    return string.Empty;
                }
                catch (Exception)
                {
                    //Nothing to do - no GPS signal or some timeout occured.n .
                    return string.Empty;
                }
            return string.Empty;
        }