JDBeyler

Post on 17-Jun-2015

501 views 0 download

Tags:

description

PowerPoint C# .NET Portfolio

Transcript of JDBeyler

John D. Beyler Portfoliojdbeyler@windstream.net

859-327-9047

.NET Portfolio

PROJECT I

.NET Framework

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

AppTypes Class Diagram

Event Handling for Modification Events, Register/Deregister

IComparible implementation for Product class

Method to instantiate new instance of SortByCategoryID nested class

Nested class to compare to Product objects

Foundations Class Diagram

Contact class implements IContactInfo (see Foundations class diagram)

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

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

Home page with tabbed navigation

Validation of required user input, presentation layer

Code sample add new member, Presentation layer

Call into Business tier

Library Management System ProjectPhase II

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

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

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

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

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

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.