Post on 17-Jun-2015
description
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.