protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            this.GeoLocationControlPicker.OnRequestLocationServicesEnabled += new EventHandler(GeoLocationControlPicker_OnRequestLocationServicesEnabled);
            this.GeoLocationControlPicker.IsLocationServicesEnabledByUser = SettingsHelper.IsLocationServicesEnabled();

            if (NavigationContext.QueryString.ContainsKey("id"))
            {
                string idQueryString = NavigationContext.QueryString["id"];
                int id = 0;
                if (!Int32.TryParse(idQueryString, out id))
                {
                    throw new ArgumentException("id is not valid value!");
                }

                ToDoItemEditViewModel viewModel = new ToDoItemEditViewModel(new ToDoItemRepository());
                this.DataContext = viewModel;
                viewModel.Load(id);
                this.GeoLocationControlPicker.SetProperties(viewModel.ToDoItem.LocationAddress,
                                                            viewModel.ToDoItem.LocationLatitude,
                                                            viewModel.ToDoItem.LocationLongitude);
                return;
            }
            else
            {
                ToDoItemEditViewModel viewModel = new ToDoItemEditViewModel(new ToDoItemRepository());
                this.DataContext = viewModel;
                viewModel.CreateNew();
            }
        }