private async void appBarPin_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (!await PowerPlannerApp.Current.IsFullVersionAsync())
                {
                    PowerPlannerApp.Current.PromptPurchase(LocalizedResources.GetString("Settings_Tiles_ClassTile_PromptPremiumFeature"));
                    return;
                }

                if (ViewModel.Account == null || ViewModel.Class == null)
                {
                    return;
                }

                if ((appBarPin.Icon as SymbolIcon).Symbol == Symbol.Pin)
                {
                    var data = await AccountDataStore.Get(ViewModel.Account.LocalAccountId);

                    await ClassTileHelper.PinTileAsync(ViewModel.Account, data, ViewModel.Class.Identifier, ViewModel.Class.Name, ColorTools.GetColor(ViewModel.Class.Color));
                }

                else
                {
                    await ClassTileHelper.UnpinTile(ViewModel.Account.LocalAccountId, ViewModel.Class.Identifier);
                }

                UpdatePinButton();
            }

            catch (Exception ex)
            {
                TelemetryExtension.Current?.TrackException(ex);
            }
        }
        public override void OnViewModelLoadedOverride()
        {
            try
            {
                base.OnViewModelLoadedOverride();

                TextBlockTitle.Text = LocalizedResources.GetString("Settings_Tiles_ClassTile_HeaderText") + " - " + ViewModel.Class.Name;

                this.UpdatePinButton();
                this.InitializeTiles();

                UpdatePreviewTileNotifications();
            }

            catch (Exception ex)
            {
                base.IsEnabled = false;
                TelemetryExtension.Current?.TrackException(ex);
            }

            finally
            {
                base.Visibility = Visibility.Visible;
            }
        }
        private void UpdatePinButton()
        {
            try
            {
                if (ViewModel.Account == null || ViewModel.Class == null)
                {
                    return;
                }

                if (ClassTileHelper.IsPinned(ViewModel.Account.LocalAccountId, ViewModel.Class.Identifier))
                {
                    appBarPin.Icon  = new SymbolIcon(Symbol.UnPin);
                    appBarPin.Label = LocalizedResources.GetString("Settings_Tiles_ClassTile_ButtonUnpinLabel");
                }

                else
                {
                    appBarPin.Icon  = new SymbolIcon(Symbol.Pin);
                    appBarPin.Label = LocalizedResources.GetString("Settings_Tiles_ClassTile_ButtonPinLabel");
                }
            }

            catch (Exception ex)
            {
                TelemetryExtension.Current?.TrackException(ex);
            }
        }
Exemple #4
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            switch ((MainMenuSelections)value)
            {
            case MainMenuSelections.Agenda:
                return(LocalizedResources.GetString("MainMenuItem_Agenda"));

            case MainMenuSelections.Calendar:
                return(LocalizedResources.GetString("MainMenuItem_Calendar"));

            case MainMenuSelections.Classes:
                return(LocalizedResources.GetString("MainMenuItem_Classes"));

            case MainMenuSelections.Day:
                return(LocalizedResources.GetString("MainMenuItem_Day"));

            case MainMenuSelections.Schedule:
                return(LocalizedResources.GetString("MainMenuItem_Schedule"));

            case MainMenuSelections.Settings:
                return(LocalizedResources.GetString("MainMenuItem_Settings"));

            case MainMenuSelections.Years:
                return(LocalizedResources.GetString("MainMenuItem_Years"));

            default:
                throw new NotImplementedException("Unknown MainMenuSelections enum value");
            }
        }
Exemple #5
0
        private string GetHeaderText()
        {
            switch (ViewModel.Type)
            {
            case PowerPlannerAppDataLibrary.ViewItems.TaskOrEventType.Event:
                if (IsEditing())
                {
                    return(LocalizedResources.GetString("String_EditEvent").ToUpper());
                }
                else
                {
                    return(LocalizedResources.GetString("String_AddEvent").ToUpper());
                }

            default:
                if (IsEditing())
                {
                    return(LocalizedResources.GetString("String_EditTask").ToUpper());
                }
                else
                {
                    return(LocalizedResources.GetString("String_AddTask").ToUpper());
                }
            }
        }
 private async void appBarDeleteClass_Click(object sender, RoutedEventArgs e)
 {
     if (await App.ConfirmDelete(LocalizedResources.GetString("String_ConfirmDeleteClassMessage"), LocalizedResources.GetString("String_ConfirmDeleteClassHeader")))
     {
         ViewModel.DeleteClass();
     }
 }
