The data access layer for c969 project
Requirements for this assignment were:
You are not allowed to use frameworks or external libraries. The database does not contain data, so it needs to be populated. You must use “test” as the user name and password to login.
A. Create a log-in form that can determine the user’s location and translate log-in and error control messages (e.g., “The username and password did not match.”) into the user’s language and in one additional language.
B. Provide the ability to add, update, and delete customer records in the database, including name, address, and phone number.
C. Provide the ability to add, update, and delete appointments, capturing the type of appointment and a link to the specific customer record in the database.
D. Provide the ability to view the calendar by month and by week.
E. Provide the ability to automatically adjust appointment times based on user time zones and daylight saving time.
F. Write exception controls to prevent each of the following. You may use the same mechanism of exception control more than once, but you must incorporate at least two different customized mechanisms of exception control.
• scheduling an appointment outside business hours
• scheduling overlapping appointments
• entering nonexistent or invalid customer data
• entering an incorrect username and password
G. Write two or more lambda expressions to make your program more efficient, justifying the use of each lambda expression with an in-line comment.
H. Write code to provide reminders and alerts 15 minutes in advance of an appointment, based on the user’s log-in.
I. Provide the ability to generate each of the following reports using the collection classes:
• number of appointment types by month
• the schedule for each consultant
• one additional report of your choice
J. Provide the ability to track user activity by recording timestamps for user log-ins in a .txt file, using the collection classes. Each new record should be appended to the log file, if the file already exists.
K. Demonstrate professional communication in the content and presentation of your submission.