Library Project Phase 1Web Application Front-EndIntroduction:In phase 1, the goal was to design and develop a front-end web application for interacting with the librarysystem. The web application will utilize the provided assemblies: Business Layer and Data Access Layer, towork with the library system.Project Goals:To design and develop a user interface for:● adding new members● checking books in, checking books out● looking up members information● viewing what items have been loaned out to a member.Provide validations for member input and book input.Adult member can be added to Adult and Member tables.Juvenile member can be added to Juvenile and Member tables.Provide error-handlingOverdue books must be highlighted.AJAX Update Panel or AJAX Toolkit controls must be used at least once.Librarians must be authenticated into the web application.Forms-based authentication and authorization must be used.
Home PageLibrary Project Phase 1Web Application Front-End
Library Project Phase 1Web Application Front-EndMember Information: Overdue books are highlighted. Validations such as expired membership,overdue books, and maximum limit of books on loan are provided.
Sample code using C# to populate loaned books information to the GridView.Library Project Phase 1Web Application Front-End
Library Project Phase 1Web Application Front-EndSource code where AJAX UpdatePanel and AJAX Toolkit controls were usedto render partial page postback for the GridView.
Library Project Phase 1Web Application Front-EndIn adding a new member, validations such as: minors cannot be 18 yrs and older,must have an adult sponsor, sponsors membership must not be expired, etc. are provided.
Sample code to add a new member and provide input validations.Library Project Phase 1Web Application Front-End
Library Project Phase 2Business LayerIntroduction:For this phase, the assemblies provided to support the user interface in Phase 1 will then be replaced bythe assemblies that will be developed in this phase.Project Goals:Use LINQ to Entities to implement data access logic for querying and updating the database.Use at least two T-SQL stored procedures.Provide error-handling and business rule validations.
Sample code from the business layer that uses LINQToEntitiesto query and update the database.Library Project Phase 2Business Layer
T-SQL Stored Procedure was used to check if a certain membership has expired.Library Project Phase 2Business Layer
Library Entity Data ModelLibrary Project Phase 2Business Layer
Library Project Phase 3WCF ServiceIntroduction:The library system must now be interoperable with other systems. My task was to provide a concept system thatutilizes Web Services and Silverlight. WCF was used to implement the service.Project Goals:Create a WCF Service that calls into the business layer.The WCF Service must support he ff:WsHttpBindingWebsite must be hosted in IISWebsite must use Secured Socket Layer SSL, and a self-signed server certificateUpdate the presentation layer to call the WCF service.Use DataContracts for all classes passed between client and host.Create a Silverlight web page to display information on overdue books.The Silverlight web page must use WCF to download overdue book data and display data in the browser.
Library Project Phase 3WCF ServiceLibrary Service Contract shows the ILibrary interface and itsService and Operation Contracts.
Library Project Phase 3WCF ServiceService Implementation code sample that calls into the business layer of the DataAccess tier.
Library Project Phase 3WCF ServiceIn the Web Client, a Service Reference was configured to access the Service.
Library Project Phase 3WCF ServiceServiceHost that hosts the Library Service.
Final ProjectIntroduction:In the previous phase, not all functionality that the Librarian needed were provided. In this final project, morelibrary functionality were added.Project Goals:Design and develop a front-end web application to include:Search function must allow to search by name, address, or member ID.Edit function may edit the name, address, birthday and may change sponsor for juvenile member.Renew membershipPromote juvenile to adult membershipUse LINQ to Entities to implement data access logicValidate all user inputProvide error-handling featureAJAX Update Panel or AJAX Toolkit controls must be used
Final ProjectSearch Screen that allows to search by name, address, or member ID.