Exemple #7
0
        private string getHeaderText()
        {
            switch (ViewModel.Type)
            {
            case AddHomeworkViewModel.ItemType.Exam:
                if (isEditing())
                {
                    return(LocalizedResources.GetString("String_EditEvent").ToUpper());
                }
                else
                {
                    return(LocalizedResources.GetString("String_AddEvent").ToUpper());
                }

            default:
                if (isEditing())
                {
                    return(LocalizedResources.GetString("String_EditTask").ToUpper());
                }
                else
                {
                    return(LocalizedResources.GetString("String_AddTask").ToUpper());
                }
            }
        }
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            string answer;

            if (value is double && (double)value != -1)
            {
                answer = ((double)value).ToString("0.0##");
            }

            else
            {
                answer = "--";
            }

            if (parameter is string)
            {
                switch (parameter as string)
                {
                case "IncludeGPA":
                    return(string.Format(LocalizedResources.GetString("String_GPA"), answer));
                }
            }

            return(answer);
        }
 private async void ButtonDelete_Click(object sender, RoutedEventArgs e)
 {
     if (await App.ConfirmDelete(LocalizedResources.GetString("MessageDeleteSemester_Body"), LocalizedResources.GetString("MessageDeleteSemester_Title")))
     {
         ViewModel.Delete();
     }
 }
        private void UpdatePinButton()
        {
            try
            {
                if (ViewModel == null || ViewModel.ViewItemsGroupClass.Class == null)
                {
                    return;
                }

                if (ClassTileHelper.IsPinned(ViewModel.MainScreenViewModel.CurrentLocalAccountId, ViewModel.ViewItemsGroupClass.Class.Identifier))
                {
                    AppBarPinClass.Icon  = new SymbolIcon(Symbol.UnPin);
                    AppBarPinClass.Label = LocalizedResources.GetString("String_UnpinClass");
                }

                else
                {
                    AppBarPinClass.Icon  = new SymbolIcon(Symbol.Pin);
                    AppBarPinClass.Label = LocalizedResources.GetString("String_PinClass");
                }
            }

            catch (Exception ex)
            {
                TelemetryExtension.Current?.TrackException(ex);
            }
        }
        public ExportSchedulePopupView()
        {
            this.InitializeComponent();

            TextBlockTitle.Text       = LocalizedResources.GetString("String_ExportToImage");
            TextBlockDescription.Text = LocalizedResources.GetString("String_ScheduleExportToImage_Description");
        }
Exemple #12
0
        public override void OnViewModelLoadedOverride()
        {
            base.OnViewModelLoadedOverride();

            ViewModel.PropertyChanged += ViewModel_PropertyChanged;
            UpdateStartDate();
            UpdateEndDate();

            switch (ViewModel.State)
            {
            case AddClassViewModel.OperationState.Adding:
                this.Title = LocalizedResources.GetString("AddClassPage_AddTitle");
                if (_appBarButtonDelete != null)
                {
                    this.PrimaryCommands.Remove(_appBarButtonDelete);
                }
                break;

            case AddClassViewModel.OperationState.Editing:
                this.Title = LocalizedResources.GetString("AddClassPage_EditTitle");
                if (!this.PrimaryCommands.Contains(AppBarButtonDelete))
                {
                    this.PrimaryCommands.Add(AppBarButtonDelete);
                }
                break;
            }
        }
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            string answer;

            if (value is double && (double)value != -1)
            {
                answer = ((double)value).ToString("0.##");
            }

            else
            {
                answer = "--";

                if (parameter is string && (parameter as string).Equals("BlankIfNone"))
                {
                    return("");
                }
            }

            if (parameter is string)
            {
                switch (parameter as string)
                {
                case "IncludeCredits":
                    return(string.Format(LocalizedResources.GetString("String_Credits"), answer));
                }
            }

            return(answer);
        }
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            string initialString = "- ";

            if (parameter is string && (parameter as string).Equals("IncludeSpace"))
            {
                initialString = " - ";
            }

            if (value is ViewItemHomework)
            {
                if ((value as ViewItemHomework).Class.IsNoClassClass)
                {
                    return(CapitalizeFirstLetter(LocalizedResources.GetString("String_HomeworkDatePrefix")));
                }
                else
                {
                    return(initialString + LocalizedResources.GetString("String_HomeworkDatePrefix"));
                }
            }

            else if (value is ViewItemExam)
            {
                if ((value as ViewItemExam).Class.IsNoClassClass)
                {
                    return(CapitalizeFirstLetter(LocalizedResources.GetString("String_ExamDatePrefix")));
                }
                else
                {
                    return(initialString + LocalizedResources.GetString("String_ExamDatePrefix"));
                }
            }

            return(value);
        }
