// Event Handlers - Activations protected override void OnLaunched(LaunchActivatedEventArgs e) // Occurrence // - when user launches app (ie. tile selection) // - during prelaunch, when system launches app // Assumptions // - prelaunch is disabled by default (post v1607) // - when enabled, may be prelaunch or may have already prelaunched // - app may not immediately be visible (eg. prelaunch) // - previous state unknown (eg. user terminated, system terminated, crashed/hasn't-run, suspended, running) // - app will feel unresponsive if execution exceeds a few seconds // Actions // - initial app resources and state // - register event handlers // - configure and set initial page (on user launch) // - display splash screen (on user launch) // - (utilize custom SplashScreen if initialization requires more time) { if (App.State == null) { var systemTime = new SystemTimeDev(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")); var taskAide = new TaskAide(new Database("Filename=TaskAide.db"), systemTime, new TimerDev(systemTime)); systemTime.Rewound += taskAide.OnSystemRewound; var appEvents = new AppEvents(); appEvents.TaskAdded += (s, args) => taskAide.AddTask(args.Name); appEvents.TaskNameChanged += (s, args) => taskAide.RenameTask(args.Task, args.NewName); appEvents.TaskRemoved += (s, args) => taskAide.RemoveTask(args.Task); appEvents.UserChangedInterval += (s, args) => taskAide.UserChangedInterval(args.Interval, args.StartDelta, args.SpanDelta); appEvents.UserSwitchedTasks += (s, args) => taskAide.SwitchTasks(args.Task); if ((e.PreviousExecutionState == ApplicationExecutionState.ClosedByUser) || (e.PreviousExecutionState == ApplicationExecutionState.Terminated)) { // restore previous user session state } App.Events = appEvents; App.Settings = new AppSettings(); App.State = taskAide; } if (!e.PrelaunchActivated) { if (Window.Current.Content == null) { Window.Current.Content = new AppNavigation(); } Window.Current.Activate(); } }
public void Rename() { // Configure var refTask = this.tasks[1]; var newName = "newName"; // Setup var controller = new TaskAide(db, this.systemTime, this.timer); var model = controller.TaskList; var task = model.Tasks[model.Tasks.IndexOf(refTask)]; Assert.Equal(refTask.Name, task.Name); // Test controller.RenameTask(task, newName); // Confirm task = model.Tasks[model.Tasks.IndexOf(refTask)]; Assert.Equal(newName, task.Name); // Restore controller.RenameTask(task, refTask.Name); }
private void RenameTask(ITask renameTask, string name) { // Configure // Setup var controller = new TaskAide(db, this.systemTime, this.timer); // Test controller.RenameTask(renameTask, name); // Confirm var task = controller.GetTask(renameTask.TID); Assert.NotNull(task); Assert.Equal(name, task.Name); }