├── README.md
├── UWP.TaskManagement
├── Assets
│ ├── StoreLogo.png
│ ├── SplashScreen.scale-200.png
│ ├── LockScreenLogo.scale-200.png
│ ├── Square44x44Logo.scale-200.png
│ ├── Wide310x150Logo.scale-200.png
│ ├── Square150x150Logo.scale-200.png
│ └── Square44x44Logo.targetsize-24_altform-unplated.png
├── App.xaml
├── MainPage.xaml.cs
├── MainPage.xaml
├── Properties
│ ├── AssemblyInfo.cs
│ └── Default.rd.xml
├── Package.appxmanifest
├── App.xaml.cs
└── UWP.TaskManagement.csproj
├── Library.TaskManagement
├── Library.TaskManagement.csproj
├── Services
│ ├── ItemService.cs
│ └── ToDoService.cs
└── Models
│ ├── Item.cs
│ ├── ToDo.cs
│ └── Appointment.cs
├── App.TaskManagement
├── App.TaskManagement.csproj
├── Helpers
│ └── ItemHelper.cs
└── Program.cs
├── LICENSE
├── App.TaskManagement.sln
└── .gitignore
/README.md:
--------------------------------------------------------------------------------
1 | # CSharpSpring23
2 | In-class CSharp project for Spring 2023
3 |
--------------------------------------------------------------------------------
/UWP.TaskManagement/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crmillsfsu/CSharpSpring23/HEAD/UWP.TaskManagement/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/UWP.TaskManagement/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crmillsfsu/CSharpSpring23/HEAD/UWP.TaskManagement/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/UWP.TaskManagement/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crmillsfsu/CSharpSpring23/HEAD/UWP.TaskManagement/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/UWP.TaskManagement/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crmillsfsu/CSharpSpring23/HEAD/UWP.TaskManagement/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/UWP.TaskManagement/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crmillsfsu/CSharpSpring23/HEAD/UWP.TaskManagement/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/UWP.TaskManagement/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crmillsfsu/CSharpSpring23/HEAD/UWP.TaskManagement/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/UWP.TaskManagement/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/crmillsfsu/CSharpSpring23/HEAD/UWP.TaskManagement/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/UWP.TaskManagement/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Library.TaskManagement/Library.TaskManagement.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | enable
6 | enable
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Library.TaskManagement/Services/ItemService.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Library.TaskManagement.Services
8 | {
9 | public class ItemService
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/App.TaskManagement/App.TaskManagement.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Exe
5 | net6.0
6 | enable
7 | enable
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Library.TaskManagement/Models/Item.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Library.TaskManagement.Models
8 | {
9 | public class Item
10 | {
11 | public string Name { get; set; }
12 | public string Description { get; set; }
13 |
14 | public virtual string Display => $"{Name} - {Description}";
15 |
16 |
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Library.TaskManagement/Models/ToDo.cs:
--------------------------------------------------------------------------------
1 | namespace Library.TaskManagement.Models
2 | {
3 | public class ToDo : Item
4 | {
5 | public bool IsComplete { get; set; }
6 |
7 | public ToDo()
8 | {
9 |
10 | }
11 |
12 | public override string ToString()
13 | {
14 | return Display;
15 | }
16 |
17 | public ToDo(Item i)
18 | {
19 | Name = i.Name;
20 | Description = i.Description;
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Library.TaskManagement/Models/Appointment.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace Library.TaskManagement.Models
8 | {
9 | public class Appointment : Item
10 | {
11 | public DateTime Start { get; set; }
12 | public DateTime End { get; set; }
13 |
14 | public List Attendees { get; set; }
15 |
16 | public override string Display => $"{base.Display}\n{Start} - {End}";
17 |
18 | public Appointment()
19 | {
20 |
21 | }
22 |
23 | public Appointment(Item i)
24 | {
25 | Name = i.Name;
26 | Description = i.Description;
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/UWP.TaskManagement/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.Foundation;
7 | using Windows.Foundation.Collections;
8 | using Windows.UI.Xaml;
9 | using Windows.UI.Xaml.Controls;
10 | using Windows.UI.Xaml.Controls.Primitives;
11 | using Windows.UI.Xaml.Data;
12 | using Windows.UI.Xaml.Input;
13 | using Windows.UI.Xaml.Media;
14 | using Windows.UI.Xaml.Navigation;
15 |
16 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
17 |
18 | namespace UWP.TaskManagement
19 | {
20 | ///
21 | /// An empty page that can be used on its own or navigated to within a Frame.
22 | ///
23 | public sealed partial class MainPage : Page
24 | {
25 | public MainPage()
26 | {
27 | this.InitializeComponent();
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Library.TaskManagement/Services/ToDoService.cs:
--------------------------------------------------------------------------------
1 | using Library.TaskManagement.Models;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 |
8 | namespace Library.TaskManagement.Services
9 | {
10 | public class ToDoService
11 | {
12 | private static object _lock = new object();
13 | private static ToDoService _instance;
14 | public static ToDoService Current
15 | {
16 | get
17 | {
18 | if (_instance == null)
19 | {
20 | _instance = new ToDoService();
21 | }
22 | return _instance;
23 | }
24 | }
25 |
26 | public List- Tasks { get; set; }
27 | private ToDoService()
28 | {
29 | Tasks = new List
- ();
30 | }
31 |
32 | public void AddToDo(ToDo t)
33 | {
34 | Tasks.Add(t);
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 crmillsfsu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/UWP.TaskManagement/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/UWP.TaskManagement/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("UWP.TaskManagement")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("UWP.TaskManagement")]
13 | [assembly: AssemblyCopyright("Copyright © 2023")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Version information for an assembly consists of the following four values:
18 | //
19 | // Major Version
20 | // Minor Version
21 | // Build Number
22 | // Revision
23 | //
24 | // You can specify all the values or you can default the Build and Revision Numbers
25 | // by using the '*' as shown below:
26 | // [assembly: AssemblyVersion("1.0.*")]
27 | [assembly: AssemblyVersion("1.0.0.0")]
28 | [assembly: AssemblyFileVersion("1.0.0.0")]
29 | [assembly: ComVisible(false)]
--------------------------------------------------------------------------------
/UWP.TaskManagement/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/UWP.TaskManagement/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
13 |
14 |
15 |
16 |
17 | UWP.TaskManagement
18 | chris.mills
19 | Assets\StoreLogo.png
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/App.TaskManagement/Helpers/ItemHelper.cs:
--------------------------------------------------------------------------------
1 | using Library.TaskManagement.Models;
2 | using Library.TaskManagement.Services;
3 | using System;
4 | using System.Collections.Generic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 |
9 | namespace App.TaskManagement.Helpers
10 | {
11 | public class ItemHelper
12 | {
13 | private ToDoService toDoService;
14 |
15 | public ItemHelper()
16 | {
17 | this.toDoService = ToDoService.Current;
18 | }
19 |
20 | public List
- Items
21 | {
22 | get
23 | {
24 | return toDoService.Tasks.ToList();
25 | }
26 | }
27 |
28 | public void Add()
29 | {
30 | var isToDo = true;
31 | Console.WriteLine("Is this task a Calendar Appointment?");
32 | var response = Console.ReadLine() ?? string.Empty;
33 | if (response.Equals("Y", StringComparison.InvariantCultureIgnoreCase))
34 | {
35 | isToDo = false;
36 | }
37 |
38 | var newTask = new Item();
39 |
40 | Console.WriteLine("Enter a name:");
41 | newTask.Name = Console.ReadLine() ?? string.Empty;
42 |
43 | Console.WriteLine("Enter a description:");
44 | newTask.Description = Console.ReadLine() ?? string.Empty;
45 |
46 | if (isToDo)
47 | {
48 | var newTodo = new ToDo(newTask);
49 |
50 | newTodo.IsComplete = false;
51 | toDoService.AddToDo(newTodo);
52 | }
53 | else
54 | {
55 | var newAppointment = new Appointment(newTask);
56 |
57 | newAppointment.Start = DateTime.Now;
58 | newAppointment.End = DateTime.Now.AddHours(1);
59 |
60 | Console.WriteLine("Add any attendees by email address (Q to quit):");
61 | var input = Console.ReadLine() ?? string.Empty;
62 | while (!input.Equals("Q", StringComparison.InvariantCultureIgnoreCase))
63 | {
64 | newAppointment.Attendees.Add(input);
65 | input = Console.ReadLine() ?? string.Empty;
66 | }
67 |
68 | toDoService.Tasks.Add(newAppointment);
69 | }
70 | }
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/UWP.TaskManagement/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Linq;
5 | using System.Runtime.InteropServices.WindowsRuntime;
6 | using Windows.ApplicationModel;
7 | using Windows.ApplicationModel.Activation;
8 | using Windows.Foundation;
9 | using Windows.Foundation.Collections;
10 | using Windows.UI.Xaml;
11 | using Windows.UI.Xaml.Controls;
12 | using Windows.UI.Xaml.Controls.Primitives;
13 | using Windows.UI.Xaml.Data;
14 | using Windows.UI.Xaml.Input;
15 | using Windows.UI.Xaml.Media;
16 | using Windows.UI.Xaml.Navigation;
17 |
18 | namespace UWP.TaskManagement
19 | {
20 | ///
21 | /// Provides application-specific behavior to supplement the default Application class.
22 | ///
23 | sealed partial class App : Application
24 | {
25 | ///
26 | /// Initializes the singleton application object. This is the first line of authored code
27 | /// executed, and as such is the logical equivalent of main() or WinMain().
28 | ///
29 | public App()
30 | {
31 | this.InitializeComponent();
32 | this.Suspending += OnSuspending;
33 | }
34 |
35 | ///
36 | /// Invoked when the application is launched normally by the end user. Other entry points
37 | /// will be used such as when the application is launched to open a specific file.
38 | ///
39 | /// Details about the launch request and process.
40 | protected override void OnLaunched(LaunchActivatedEventArgs e)
41 | {
42 | Frame rootFrame = Window.Current.Content as Frame;
43 |
44 | // Do not repeat app initialization when the Window already has content,
45 | // just ensure that the window is active
46 | if (rootFrame == null)
47 | {
48 | // Create a Frame to act as the navigation context and navigate to the first page
49 | rootFrame = new Frame();
50 |
51 | rootFrame.NavigationFailed += OnNavigationFailed;
52 |
53 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
54 | {
55 | //TODO: Load state from previously suspended application
56 | }
57 |
58 | // Place the frame in the current Window
59 | Window.Current.Content = rootFrame;
60 | }
61 |
62 | if (e.PrelaunchActivated == false)
63 | {
64 | if (rootFrame.Content == null)
65 | {
66 | // When the navigation stack isn't restored navigate to the first page,
67 | // configuring the new page by passing required information as a navigation
68 | // parameter
69 | rootFrame.Navigate(typeof(MainPage), e.Arguments);
70 | }
71 | // Ensure the current window is active
72 | Window.Current.Activate();
73 | }
74 | }
75 |
76 | ///
77 | /// Invoked when Navigation to a certain page fails
78 | ///
79 | /// The Frame which failed navigation
80 | /// Details about the navigation failure
81 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
82 | {
83 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
84 | }
85 |
86 | ///
87 | /// Invoked when application execution is being suspended. Application state is saved
88 | /// without knowing whether the application will be terminated or resumed with the contents
89 | /// of memory still intact.
90 | ///
91 | /// The source of the suspend request.
92 | /// Details about the suspend request.
93 | private void OnSuspending(object sender, SuspendingEventArgs e)
94 | {
95 | var deferral = e.SuspendingOperation.GetDeferral();
96 | //TODO: Save application state and stop any background activity
97 | deferral.Complete();
98 | }
99 | }
100 | }
101 |
--------------------------------------------------------------------------------
/App.TaskManagement/Program.cs:
--------------------------------------------------------------------------------
1 |
2 | using App.TaskManagement.Helpers;
3 | using Library.TaskManagement.Models;
4 | using Library.TaskManagement.Services;
5 |
6 | namespace MyApp // Note: actual namespace depends on the project name.
7 | {
8 | internal class Program
9 | {
10 | static void Main(string[] args)
11 | {
12 |
13 | var todoHelper = new ItemHelper();
14 | var todoHelper2 = new ItemHelper();
15 |
16 | bool cont = true;
17 | while (cont)
18 | {
19 | Console.WriteLine("Choose an option:");
20 | Console.WriteLine("1. Add a task");
21 | Console.WriteLine("2. Delete a task");
22 | Console.WriteLine("3. Update a task");
23 | Console.WriteLine("4. List all the tasks");
24 | Console.WriteLine("5. Search for tasks");
25 | Console.WriteLine("6. Exit");
26 |
27 | string choice = Console.ReadLine() ?? string.Empty;
28 |
29 | if (int.TryParse(choice, out int choiceInt))
30 | {
31 | if (choiceInt == 1)
32 | {
33 | todoHelper.Add();
34 |
35 |
36 | } else if(choiceInt == 2)
37 | {
38 | Console.WriteLine("Which of the tasks would you like to remove?");
39 | todoHelper.Items.ForEach(number => Console.WriteLine(number));
40 | int toDelete;
41 | while (!int.TryParse(Console.ReadLine(), out toDelete))
42 | {
43 | Console.WriteLine("Invalid Selection. Please try again.");
44 | todoHelper.Items.ForEach(number => Console.WriteLine(number));
45 |
46 | int.TryParse(Console.ReadLine(), out toDelete);
47 | }
48 |
49 | todoHelper.Items.RemoveAt(toDelete);
50 | } else if (choiceInt == 3)
51 | {
52 | Console.WriteLine("Which of the tasks would you like to edit?");
53 |
54 | todoHelper.Items.ForEach(number => Console.WriteLine(number));
55 | int toDelete;
56 | while (!int.TryParse(Console.ReadLine(), out toDelete))
57 | {
58 | Console.WriteLine("Invalid Selection. Please try again.");
59 | todoHelper.Items.ForEach(number => Console.WriteLine(number));
60 |
61 | int.TryParse(Console.ReadLine(), out toDelete);
62 | }
63 |
64 | var taskToEdit = todoHelper.Items.ElementAt(toDelete);
65 |
66 | Console.WriteLine("What property do you want to edit?");
67 | Console.WriteLine("1. Name");
68 | Console.WriteLine("2. Description");
69 |
70 | if (taskToEdit is Appointment)
71 | {
72 | Console.WriteLine("3. Start");
73 | Console.WriteLine("4. End");
74 | } else
75 | {
76 |
77 | }
78 |
79 | var propertyChoice = int.Parse(Console.ReadLine() ?? "0");
80 | switch(propertyChoice)
81 | {
82 | case 1:
83 | Console.WriteLine("What is the new Name?");
84 | taskToEdit.Name = Console.ReadLine() ?? string.Empty;
85 | break;
86 | case 2:
87 | Console.WriteLine("What is the new description?");
88 | taskToEdit.Description = Console.ReadLine() ?? string.Empty;
89 | break;
90 | default:
91 | Console.WriteLine("Sorry, that functionality hasn't been implemented yet!");
92 | break;
93 | }
94 | }
95 | else if (choiceInt == 4)
96 | {
97 | todoHelper.Items.ForEach(number => Console.WriteLine(number));
98 | }
99 | else if (choiceInt == 5)
100 | {
101 | Console.WriteLine("Enter a search term:");
102 | var query = Console.ReadLine();
103 |
104 | var filteredTasks = todoHelper.Items
105 | .Where(t =>
106 | ((t is Appointment) || ((t is ToDo) && (t as ToDo).IsComplete)) &&
107 | (t.Name.Contains(query, StringComparison.InvariantCultureIgnoreCase)
108 | || t.Description.Contains(query, StringComparison.InvariantCultureIgnoreCase))
109 | );
110 |
111 | //note that ToList() here is OK because we are just temporarily using the deep copy!
112 | filteredTasks.ToList().ForEach(task => Console.WriteLine(task));
113 | }
114 | else if (choiceInt == 6)
115 | {
116 | cont = false;
117 | }
118 | }
119 | }
120 | }
121 | }
122 | }
--------------------------------------------------------------------------------
/App.TaskManagement.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 17
4 | VisualStudioVersion = 17.1.31911.260
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "App.TaskManagement", "App.TaskManagement\App.TaskManagement.csproj", "{A443F8DC-EA26-4DB1-AC3F-F1D571768126}"
7 | EndProject
8 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Library.TaskManagement", "Library.TaskManagement\Library.TaskManagement.csproj", "{35676866-DAC3-43C6-B07A-E636DFBCD7A5}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UWP.TaskManagement", "UWP.TaskManagement\UWP.TaskManagement.csproj", "{3E926DAC-16F0-4029-900E-0D173A17FA0A}"
11 | EndProject
12 | Global
13 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
14 | Debug|Any CPU = Debug|Any CPU
15 | Debug|ARM = Debug|ARM
16 | Debug|ARM64 = Debug|ARM64
17 | Debug|x64 = Debug|x64
18 | Debug|x86 = Debug|x86
19 | Release|Any CPU = Release|Any CPU
20 | Release|ARM = Release|ARM
21 | Release|ARM64 = Release|ARM64
22 | Release|x64 = Release|x64
23 | Release|x86 = Release|x86
24 | EndGlobalSection
25 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
26 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|Any CPU.Build.0 = Debug|Any CPU
28 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|ARM.ActiveCfg = Debug|Any CPU
29 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|ARM.Build.0 = Debug|Any CPU
30 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|ARM64.ActiveCfg = Debug|Any CPU
31 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|ARM64.Build.0 = Debug|Any CPU
32 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|x64.ActiveCfg = Debug|Any CPU
33 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|x64.Build.0 = Debug|Any CPU
34 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|x86.ActiveCfg = Debug|Any CPU
35 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Debug|x86.Build.0 = Debug|Any CPU
36 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|Any CPU.ActiveCfg = Release|Any CPU
37 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|Any CPU.Build.0 = Release|Any CPU
38 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|ARM.ActiveCfg = Release|Any CPU
39 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|ARM.Build.0 = Release|Any CPU
40 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|ARM64.ActiveCfg = Release|Any CPU
41 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|ARM64.Build.0 = Release|Any CPU
42 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|x64.ActiveCfg = Release|Any CPU
43 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|x64.Build.0 = Release|Any CPU
44 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|x86.ActiveCfg = Release|Any CPU
45 | {A443F8DC-EA26-4DB1-AC3F-F1D571768126}.Release|x86.Build.0 = Release|Any CPU
46 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
47 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
48 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|ARM.ActiveCfg = Debug|Any CPU
49 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|ARM.Build.0 = Debug|Any CPU
50 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
51 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|ARM64.Build.0 = Debug|Any CPU
52 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|x64.ActiveCfg = Debug|Any CPU
53 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|x64.Build.0 = Debug|Any CPU
54 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|x86.ActiveCfg = Debug|Any CPU
55 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Debug|x86.Build.0 = Debug|Any CPU
56 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
57 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|Any CPU.Build.0 = Release|Any CPU
58 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|ARM.ActiveCfg = Release|Any CPU
59 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|ARM.Build.0 = Release|Any CPU
60 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|ARM64.ActiveCfg = Release|Any CPU
61 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|ARM64.Build.0 = Release|Any CPU
62 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|x64.ActiveCfg = Release|Any CPU
63 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|x64.Build.0 = Release|Any CPU
64 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|x86.ActiveCfg = Release|Any CPU
65 | {35676866-DAC3-43C6-B07A-E636DFBCD7A5}.Release|x86.Build.0 = Release|Any CPU
66 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|Any CPU.ActiveCfg = Debug|x64
67 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|Any CPU.Build.0 = Debug|x64
68 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|Any CPU.Deploy.0 = Debug|x64
69 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|ARM.ActiveCfg = Debug|ARM
70 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|ARM.Build.0 = Debug|ARM
71 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|ARM.Deploy.0 = Debug|ARM
72 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|ARM64.ActiveCfg = Debug|ARM64
73 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|ARM64.Build.0 = Debug|ARM64
74 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|ARM64.Deploy.0 = Debug|ARM64
75 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|x64.ActiveCfg = Debug|x64
76 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|x64.Build.0 = Debug|x64
77 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|x64.Deploy.0 = Debug|x64
78 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|x86.ActiveCfg = Debug|x86
79 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|x86.Build.0 = Debug|x86
80 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Debug|x86.Deploy.0 = Debug|x86
81 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|Any CPU.ActiveCfg = Release|x64
82 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|Any CPU.Build.0 = Release|x64
83 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|Any CPU.Deploy.0 = Release|x64
84 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|ARM.ActiveCfg = Release|ARM
85 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|ARM.Build.0 = Release|ARM
86 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|ARM.Deploy.0 = Release|ARM
87 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|ARM64.ActiveCfg = Release|ARM64
88 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|ARM64.Build.0 = Release|ARM64
89 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|ARM64.Deploy.0 = Release|ARM64
90 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|x64.ActiveCfg = Release|x64
91 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|x64.Build.0 = Release|x64
92 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|x64.Deploy.0 = Release|x64
93 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|x86.ActiveCfg = Release|x86
94 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|x86.Build.0 = Release|x86
95 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}.Release|x86.Deploy.0 = Release|x86
96 | EndGlobalSection
97 | GlobalSection(SolutionProperties) = preSolution
98 | HideSolutionNode = FALSE
99 | EndGlobalSection
100 | GlobalSection(ExtensibilityGlobals) = postSolution
101 | SolutionGuid = {7050C956-257A-419C-A118-308A245A9C91}
102 | EndGlobalSection
103 | EndGlobal
104 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.rsuser
8 | *.suo
9 | *.user
10 | *.userosscache
11 | *.sln.docstates
12 |
13 | # User-specific files (MonoDevelop/Xamarin Studio)
14 | *.userprefs
15 |
16 | # Mono auto generated files
17 | mono_crash.*
18 |
19 | # Build results
20 | [Dd]ebug/
21 | [Dd]ebugPublic/
22 | [Rr]elease/
23 | [Rr]eleases/
24 | x64/
25 | x86/
26 | [Aa][Rr][Mm]/
27 | [Aa][Rr][Mm]64/
28 | bld/
29 | [Bb]in/
30 | [Oo]bj/
31 | [Ll]og/
32 | [Ll]ogs/
33 |
34 | # Visual Studio 2015/2017 cache/options directory
35 | .vs/
36 | # Uncomment if you have tasks that create the project's static files in wwwroot
37 | #wwwroot/
38 |
39 | # Visual Studio 2017 auto generated files
40 | Generated\ Files/
41 |
42 | # MSTest test Results
43 | [Tt]est[Rr]esult*/
44 | [Bb]uild[Ll]og.*
45 |
46 | # NUnit
47 | *.VisualState.xml
48 | TestResult.xml
49 | nunit-*.xml
50 |
51 | # Build Results of an ATL Project
52 | [Dd]ebugPS/
53 | [Rr]eleasePS/
54 | dlldata.c
55 |
56 | # Benchmark Results
57 | BenchmarkDotNet.Artifacts/
58 |
59 | # .NET Core
60 | project.lock.json
61 | project.fragment.lock.json
62 | artifacts/
63 |
64 | # StyleCop
65 | StyleCopReport.xml
66 |
67 | # Files built by Visual Studio
68 | *_i.c
69 | *_p.c
70 | *_h.h
71 | *.ilk
72 | *.meta
73 | *.obj
74 | *.iobj
75 | *.pch
76 | *.pdb
77 | *.ipdb
78 | *.pgc
79 | *.pgd
80 | *.rsp
81 | *.sbr
82 | *.tlb
83 | *.tli
84 | *.tlh
85 | *.tmp
86 | *.tmp_proj
87 | *_wpftmp.csproj
88 | *.log
89 | *.vspscc
90 | *.vssscc
91 | .builds
92 | *.pidb
93 | *.svclog
94 | *.scc
95 |
96 | # Chutzpah Test files
97 | _Chutzpah*
98 |
99 | # Visual C++ cache files
100 | ipch/
101 | *.aps
102 | *.ncb
103 | *.opendb
104 | *.opensdf
105 | *.sdf
106 | *.cachefile
107 | *.VC.db
108 | *.VC.VC.opendb
109 |
110 | # Visual Studio profiler
111 | *.psess
112 | *.vsp
113 | *.vspx
114 | *.sap
115 |
116 | # Visual Studio Trace Files
117 | *.e2e
118 |
119 | # TFS 2012 Local Workspace
120 | $tf/
121 |
122 | # Guidance Automation Toolkit
123 | *.gpState
124 |
125 | # ReSharper is a .NET coding add-in
126 | _ReSharper*/
127 | *.[Rr]e[Ss]harper
128 | *.DotSettings.user
129 |
130 | # TeamCity is a build add-in
131 | _TeamCity*
132 |
133 | # DotCover is a Code Coverage Tool
134 | *.dotCover
135 |
136 | # AxoCover is a Code Coverage Tool
137 | .axoCover/*
138 | !.axoCover/settings.json
139 |
140 | # Visual Studio code coverage results
141 | *.coverage
142 | *.coveragexml
143 |
144 | # NCrunch
145 | _NCrunch_*
146 | .*crunch*.local.xml
147 | nCrunchTemp_*
148 |
149 | # MightyMoose
150 | *.mm.*
151 | AutoTest.Net/
152 |
153 | # Web workbench (sass)
154 | .sass-cache/
155 |
156 | # Installshield output folder
157 | [Ee]xpress/
158 |
159 | # DocProject is a documentation generator add-in
160 | DocProject/buildhelp/
161 | DocProject/Help/*.HxT
162 | DocProject/Help/*.HxC
163 | DocProject/Help/*.hhc
164 | DocProject/Help/*.hhk
165 | DocProject/Help/*.hhp
166 | DocProject/Help/Html2
167 | DocProject/Help/html
168 |
169 | # Click-Once directory
170 | publish/
171 |
172 | # Publish Web Output
173 | *.[Pp]ublish.xml
174 | *.azurePubxml
175 | # Note: Comment the next line if you want to checkin your web deploy settings,
176 | # but database connection strings (with potential passwords) will be unencrypted
177 | *.pubxml
178 | *.publishproj
179 |
180 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
181 | # checkin your Azure Web App publish settings, but sensitive information contained
182 | # in these scripts will be unencrypted
183 | PublishScripts/
184 |
185 | # NuGet Packages
186 | *.nupkg
187 | # NuGet Symbol Packages
188 | *.snupkg
189 | # The packages folder can be ignored because of Package Restore
190 | **/[Pp]ackages/*
191 | # except build/, which is used as an MSBuild target.
192 | !**/[Pp]ackages/build/
193 | # Uncomment if necessary however generally it will be regenerated when needed
194 | #!**/[Pp]ackages/repositories.config
195 | # NuGet v3's project.json files produces more ignorable files
196 | *.nuget.props
197 | *.nuget.targets
198 |
199 | # Microsoft Azure Build Output
200 | csx/
201 | *.build.csdef
202 |
203 | # Microsoft Azure Emulator
204 | ecf/
205 | rcf/
206 |
207 | # Windows Store app package directories and files
208 | AppPackages/
209 | BundleArtifacts/
210 | Package.StoreAssociation.xml
211 | _pkginfo.txt
212 | *.appx
213 | *.appxbundle
214 | *.appxupload
215 |
216 | # Visual Studio cache files
217 | # files ending in .cache can be ignored
218 | *.[Cc]ache
219 | # but keep track of directories ending in .cache
220 | !?*.[Cc]ache/
221 |
222 | # Others
223 | ClientBin/
224 | ~$*
225 | *~
226 | *.dbmdl
227 | *.dbproj.schemaview
228 | *.jfm
229 | *.pfx
230 | *.publishsettings
231 | orleans.codegen.cs
232 |
233 | # Including strong name files can present a security risk
234 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
235 | #*.snk
236 |
237 | # Since there are multiple workflows, uncomment next line to ignore bower_components
238 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
239 | #bower_components/
240 |
241 | # RIA/Silverlight projects
242 | Generated_Code/
243 |
244 | # Backup & report files from converting an old project file
245 | # to a newer Visual Studio version. Backup files are not needed,
246 | # because we have git ;-)
247 | _UpgradeReport_Files/
248 | Backup*/
249 | UpgradeLog*.XML
250 | UpgradeLog*.htm
251 | ServiceFabricBackup/
252 | *.rptproj.bak
253 |
254 | # SQL Server files
255 | *.mdf
256 | *.ldf
257 | *.ndf
258 |
259 | # Business Intelligence projects
260 | *.rdl.data
261 | *.bim.layout
262 | *.bim_*.settings
263 | *.rptproj.rsuser
264 | *- [Bb]ackup.rdl
265 | *- [Bb]ackup ([0-9]).rdl
266 | *- [Bb]ackup ([0-9][0-9]).rdl
267 |
268 | # Microsoft Fakes
269 | FakesAssemblies/
270 |
271 | # GhostDoc plugin setting file
272 | *.GhostDoc.xml
273 |
274 | # Node.js Tools for Visual Studio
275 | .ntvs_analysis.dat
276 | node_modules/
277 |
278 | # Visual Studio 6 build log
279 | *.plg
280 |
281 | # Visual Studio 6 workspace options file
282 | *.opt
283 |
284 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
285 | *.vbw
286 |
287 | # Visual Studio LightSwitch build output
288 | **/*.HTMLClient/GeneratedArtifacts
289 | **/*.DesktopClient/GeneratedArtifacts
290 | **/*.DesktopClient/ModelManifest.xml
291 | **/*.Server/GeneratedArtifacts
292 | **/*.Server/ModelManifest.xml
293 | _Pvt_Extensions
294 |
295 | # Paket dependency manager
296 | .paket/paket.exe
297 | paket-files/
298 |
299 | # FAKE - F# Make
300 | .fake/
301 |
302 | # CodeRush personal settings
303 | .cr/personal
304 |
305 | # Python Tools for Visual Studio (PTVS)
306 | __pycache__/
307 | *.pyc
308 |
309 | # Cake - Uncomment if you are using it
310 | # tools/**
311 | # !tools/packages.config
312 |
313 | # Tabs Studio
314 | *.tss
315 |
316 | # Telerik's JustMock configuration file
317 | *.jmconfig
318 |
319 | # BizTalk build output
320 | *.btp.cs
321 | *.btm.cs
322 | *.odx.cs
323 | *.xsd.cs
324 |
325 | # OpenCover UI analysis results
326 | OpenCover/
327 |
328 | # Azure Stream Analytics local run output
329 | ASALocalRun/
330 |
331 | # MSBuild Binary and Structured Log
332 | *.binlog
333 |
334 | # NVidia Nsight GPU debugger configuration file
335 | *.nvuser
336 |
337 | # MFractors (Xamarin productivity tool) working folder
338 | .mfractor/
339 |
340 | # Local History for Visual Studio
341 | .localhistory/
342 |
343 | # BeatPulse healthcheck temp database
344 | healthchecksdb
345 |
346 | # Backup folder for Package Reference Convert tool in Visual Studio 2017
347 | MigrationBackup/
348 |
349 | # Ionide (cross platform F# VS Code tools) working folder
350 | .ionide/
351 |
--------------------------------------------------------------------------------
/UWP.TaskManagement/UWP.TaskManagement.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | x86
7 | {3E926DAC-16F0-4029-900E-0D173A17FA0A}
8 | AppContainerExe
9 | Properties
10 | UWP.TaskManagement
11 | UWP.TaskManagement
12 | en-US
13 | UAP
14 | 10.0.19041.0
15 | 10.0.17763.0
16 | 14
17 | 512
18 | {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
19 | true
20 | false
21 |
22 |
23 | true
24 | bin\x86\Debug\
25 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
26 | ;2008
27 | full
28 | x86
29 | false
30 | prompt
31 | true
32 |
33 |
34 | bin\x86\Release\
35 | TRACE;NETFX_CORE;WINDOWS_UWP
36 | true
37 | ;2008
38 | pdbonly
39 | x86
40 | false
41 | prompt
42 | true
43 | true
44 |
45 |
46 | true
47 | bin\ARM\Debug\
48 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
49 | ;2008
50 | full
51 | ARM
52 | false
53 | prompt
54 | true
55 |
56 |
57 | bin\ARM\Release\
58 | TRACE;NETFX_CORE;WINDOWS_UWP
59 | true
60 | ;2008
61 | pdbonly
62 | ARM
63 | false
64 | prompt
65 | true
66 | true
67 |
68 |
69 | true
70 | bin\ARM64\Debug\
71 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
72 | ;2008
73 | full
74 | ARM64
75 | false
76 | prompt
77 | true
78 | true
79 |
80 |
81 | bin\ARM64\Release\
82 | TRACE;NETFX_CORE;WINDOWS_UWP
83 | true
84 | ;2008
85 | pdbonly
86 | ARM64
87 | false
88 | prompt
89 | true
90 | true
91 |
92 |
93 | true
94 | bin\x64\Debug\
95 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
96 | ;2008
97 | full
98 | x64
99 | false
100 | prompt
101 | true
102 |
103 |
104 | bin\x64\Release\
105 | TRACE;NETFX_CORE;WINDOWS_UWP
106 | true
107 | ;2008
108 | pdbonly
109 | x64
110 | false
111 | prompt
112 | true
113 | true
114 |
115 |
116 | PackageReference
117 |
118 |
119 |
120 | App.xaml
121 |
122 |
123 | MainPage.xaml
124 |
125 |
126 |
127 |
128 |
129 | Designer
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 | MSBuild:Compile
145 | Designer
146 |
147 |
148 | MSBuild:Compile
149 | Designer
150 |
151 |
152 |
153 |
154 | 6.2.14
155 |
156 |
157 |
158 | 14.0
159 |
160 |
161 |
168 |
--------------------------------------------------------------------------------