Specifications For C# .NET assignment, you need to complete and add a database persistence component to the GUI desktop application project. The application is a ToDo list manager and should allow the...

This C# .NET project involves integrating a persistent database with the existing client-server application. Please review the project files and specific requirements. A video demo of the final functional GUI app with the database is needed.


Specifications For C# .NET assignment, you need to complete and add a database persistence component to the GUI desktop application project. The application is a ToDo list manager and should allow the following options for the user: 1. Create a new task 2. Delete an existing task 3. Edit an existing task 4. Complete a task 5. List all outstanding (not complete) tasks 6. List all tasks 7. Save 8. Load The application contains a Task class with the following public properties: ● Name ● Description ● Deadline ● IsCompleted App Feature Requirements: ● Paging - When the user requests more than 5 tasks by asking for a list of outstanding or overall tasks, present those as a paged list with five results per page. ● Calendar Appointments - Calendar Appointments should be implemented as a special case of a task and placed in the same central list for storage using polymorphism. The Appointment class should have the following properties. Shared properties should be implemented in a base class called Item from which both Task and Appointment derive. a. (string) Name b. (string) Description c. (DateTime) Start d. (DateTime) Stop e. (List) Attendees ● Calendar Appointments CRUD - The menus should be modified such that calendar appointments are returned when the user asks for their tasks and the user should clearly be able to determine if an Item instance is a Task or an Appointment. You should also add prompts that allow creation and update of Tasks and Appointments. Deletions should be handled the same for both derived classes. ● Server-side Searching - Add a feature that asks the user for a search string and returns only items in the items list that contain that search string in their name, description, or list of attendees (for Appointments). This means filtering the list of Items on the server side BEFORE returning them as a response to a GET request (i.e. items that don't match the search key aren't sent over the wire at all). ● GUI - The application has a Graphical User Interface (either using UWP, WPF, or Xamarin.Forms) ● Serialization - The application has JSON serialization/deserialization implemented through a save/load feature or menu item to save the task list and load a task list. (You can allow the user to specify a name for saving and a name for loading and save/load files from a hardcoded directory within the user's AppData cache). ● Priority - The Item class must incorporate a property called "Priority". Items of either type (Appointment or Task) should display the priority (Low, Medium, or High) to the user, and the user should be able to sort their task list by priority. ● Web API - The CRUD operations are Web API methods for the following: ○ CRUD for Tasks (including retrieving both complete and outstanding tasks) ○ CRUD for Appointments ○ Server-side Searching ● Client-Server Data Synchronization: The data on the client and server side must be synchronized such that adding an item on the client application results in the server-side list being updated, same with deletes and updates to items. The CRUD operations should be in Web API methods for the following: ● CRUD for Tasks (including retrieving both complete and outstanding tasks) ● CRUD for Appointments ● Server-side Searching Deliverables: Besides implementing and testing the above stated features, your job is to migrate the CRUD methods of the client app and API with a persistent database. Your database implementation may be in MongoDB, FireBase, SQL, MySQL, Postgres, etc. When a user adds, updates, or deletes a task/appointment in the client side app, that change must be reflected upon closing and relaunching the client app even when the API solution or the entire machine hosting the API is rebooted. You MUST submit a video demonstrating this functionality: Your video must demonstrate: ● Adding a todo and an appointment ● Updating a todo and an appointment ● Deleting a todo and an appointment Each of your demonstrations should show how you are persisting to the database for storage and no longer using in memory storage on the web server. Submit your two different Visual Studio solutions (one for the client application and one for the API)
Apr 29, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here