Exemple #15
0
        public ForgotUsernameView()
        {
            this.InitializeComponent();

            this.Title = LocalizedResources.GetString("ForgotUsername_String_MessageHeader").ToUpper();
            TextBlockExplanation.Text = LocalizedResources.GetString("ForgotUsername_String_EnterEmailAddressExplanation");
            ButtonRecover.Content     = LocalizedResources.GetString("String_Recover");
        }
Exemple #16
0
        public override void OnViewModelSetOverride()
        {
            TimePickerStartTime.Header = GetStartTimeText();
            TimePickerEndTime.Header   = LocalizedResources.GetString("String_EndTime");
            ComboBoxTimeOptions.Header = LocalizedResources.GetString("String_Time");

            ViewModel.PropertyChanged += new WeakEventHandler <System.ComponentModel.PropertyChangedEventArgs>(ViewModel_PropertyChanged).Handler;
        }
Exemple #17
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is bool && (bool)value)
            {
                return(LocalizedResources.GetString("ClassPage_ButtonHideOldExamsString"));
            }

            return(LocalizedResources.GetString("ClassPage_ButtonShowOldExamsString"));
        }
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is bool && (bool)value)
            {
                return(LocalizedResources.GetString("String_UndropGrade"));
            }

            return(LocalizedResources.GetString("String_DropGrade"));
        }
Exemple #19
0
        private string GetStartTimeText()
        {
            switch (ViewModel.Type)
            {
            case PowerPlannerAppDataLibrary.ViewItems.TaskOrEventType.Event:
                return(LocalizedResources.GetString("String_StartTime"));

            default:
                return(LocalizedResources.GetString("String_DueTime"));
            }
        }
Exemple #20
0
        private string GetStartTimeText()
        {
            switch (ViewModel.Type)
            {
            case AddHomeworkViewModel.ItemType.Exam:
                return(LocalizedResources.GetString("String_StartTime"));

            default:
                return(LocalizedResources.GetString("String_DueTime"));
            }
        }
Exemple #21
0
        private void OnScheduleChanged(DependencyPropertyChangedEventArgs e)
        {
            if (Schedule == null)
            {
                return;
            }

            var timeFormatter = new DateTimeFormatter("shorttime");

            TextBlockTime.Text = string.Format(LocalizedResources.GetString("String_TimeToTime"), timeFormatter.Format(Schedule.StartTime), timeFormatter.Format(Schedule.EndTime));
        }
Exemple #22
0
        public WeekComboBox()
        {
            base.ItemsSource = new string[]
            {
                LocalizedResources.GetString("String_BothWeeks"),
                LocalizedResources.Common.GetStringWeekA(),
                LocalizedResources.Common.GetStringWeekB()
            };

            base.SelectedIndex     = 0;
            base.SelectionChanged += WeekComboBox_SelectionChanged;
        }
        public override void OnViewModelLoadedOverride()
        {
            switch (ViewModel.State)
            {
            case AddYearViewModel.OperationState.Adding:
                base.Title = LocalizedResources.GetString("AddYearPage_Title_Adding");
                break;

            case AddYearViewModel.OperationState.Editing:
                base.Title = LocalizedResources.GetString("AddYearPage_Title_Editing");
                break;
            }
        }
