コード例 #1
0
        protected void GestureListener_Hold(object sender, GestureEventArgs e)
        {
            // sender is the StackPanel in this example
            var item = ((Grid)sender).DataContext;

            // item has the type of the model
            SelectedItem = item as Happening;
        }
コード例 #2
0
 public void Delete(Happening item)
 {
     var settings = IsolatedStorageSettings.ApplicationSettings;
     if (settings.Contains(item.Guid))
     {
         settings.Remove(item.Guid);
     }
     settings.Save();
 }
コード例 #3
0
        public void Save(Happening item)
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;

            if (settings.Contains(item.Guid))
            {
                settings[item.Guid] = item;
            }
            else
            {
                settings.Add(item.Guid, item);
            }

            settings.Save();
        }
コード例 #4
0
ファイル: TileUtility.cs プロジェクト: codermee/happenings
        public void CreateTile(Happening item)
        {
            var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid));

            if (foundTile == null)
            {
                var liveTileUpdatesEnabled = GetLiveTileSetting();

                if (liveTileUpdatesEnabled)
                {
                    CreatePeriodicTask(Globals.LiveTileUpdaterPeriodicTaskName);
                }

                var tile = SetupTileData(item);

                ShellTile.Create(new Uri(String.Format(Globals.DetailsPageUri, item.Guid), UriKind.Relative), tile);
            }
        }
コード例 #5
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var common = Common.Instance;
            var guid = GetFromQuerystring();

            if (!String.IsNullOrEmpty(guid))
            {
                viewModel.Load();
                CurrentItem = (from i in viewModel.Happenings where i.Guid == guid select i).FirstOrDefault();

                if (CurrentItem != null)
                {
                    PageTitle.Text = CurrentItem.Name;

                    dateInfoTextBlock.Text = String.Format("{0} {1} {2} {3}", common.GetDayOfWeek(CurrentItem.Date.DayOfWeek), CurrentItem.Date.Day, common.GetMonth(CurrentItem.Date.Month), CurrentItem.Date.Year);

                    numberOfdaysLeftTextBlock.Text = CurrentItem.NumberOfDaysLeft.ToString();
                    itemImage.Source = CurrentItem.SavedImage;

                    if (CurrentItem.NumberOfDaysLeft.ToString().StartsWith("-"))
                    {
                        monthsAndDaysLeftTextBlock.Text = AppResources.HappeningOver;
                        daysTextBlock.Text = AppResources.Days;
                    }
                    else
                    {
                        monthsAndDaysLeftTextBlock.Text = String.IsNullOrEmpty(CurrentItem.MonthsAndDaysLeftText)
                                                                    ? String.Format("{0} {1}", AppResources.Occurs, AppResources.Today)
                                                                    : String.Format("{0} {1}", AppResources.OccursIn, CurrentItem.MonthsAndDaysLeftText);
                        daysTextBlock.Text = AppResources.DaysLeft;
                    }
                }

                SetupApplicationBar();
            }
        }
コード例 #6
0
ファイル: TileUtility.cs プロジェクト: codermee/happenings
        private static StandardTileData SetupTileData(Happening item)
        {
            var backContent = String.Empty;
            if (item.ShowMonthsAndDaysOnLiveTile)
            {
                if (item.NumberOfDaysLeft.ToString().StartsWith("-"))
                {
                    backContent = AppResources.HappeningOver;
                }
                else if (!String.IsNullOrEmpty(item.MonthsAndDaysLeftText))
                {
                    backContent = String.Format("{0} {1}", item.MonthsAndDaysLeftText, AppResources.Left);
                }
                else
                {
                    backContent = String.Format("{0} {1}", AppResources.Occurs, AppResources.Today);
                }
            }

            var tile = new StandardTileData
                                {
                                    BackgroundImage = !String.IsNullOrEmpty(item.ImagePath)
                                                                ? new Uri("isostore:" + item.ImagePath, UriKind.Absolute)
                                                                : new Uri(Globals.DefaultImage, UriKind.Relative),
                                    Title = item.Name,
                                    Count = item.NumberOfDaysLeft <= 99 ? item.NumberOfDaysLeft : 0,
                                    BackTitle = item.ShowMonthsAndDaysOnLiveTile
                                                            ? item.Name
                                                            : String.Empty,
                                    BackContent = backContent
                                };
            return tile;
        }
コード例 #7
0
ファイル: TileUtility.cs プロジェクト: codermee/happenings
        public void UpdateTile(Happening item)
        {
            var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid));

            if (foundTile != null)
            {
                var tile = SetupTileData(item);

                foundTile.Update(tile);
            }
        }
コード例 #8
0
ファイル: TileUtility.cs プロジェクト: codermee/happenings
        public void RemoveTile(Happening item)
        {
            var foundTile = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("guid=" + item.Guid));

            if (foundTile != null)
            {
                foundTile.Delete();
            }
        }
コード例 #9
0
        private void OnAppBarSaveIconClick(object sender, EventArgs e)
        {
            var common = Common.Instance;
            var tileUtility = TileUtility.Instance;

            if (CurrentItem != null)
            {
                CurrentItem.Name = NameTextBox.Text;
                if (ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked != null)
                {
                    CurrentItem.ShowMonthsAndDaysOnLiveTile = ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked.Value;
                }

                if (ImageFile != null)
                {
                    CurrentItem.ImagePath = ImageFile;
                }

                if (DatePicker.Value != null)
                {
                    CurrentItem.Date = DatePicker.Value.Value;
                }

                _viewModel.Save(CurrentItem);
                tileUtility.UpdateTile(CurrentItem);
                common.NavigateToUrl(Globals.MainPageUri);
            }
            else
            {
                if (DatePicker.Value != null)
                {
                    if (NameTextBox.Text != String.Empty)
                    {
                        var item = new Happening
                                        {
                                            Guid = Guid.NewGuid().ToString(),
                                            Name = NameTextBox.Text,
                                            Date = DatePicker.Value.Value,
                                            ShowMonthsAndDaysOnLiveTile = ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked != null && ShowMonthsAndDaysOnLiveTileCheckBox.IsChecked.Value,
                                            ImagePath = ImageFile
                                        };
                        _viewModel.Save(item);
                        common.NavigateToUrl(Globals.MainPageUri);
                    }
                    else
                    {
                        MessageBox.Show(AppResources.MissingNameMessageBox, AppResources.MissingTextMessageTitle, MessageBoxButton.OK);
                    }
                }
            }
        }