pa 10 n1 louis decroo jr

34
This portfolio demonstrates my skill as a .NET developer. .NET Portfolio Louis Decroo Jr. [email protected] (724) 777-4665

Upload: ldecroo

Post on 07-Jul-2015

325 views

Category:

Technology


1 download

DESCRIPTION

Portfolio summarizing projects completed at SetFocus

TRANSCRIPT

Page 1: Pa 10 n1 louis decroo jr

This portfolio demonstrates my skill as a .NET developer.

.NET Portfolio

Louis Decroo Jr.

[email protected]

(724) 777-4665

Page 2: Pa 10 n1 louis decroo jr

Introduction

• This portfolio will demonstrate my skills as a C# .NET developer by summarizing the projects that I’ve completed at SetFocus.

Page 3: Pa 10 n1 louis decroo jr

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)

Page 4: Pa 10 n1 louis decroo jr

.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.

Page 5: Pa 10 n1 louis decroo jr

.NET Framework Project: .NET skills

• Inheritance

• Delegates

• Events

• Interfaces

• Generic collections

• Custom collections

• Abstract classes

• Custom enumerators

• Serialization

• Attributes

Page 6: Pa 10 n1 louis decroo jr

Framework: AppTypes Classes

Shows all of the actual classes used in

the AppTypes project which was

created as part of the Framework

project.

Page 7: Pa 10 n1 louis decroo jr

Framework: Foundation Classes

Shows the actual

classes that make up

the Foundation

project which was

created as part of the

Framework project.

Page 8: Pa 10 n1 louis decroo jr

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 *

Page 9: Pa 10 n1 louis decroo jr

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.

Page 10: Pa 10 n1 louis decroo jr

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.

Page 11: Pa 10 n1 louis decroo jr

Library Phase I: .NET Skills

• Input validation/error providers

• Data binding a gridview control

• Regular expressions

• UI design

• n-tier architecture

Page 12: Pa 10 n1 louis decroo jr

Phase 1: Get Member

Shows get member page

when a valid member ID

with an item on loan is

entered.

Page 13: Pa 10 n1 louis decroo jr

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.

Page 14: Pa 10 n1 louis decroo jr

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.

Page 15: Pa 10 n1 louis decroo jr

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.

Page 16: Pa 10 n1 louis decroo jr

Library Phase II: .NET Skills

• SQL Server

• ADO.NET

• Linq

• Stored Procedures

• Error handling

• Unit testing (stored procs)

Page 17: Pa 10 n1 louis decroo jr

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.

Page 18: Pa 10 n1 louis decroo jr

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.

Page 19: Pa 10 n1 louis decroo jr

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.

Page 20: Pa 10 n1 louis decroo jr

Phase II: ADO.NET Code

Shows ADO.NET

code for adding an

adult member to the

library.

Page 21: Pa 10 n1 louis decroo jr

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.

Page 22: Pa 10 n1 louis decroo jr

Library Phase III: .NET Skills

• ASP.NET controls

• Master Pages/Content Pages

• AJAX Controls

• Cascading Style Sheets (CSS)

• Security (ASP.NET Configuration tool)

Page 23: Pa 10 n1 louis decroo jr

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.

Page 24: Pa 10 n1 louis decroo jr

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.

Page 25: Pa 10 n1 louis decroo jr

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.

Page 26: Pa 10 n1 louis decroo jr

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.

Page 27: Pa 10 n1 louis decroo jr

Phase IV: Service Contract

Shows part of the

service contract used

to create the library

service.

Page 28: Pa 10 n1 louis decroo jr

Phase IV: Data Contract

Shows the Library

fault class used to

pass errors from the

service to the front

end.

Page 29: Pa 10 n1 louis decroo jr

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.

Page 30: Pa 10 n1 louis decroo jr

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.

Page 31: Pa 10 n1 louis decroo jr

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.

Page 32: Pa 10 n1 louis decroo jr

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.

Page 33: Pa 10 n1 louis decroo jr

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.

Page 34: Pa 10 n1 louis decroo jr

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.