Exemple #24
0
        private async void _appBarButtonDelete_Click(object sender, RoutedEventArgs e)
        {
            if (ViewModel.State == AddClassViewModel.OperationState.Editing)
            {
                if (await App.ConfirmDelete(LocalizedResources.GetString("String_ConfirmDeleteClassMessage"), LocalizedResources.GetString("String_ConfirmDeleteClassHeader")))
                {
                    ViewModel.Delete();
                    return;
                }

                return;
            }

            ViewModel.GoBack();
        }
Exemple #25
0
        public ExportSchedulePopupViewModel(BaseViewModel parent, ScheduleViewModel scheduleViewModel) : base(parent)
        {
            _scheduleViewModel = scheduleViewModel;

            Element = CreateView();

            ShareItems = new ShareItem[]
            {
                // TODO: Localize strings
                new ShareItem()
                {
                    Title       = LocalizedResources.GetString("String_ScheduleExportToImage_Clipboard_Title"),
                    Subtitle    = LocalizedResources.GetString("String_ScheduleExportToImage_Clipboard_Subtitle"),
                    ClickAction = ExportToClipboard
                },

                new ShareItem()
                {
                    Title       = LocalizedResources.GetString("String_ScheduleExportToImage_Save_Title"),
                    Subtitle    = LocalizedResources.GetString("String_ScheduleExportToImage_Save_Subtitle"),
                    ClickAction = ExportToFile
                },

                // Only include share if it's supported
                App.IsSharingSupported ? new ShareItem()
                {
                    Title       = LocalizedResources.GetString("String_ScheduleExportToImage_Share_Title"),
                    Subtitle    = LocalizedResources.GetString("String_ScheduleExportToImage_Share_Subtitle"),
                    ClickAction = ExportToShare
                } : null,

                // Cutting since implementing this is more complicated than expected.
                // See description below for more details.
                //new ShareItem()
                //{
                //    Title = "Send to printer",
                //    Subtitle = "Print an image of your schedule",
                //    ClickAction = ExportToPrinter
                //},

                new ShareItem()
                {
                    Title       = LocalizedResources.GetString("String_ScheduleExportToImage_Cancel_Title"),
                    Subtitle    = LocalizedResources.GetString("String_ScheduleExportToImage_Cancel_Subtitle"),
                    ClickAction = delegate { base.GoBack(); }
                }
            }.Where(i => i != null).ToArray();
        }
Exemple #26
0
        private async void createOfflineAccount_Tapped(object sender, TappedRoutedEventArgs e)
        {
            MessageDialog dialog = new MessageDialog(LocalizedResources.GetString("CreateAccountPage_String_WarningOfflineAccountExplanation"), LocalizedResources.GetString("CreateAccountPage_String_WarningOfflineAccount"));

            UICommand createCommand = new UICommand(LocalizedResources.GetString("String_Create"));

            dialog.Commands.Add(new UICommand(LocalizedResources.GetString("String_GoBack")));
            dialog.Commands.Add(createCommand);

            var response = await dialog.ShowAsync();

            if (response == createCommand)
            {
                ViewModel.CreateLocalAccount();
            }
        }
        public override void OnViewModelLoadedOverride()
        {
            base.OnViewModelLoadedOverride();

            switch (ViewModel.State)
            {
            case AddGradeViewModel.OperationState.Adding:
                this.Title = LocalizedResources.GetString("EditGradePage_HeaderAddString");
                break;

            case AddGradeViewModel.OperationState.AddingWhatIf:
                this.Title = LocalizedResources.GetString("EditGradePage_HeaderAddWhatIfString");
                break;

            case AddGradeViewModel.OperationState.Editing:
                this.Title = LocalizedResources.GetString("EditGradePage_HeaderEditString");
                break;

            case AddGradeViewModel.OperationState.EditingWhatIf:
                this.Title = LocalizedResources.GetString("EditGradePage_HeaderEditWhatIfString");
                break;
            }

            datePickerDate.Date = ViewModel.Date;

            if (ViewModel.State == AddGradeViewModel.OperationState.Adding ||
                ViewModel.State == AddGradeViewModel.OperationState.AddingWhatIf ||
                ViewModel.IsUnassignedItem)
            {
                if (string.IsNullOrWhiteSpace(ViewModel.Name))
                {
                    _textBoxNameEx.OnLoaded(delegate
                    {
                        tbName.Focus(FocusState.Programmatic);
                    });
                }
                else
                {
                    _textBoxGradeReceived.OnLoaded(delegate
                    {
                        tbGradeReceived.Focus(FocusState.Programmatic);
                    });
                }
            }
        }
