Project Specs for the 1st Client/Server Class CLASS PROJECT #1 SPECIFICATIONS This project will consist of creating a Windows application that tracks individuals in an electronic contact phone book....

1 answer below »
This project will consist of creating a Windows application ( C# Language ) that tracks individuals in an electronic contact phone book. You will use the Dapper ORM framework to access a Microsoft SQL Server Local Express DB instance, Microsoft Report control to produce a formatted report and a third party custom control to display a status message bar.


Project Specs for the 1st Client/Server Class CLASS PROJECT #1 SPECIFICATIONS This project will consist of creating a Windows application that tracks individuals in an electronic contact phone book. You will use the Dapper ORM framework to access a Microsoft SQL Server Local Express DB instance, Microsoft Report control to produce a formatted report and a third party custom control to display a status message bar. The project is intended to be a non-group project to test your individual skills in creating a Windows based application accessing a Microsoft SQL Server Local Express DB instance 2019. The development tool (Microsoft C# for Windows forms) will be used for this project. You will be graded on creating an opening splash screen(form), main menu (form), data entry screen(form) and database functionality (adding, finding, deleting and updating records), help about(form) and a formatted report using Microsoft reports. Project Total Points: 150 Components to use in project: WinForms, MenuStripBar control, Tooltip control, StatusStripBar control, Dapper ORM framework and Microsoft Report designer/viewer controls Points Breakdown: Splash Form (Opening scree) – 10 pts Main menu Form including Menu Items – 20 pts Contact Data Entry Form including CRUD Database Functionality – 90 pts · Add Contact (15 pts), Update Contact (15 pts), Delete Contact (15 pts), Browse Contacts (15 pts) · Search by Lastname (25 pts) · Browse All Contacts (5 pts) Help About Form – 10 pts Microsoft Report – 20 pts Project Due Date: Please refer to class syllabus. This is the only project that can be created outside the class room. Note: ** Zip all project #1 solution files including your phonebook.mdf and upload the zip file to the Project #1 Assignment folder to Blackboard. Make sure the zip file is using the following naming convention. Lastnamefirstname_project#1.zip Please thoroughly test all code and executable from the local C drive before turning it in. Instructor will not fix code in order to make it work for a specific platform. Points will be taken away from your project if it’s not done according to the project specifications and the instructor has to debug code during the execution phase. No exceptions!* ** Screenshot of the Opening or Splash Screen Functional specs: 1. The splash screen will be displayed x number of seconds automatically before the main menu appears. Screenshot of the Mainmenu Functional specs: 1. When the File Menu is clicked, it should display an Exit item to close the application. 2. When the Data Entry Menu is clicked, it should display a sub-menu that displays the Contact item. When this item is clicked, it should display the phonebook data entry form. 3. When the Reports Menu is clicked, it should display a sub-menu that displays the Contact List report. See page 6 for screenshot. Default the phonebook report to display in a window. 4. When the Help Menu is clicked, it should display the Help about screen. Screenshot of the Phonebook Data Entry Screen Functional specs: 1. Each control should display an on-line helpful tooltip or a message in the status bar control. i.e. Enter First Name. 2. The menu strip text box is used to search the database for a specific name. Enter a full or partial name and click the Search by Lastname button to find the record. If no record is found, display a message box with that says, “No records found for xxxx.” XXXX represents the name that you entered into the search criteria text box. The message box should display an Informational Icon and the OK button. 2.a. The Search by Lastname button should validate the search condition text box for null or blank values before trying to search for a contact by last name in the database. You will need to use a SQL Select DML statement with a where condition along with SQL Parameters. 2.b. If the record(s) are found then the data grid should be re-populated with the searched results for the user to view. 2.c. If no records are found, requery the database to display all the records back to the user by clicking the Browse All Contacts button. You can call the Browse Contact button click event instead of duplicating code. 3. The Add Contact button will add a new contact record to the database. Validate the UI for all data inputs for blank fields that are required by the database field column constraints. You will need to use a SQL Insert DML statement in this click event along with SQL parameters. 4. The Update Contact button will update the record from the UI. The Update Contact button should validate the UI for all data inputs to prevent null or blank values from been entered into the database based on the field column constraints. You will need to use a SQL Update DML statement in this click event along with SQL parameters. 5. The Delete Contact button will delete the record from the database. You will need to use a SQL Delete DML statement in this click event along with SQL parameters. 6. The Browse Contacts button will display all the records from the database into the data grid. You will need to use a SQL Select DML statement in this click event to retrieve all records sorted by the contact last name in ascending order. 7. Add functionality to the Contact form to allow a user to double-click a record in the data gridview to allow the user to edit (update) or delete the current selected record. 8. Microsoft Data grid Control functionality 7.a. Add the appropriate data grid event to allow the user to select an individual contact record to be displayed in the UI for updating or deleting the record. 9. Create a public class called Contact in your solution that will represent the database table schema for Dapper. Define the following public properties to map to the database phone book table schema. 8.a Person_ID as int (getter/setter) Firstname as string (getter/setter) Lastname as string (getter/setter) Address as string (getter/setter) City string (getter/setter) State string (getter/setter) ZipCode string (getter/setter) CellPhone string (getter/setter) WorkPhone string (getter/setter) Notes string (getter/setter) **Remember your class properties have to match the actual physical database table schema. Otherwise, your Dapper mapping may not work. ** ** Remember you need to add the Dapper ORM from the Nuget Package Manager to your project solution. ** 10. The Exit button will close the contact form 11. Implement basic error handling using the Try/Catch statements to capture errors that may be caused or raised when searching or saving data back to the database. 12. Click the File..Exit menu item to exit the Contact Data Entry form and return back to the main menu. Screenshot of the Contact List Report Functional specs: 1. Design a report using the Microsoft Report designer control based on the above report layout. You will have to download the Microsoft Report designer or Report Viewer control from Nuget or install it as a separate install. 2. Add a new Microsoft Report Viewer control to your report form that will hold the control. 3. Create the above report layout using the Phonebook dataset.xsd. Screenshot of the Help Screen Functional specs: 1. When the OK button is clicked, it should be unloaded and the main menu should regain the focus. 2. Add any type of graphic you like in the picture box that would represent a phone ico, bmp or png graphic. 3. The 4th label control should display the Company project assembly info where it says > Software Development, LLC. 4. The text box with the horizontal scroll bar should display the Project Name from the Project Assembly. NOTE: Change your application.exe.config XML file in your Visual Studio Solution to point to your local SQL Server Local DB instance database from a hard-coded path to a dynamic location path. Please see example below. Test the completed app before uploading it to BlackBoard. Example ApplicationName.EXE.Config XML File connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\YourLastName_Phonebook.mdf;Integrated Security=True;Connect Timeout=30" Microsoft SQL Server LocalDB 2019 Database Layout Specs 1. Refer to the documentation hands-on Exercise from week 7 (In-class Exercises Week 7 hand-out) on to connection string create a database using SQL Server Management Studio 2019 to connect to the local instance called MSSQLLocalDB (version 12 or 13) 2. Create a SQL Server Local database using SQL Server Management Studio with the following table layout. Databasename: YourLastName_PhoneBook Table name: Phonebook Column Name Data Type Allow Nulls Column Properties Person_ID Int Uncheck Is Indentity->Set the Identify to Yes Identity Increment set to 1 Identity seed set to 1 **Note: Set the Person_ID field as the primary key by Right-Clicking and select Primary Key** Firstname Varchar (15) Uncheck Lastname Varchar (30) Uncheck Address Varchar (30) Uncheck City Varchar (25) Uncheck State Varchar (2) Uncheck Zipcode Varchar (6) Uncheck CellPhone Varchar (10) Uncheck WorkPhone Varchar (10) Uncheck Notes Varchar (50) Check 4. Populate the database with a couple of test records to validate the table structure. 5. Your database file will be stored under C:\Users\YourLastName_Phonebook.mdf & YourLastName_Phonebook_log.ldf **Note your local SQL Server Express instances are located under the following directory structure which might be hidden. To un-hide the location go to File Explorer..View..Checked the Hidden Items to unhide the appdata folder. C:\Users\YourLoginOnName\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances ** 8 Last modified 4/12/2021
Answered 3 days AfterOct 25, 2021

Answer To: Project Specs for the 1st Client/Server Class CLASS PROJECT #1 SPECIFICATIONS This project will...

Bikram answered on Oct 29 2021
104 Votes
Phone Book App screen shots
1. Splash Screen
2. Main Window
3. File->Exit
4. Data Entry Menu
5.
Data Entry -> Contact Item click
6. Add Contact
7. Update Contact
8. Search Contact by Last Name like
9. Delete Contact
10. Report Menu RDLC Report
11. Help Menu
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here