.NET Portfolio.NET Portfolio
Leon K. FrancisLeon K. FrancisEmail: [email protected]: [email protected]: (801)651-0863Phone: (801)651-0863
.NET Framework Project.NET Framework Project
Build parts of the business tier for a Build parts of the business tier for a retail company.retail company.
Create and test two assemblies:Create and test two assemblies:• The first assembly is a class library The first assembly is a class library
project called Foundation, containing project called Foundation, containing various interfaces and base classes.various interfaces and base classes.
• The second assembly is a class library The second assembly is a class library project called AppTypes, containing project called AppTypes, containing various entity, collection and exception various entity, collection and exception classes.classes.
Classes of Many Types Classes of Many Types RequiredRequired
Sample CodeSample Code
Library Database ProjectLibrary Database Project
Introduction: A database has been created Introduction: A database has been created to support the principal functions of a to support the principal functions of a lending library’s day to day operations: lending library’s day to day operations: checking books in and out, and adding new checking books in and out, and adding new members (adult and juvenile)members (adult and juvenile)
Audience: Users of the library database Audience: Users of the library database (i.e. librarians).(i.e. librarians).
Project Goals: Provide an easy to use user Project Goals: Provide an easy to use user interface to access and manipulate the data interface to access and manipulate the data in the database.in the database.
Layered ArchitectureLayered Architecture Data transport between layers using Data transport between layers using
EntitiesEntities User-friendly Interface.User-friendly Interface. Menu driven Navigation.Menu driven Navigation. Well Covered ValidationsWell Covered Validations
Design Highlights
Library Phase ILibrary Phase I
Requirements:Requirements:• Develop a Windows front-end with four functionsDevelop a Windows front-end with four functions
Add adult memberAdd adult member Add juvenile memberAdd juvenile member Check in an itemCheck in an item Check out an itemCheck out an item
Two Projects Developed:Two Projects Developed:• Windows ClientWindows Client
Form controlForm control ValidationValidation
• Business LayerBusiness Layer Business layer enforcementBusiness layer enforcement Data access layer communicationData access layer communication
Project Sample (Get Member Project Sample (Get Member Info)Info)
Can view member information Highlights out dated card expiration Highlights over due books
Project Sample (Add Adult Project Sample (Add Adult Member)Member)
Combo box populated from XML file Icon and tool tip used to communicate errors
Hi-light expired membershipHi-light expired membership
Library Phase IILibrary Phase II Develop stored procedures for seven processes:Develop stored procedures for seven processes:
• Add memberAdd member• Get memberGet member• Check in an itemCheck in an item• Check out an itemCheck out an item• Get item (returns an item with a specific ISBN and copy #)Get item (returns an item with a specific ISBN and copy #)• Get items (returns all items a member has checked out)Get items (returns all items a member has checked out)• Convert juvenile to adult membershipConvert juvenile to adult membership
Create a data access layer:Create a data access layer:• Call stored procedures in the databaseCall stored procedures in the database• Return data or throw errors to the Business layerReturn data or throw errors to the Business layer
Create Entities classes accessible to all layers:Create Entities classes accessible to all layers:• MemberMember• AdultMember (derived from Member)AdultMember (derived from Member)• JuvenileMember (derived from Member)JuvenileMember (derived from Member)• ItemItem• ItemsDataSetItemsDataSet• LibraryExceptionLibraryException
ADO.NET code in Data Access ADO.NET code in Data Access LayerLayer
Stored Procedure (ConvertJuvenileToAdult)Stored Procedure (ConvertJuvenileToAdult)
Library Phase IIILibrary Phase III
Convert Windows interface to Web Convert Windows interface to Web interfaceinterface
Add functionality:Add functionality:• Add new item to the database (new Add new item to the database (new
ISBN or copy of existing ISBN)ISBN or copy of existing ISBN)• Ability to renew membership cardAbility to renew membership card
Add Security:Add Security:• Add a Librarian role to the database Add a Librarian role to the database
with userswith users• Prevent everyone except the Librarian Prevent everyone except the Librarian
role from accessing library functionsrole from accessing library functions
Log-in screen on startup for Log-in screen on startup for securitysecurity
All functionality from Windows UI All functionality from Windows UI remains in Web UIremains in Web UI
In addition, user has the option to renew an expired card
Use of validators to provide error Use of validators to provide error checkingchecking
Sample code to add member to Sample code to add member to databasedatabase
Library Phase IVLibrary Phase IV
Create a Web service that calls into Create a Web service that calls into the business layerthe business layer
Update the presentation (UI) layer to Update the presentation (UI) layer to call the Web servicecall the Web service
Employ WSE 3.0 security using Employ WSE 3.0 security using certificatescertificates
Support previous project Support previous project functionalityfunctionality
Sample code implementing the Sample code implementing the Web serviceWeb service
SummarySummary
Six projects (Framework, Library Six projects (Framework, Library Phase I – IV, Evaluation Surveys Phase I – IV, Evaluation Surveys (team project))(team project))
10,000+ lines of C# code10,000+ lines of C# code 1000+ lines of supporting code (SQL, 1000+ lines of supporting code (SQL,
XML, HTML)XML, HTML) 240+ project hours240+ project hours
Top Related