20
John D. Beyler Portfolio [email protected] 859-327-9047 .NET Portfolio

JDBeyler

Embed Size (px)

DESCRIPTION

PowerPoint C# .NET Portfolio

Citation preview

Page 1: JDBeyler

John D. Beyler [email protected]

859-327-9047

.NET Portfolio

Page 2: JDBeyler

PROJECT I

.NET Framework

Page 3: JDBeyler

Build parts of the business tier for a retail company involving suppliers and products.

Create and test two assemblies. o The first assembly is a class library project called

Foundation, containing various interfaces and base classes.

o The second assembly is a class library project called AppTypes, containing various entity, collection, and exception classes used by existing business processes.

Framework Project Requirements

Page 4: JDBeyler

AppTypes Class Diagram

Page 5: JDBeyler

Event Handling for Modification Events, Register/Deregister

Page 6: JDBeyler

IComparible implementation for Product class

Method to instantiate new instance of SortByCategoryID nested class

Nested class to compare to Product objects

Page 7: JDBeyler

Foundations Class Diagram

Page 8: JDBeyler

Contact class implements IContactInfo (see Foundations class diagram)

Page 9: JDBeyler

Library Management System ProjectPhase I

Requirements: Develop a Windows front-end with 4 functions

Add adult member Add juvenile member Check in an item Check out an item

Projects Developed: Windows Client

Form control Validation

Business Layer Business Rule enforcement Data Access Layer Communication

Page 10: JDBeyler

Design Highlights

Layered ArchitectureData transport between layers using EntitiesUser-friendly Interface.Tabbed driven Navigation.Validation of user input at the presentation and

business tiersError handling at database, data access, business

and presentation tiers

Page 11: JDBeyler

Home page with tabbed navigation

Page 12: JDBeyler

Validation of required user input, presentation layer

Page 13: JDBeyler

Code sample add new member, Presentation layer

Call into Business tier

Page 14: JDBeyler

Library Management System ProjectPhase II

Page 15: JDBeyler

Code sample add new member, DataAccess (ADO .NET) tier

Page 16: JDBeyler

Stored procedure AddAdult

ALTER PROCEDURE [dbo].[AddAdult]

-- General Comment: -- The State parameter of all RAISERROR calls is the ordinal value-- of a particular ErrorCode enum for any given LibraryException,-- for all calls to RAISERROR

@member_no smallint = null output, -- Parameter to return the new memberNumber@firstname varchar(15) = null,@middleinitial char(1) = null,@lastname varchar(15) = null,@street varchar(15) = null,@city varchar(15) = null,@state char(2) = null,@zip char(10 = null,@phone_no char(13) = null

AS-- check to make sure that all required inputs have valid values, if no raise SqlError and returnIF ( LEN(@firstname) = 0 OR LEN(@lastname) = 0 OR LEN(@street) = 0 OR LEN(@city) = 0 OR LEN(@state) = 0 OR LEN(@zip) = 0)BEGIN RAISERROR ('Failed to add adult member, a required field is empty', 11, 8) RETURNEND-- Begin the transaction of adding a new adult member-- Rollback any failed modifications and raise the appropriate SqlException-- Otherwise, commit a successful transactionBEGIN TRANSACTION INSERT member (lastname, firstname, middleinitial) VALUES (@lastname, @firstname, @middleinitial)IF (@@error <> 0) BEGIN RAISERROR ('Insert into member table failed', 11 ,8) ROLLBACK TRANSACTION RETURN END SET @member_no = scope_identity();INSERT adult (member_no, street, city, state, zip, phone_no, expr_date)VALUES (@member_no, @street, @city, @state, @zip, @phone_no, Dateadd(YY, 1, Getdate()))IF (@@error <> 0) BEGIN RAISERROR ('Insert into adult table failed', 11 ,8) RETURN ENDCOMMIT TRANSACTION

Page 17: JDBeyler

Replace Windows front-end with Web front-end

Add Functionality Add Item either with a new ISBN or new copy of an existing ISBN Automatic Conversion to Adult Membership for Juvenile 18 years and

over with notification to Librarian Membership renewal upon Librarian acknowledgement

Add Security Add a Librarian role

Add 2 users to the Librarian role

Prevent everyone except the Librarian role from accessing the library functions

Library Management System ProjectPhase III

Page 18: JDBeyler

Automatic Conversion to Adult Membership for Juvenile 18 years and over with notification to Librarian

Page 19: JDBeyler

Checks out a book to a member Can view member info & out standing items to the member Highlights over due items info Highlights expired card and offers renewal option

Page 20: JDBeyler

Total number of projects: 6 Total number of regular working hours dedicated to

projects: 240 Total number of overtime hours dedicated to projects:

100+ Total lines of C# code written: 13,000+ Total lines of supporting code (XML, HTML, SQL):

1,500+ Note: Additional work was required outside the projects.