pa 10 n1 louis decroo jr
DESCRIPTION
Portfolio summarizing projects completed at SetFocusTRANSCRIPT
This portfolio demonstrates my skill as a .NET developer.
.NET Portfolio
Louis Decroo Jr.
(724) 777-4665
Introduction
• This portfolio will demonstrate my skills as a C# .NET developer by summarizing the projects that I’ve completed at SetFocus.
Table of Contents
• Framework Project
• Library Project
• Library Phase I (Windows UI)
• Library Phase II (ADO.NET/ Stored Procs)
• Library Phase III (ASP.NET UI)
• Library Phase IV (WCF)
• Final Project (LINQ to XML)
.NET Framework Project
• Introduction:
– In this project parts of the business tier for a retail company we built. This project demonstrates skills in C# development as well as an understanding of the .NET Framework.
• Project Goals:
• The goal was to create and test two assemblies.
.NET Framework Project: .NET skills
• Inheritance
• Delegates
• Events
• Interfaces
• Generic collections
• Custom collections
• Abstract classes
• Custom enumerators
• Serialization
• Attributes
Framework: AppTypes Classes
Shows all of the actual classes used in
the AppTypes project which was
created as part of the Framework
project.
Framework: Foundation Classes
Shows the actual
classes that make up
the Foundation
project which was
created as part of the
Framework project.
Library Project: Functionality
• Display Member information for existing members (adult & juvenile)
– Contact information
– Items currently on loan to member
– Expiration date of membership
• Add new member (adult and juvenile)
– Juvenile members
• Must be under 18
• Must have a valid adult member ID to become a member
• Allow items to be checked in and out
– Must get member info to check out an item
– Expired members cannot check out items
• Allow new items to be added to the library *
– If ISBN already in library add copy
– Otherwise create new item
• Highlight overdue items *
Added in Phase III *
Library Project: Business Rules
• First and last name must no more than 15 characters in length and must start with a capital letter.
• Street and City must be no more than 15 characters in length.
• Zip must be in format ##### or #####-####.
• Phone must be in format (###)###-####.
• Birth date must be within 18 years of the date to be considered a juvenile.
• All juveniles must have a sponsoring adult member .
• Each member can have no more than 4 items on loan at a time.
• If the item to be checked out is already on loan it must first be checked in.
• Check in/out must be confirmed.
Library Project: Phase I
• Introduction:
• In this project a windows based user interface was created for a library. The database and all backend code was provided.
• Project Goals:
• The goal is to create a Windows user interface to the provided library.
Library Phase I: .NET Skills
• Input validation/error providers
• Data binding a gridview control
• Regular expressions
• UI design
• n-tier architecture
Phase 1: Get Member
Shows get member page
when a valid member ID
with an item on loan is
entered.
Phase 1: Check Item In/Out
Checkout functionality is only available to
valid members who have less than 4 items
on loan. The above screen shows the
result of a checkout requested on an item
that is already checked out.
By entering an item that is checked out
and pressing the check in button the
following screen appears allowing the
librarian the ability to confirm or cancel the
check in.
Phase 1: Add Member
Shows the form to add an adult member
with invalid data to show some of the
validation controls in action.
Shows the form to add a juvenile member.
Invalid data is enter to show validation
handling and the birth date is selected to
show the datetimepicker control in action.
Library Project: Phase II
• Introduction:
• This project creates a data access tier using ADO.NET code and any stored procedures necessary to access and update the SQL Server database.
• Project Goals:
• To create the data access layer for the library.
Library Phase II: .NET Skills
• SQL Server
• ADO.NET
• Linq
• Stored Procedures
• Error handling
• Unit testing (stored procs)
Phase II: N-tier Architecture
Shows the n-tier
architecture of the library
project. The front-end calls
the business layer which
calls to the data access
layer through the data
access interface. Note that
all communication with the
database is done through
the data access layer.
Phase II: XSD and DBML Files
ADO.NET is used to
create an ItemsDataSet
to load data into the
items on loan grid view of
the Get Member page
LINQ to SQL was
used to get
information on all
items on loan that are
past due.
Phase II: Stored Procedures
Shows part of the stored proc
used to check an item out of
the library. Comments explain
what each piece of code does.
Phase II: ADO.NET Code
Shows ADO.NET
code for adding an
adult member to the
library.
Library Phase III
• Introduction:
• In this phase of the library project an ASP.NET web front end was created to make the library available online.
• Project Goals:
• The goal of this project is create a web front end in ASP.NET that works efficiently with the data access layer created in phase II.
Library Phase III: .NET Skills
• ASP.NET controls
• Master Pages/Content Pages
• AJAX Controls
• Cascading Style Sheets (CSS)
• Security (ASP.NET Configuration tool)
Library Phase III: Promote Juvenile
Shows the applications behavior when a
juvenile is promoted to an adult.
Shows the stored procedure that runs when a
juvenile is promoted to an adult.
Phase III: AJAX Controls
Shows the AJAX update
progress while the check in is
occurring on the AJAX update
panel.
Shows the markup code
necessary to add AJAX controls
to a page. Note that the script
manager is required on all
pages that contain AJAX
controls.
Phase III: ASP.NET Validation Controls
Shows the markup code
for the ASP.NET validator
controls.
Shows how validation is handled on
the web user interface when proper
information is not provided for adding
an adult. Similar validation techniques
were used on all pages in the
application.
Library Phase IV
• Introduction:• In this phase of the library project the ASP.NET
front end will be modified to use a WCF web service.
• Project Goals:• The goal of this project is create and host a WCF
service. The ASP.NET front end of the library should be able to use the service to make calls to the business layer.
Phase IV: Service Contract
Shows part of the
service contract used
to create the library
service.
Phase IV: Data Contract
Shows the Library
fault class used to
pass errors from the
service to the front
end.
Phase IV: Security
[PrincipalPermission(SecurityAction.Demand, Role="LibraryPartner")]
- The above principle permissions attribute was put on all methods of the service making them only accessible to members of the LibraryPartner role.
Final Project: XML Editor
• Introduction:• This project was a team project in which the team
worked to create a XML contract editor application for SetFocus that would eliminate the need for a Developer to make the changes every time a session needed to be added or a contract updated.
• Project Goals:• The goal of the application was to provide a UI that
would make the changes to the SetFocus files as needed using an n-tier architecture design and LINQ to XML to interact with the xml files.
Final Project: Add Session Page
Add session page shown
allows a session to be added
to the sessionConfig.xml file.
The code shows the LINQ to
XML code used to add the
session to the file.
Final Project: Update Session Page
Update session page allows
the starting and ending
dates of the session to be
changed. It also allows
sessions to be removed if
they have been cancelled.
The code shows the LINQ to
XML code for removing a
session.
Final Project: Edit Contract Page
The edit contract page
allows any xml file to be
edited directly on the page.
Variables can be added at
desired locations and
changes can be
saved/undone. The code
shows the data access
method used to update
changes to the contract.
What is SetFocus?
• The SetFocus .NET Master’s Program is an intensive, hands–on, project oriented program allowing knowledge and valuable experience putting the .NET skill set to use in a simulated work environment.
• I received over 500 hours of in-depths hands on experience focused on .NET Development.
• SetFocus projects are real world projects that are distributed just as I would receive in a position. I received project specifications and was expected to identify best courses of action with deadlines set for completion.