Exemple #28
0
        public override void OnViewModelLoadedOverride()
        {
            if (ViewModel is SyncOptionsViewModel)
            {
                var viewModel = ViewModel as SyncOptionsViewModel;
                this.Title = LocalizedResources.GetString("Settings_SyncOptions_Title");
                ListBoxItems.ItemsSource = new SettingsListItem[]
                {
                    new SettingsListItem(LocalizedResources.GetString("Settings_SyncOptions_ItemImageUploadOptions_DisplayName"), typeof(ImageUploadOptionsViewModel)),
                    new SettingsListItem(LocalizedResources.GetString("Settings_SyncOptions_ItemPushNotifications_DisplayName"), typeof(PushSettingsViewModel))
                };
            }

            else if (ViewModel is TileSettingsViewModel)
            {
                this.Title = LocalizedResources.GetString("Settings_LiveTiles_Title");
                ListBoxItems.ItemsSource = new SettingsListItem[]
                {
                    new SettingsListItem(LocalizedResources.GetString("Settings_LiveTiles_ItemMainTile_DisplayName"), typeof(MainTileViewModel)),
                    new SettingsListItem(LocalizedResources.GetString("Settings_LiveTiles_ItemScheduleTile_DisplayName"), typeof(ScheduleTileViewModel)),
                    new SettingsListItem(LocalizedResources.GetString("Settings_LiveTiles_ItemClassTiles_DisplayName"), typeof(ClassTilesPagedHostViewModel)),
                    new SettingsListItem(LocalizedResources.GetString("Settings_LiveTiles_ItemQuickAddTile_DisplayName"), typeof(QuickAddTileViewModel))
                };
            }

            else if (ViewModel is CalendarIntegrationViewModel)
            {
                this.Title = LocalizedResources.GetString("Settings_CalendarIntegration_Title");
                ListBoxItems.ItemsSource = new SettingsListItem[]
                {
                    new SettingsListItem(LocalizedResources.GetString("Settings_CalendarIntegration_ItemTasks_DisplayName"), typeof(CalendarIntegrationTasksViewModel)),
                    new SettingsListItem(LocalizedResources.GetString("Settings_CalendarIntegration_ItemClasses_DisplayName"), typeof(CalendarIntegrationClassesViewModel))
                };
            }

            else
            {
                throw new NotImplementedException();
            }

            ViewModel.PropertyChanged += ViewModel_PropertyChanged;
            UpdateState();
        }
        public override void OnViewModelSetOverride()
        {
            base.OnViewModelSetOverride();

            ViewModel.PropertyChanged += ViewModel_PropertyChanged;
            UpdateStartDate();
            UpdateEndDate();

            switch (ViewModel.State)
            {
            case AddHolidayViewModel.OperationState.Adding:
                this.Title = LocalizedResources.GetString("String_AddHoliday").ToUpper();
                break;

            case AddHolidayViewModel.OperationState.Editing:
                this.Title = LocalizedResources.GetString("String_EditHoliday").ToUpper();
                break;
            }
        }
Exemple #30
0
        private void UpdateIsLoggingInOnline()
        {
            if (ViewModel.IsLoggingInOnline)
            {
                if (_loadingPopupIsLoggingInOnline == null)
                {
                    _loadingPopupIsLoggingInOnline = new LoadingPopup()
                    {
                        Text = LocalizedResources.GetString("LoginPage_String_LoggingIn")
                    };
                }

                _loadingPopupIsLoggingInOnline.Show();
            }

            else
            {
                _loadingPopupIsLoggingInOnline?.Close();
            }
        }