SlideShare a Scribd company logo
1 of 33
SetFocus .NET Masters Program Framework Project and Library Management System Project Developed By: Zaccheus Roserie
Framework Project Developer: Zaccheus Roserie Email: zroserie@gmail.com
SetFocus Project #1 – Framework Project Objective Build parts of the business tier for a retail company. To achieve this two Assemblies were created: Foundation and AppTypes. Summary This project demonstrated the use of OOP techniques and the .NET framework. Some of the techniques implemented into this project include: ,[object Object]
Inheritance, Polymorphism, Encapsulation
Abstract Classes and Interfaces
Events and Delegates
Serialization
Generic Collections
Creating  and implementing custom Enumerators
Properties
Enumeration
Creating and implementing custom attributes,[object Object]
SetFocus Project #1 – Framework Project AppTypes Assembly
///<summary>     /// Interface details required properties for abstractions with a mailing address. ///</summary> public interface I Address     { ///<summary>         /// Address Property ///</summary>         ///<value>Automatic set used to set the address</value> string Address    { get; set; } ///<summary>         ///City Property ///</summary>         ///<value>Automatic set used to set the City</value> string City       { get; set; } ///<summary>         /// Region Property ///</summary>         ///<value>Automatic set used to set the Region</value> string Region     { get; set; } ///<summary>         ///Postal Code property  ///</summary>         ///<value>Automatic set used to set the Postal Code</value> string Postal Code { get; set; }      } SetFocus Project #1 – Framework Project Address Interface
///<remarks>     /// Description Attribute created to allow the developer to specify information /// about himself for the newly created class. Developer name, date and title /// are field which can be specified. /// Description can be applied to Assembly, Class, Interface and Enum ///</remarks>     [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class |      AttributeTargets.Interface| AttributeTargets.Enum, AllowMultiple = true)]     public class DeveloperInfoAttribute : Attribute     { ///<summary>         /// Non-Default Constructor ///</summary>         ///<param name="name"></param> public DeveloperInfoAttribute(string name)         {             Name = name;         } ///<summary>         /// Name Property ///</summary>         ///<value>Automatic set used to assign value</value> public string Name { get; set; } ///<summary>         /// Date Property ///</summary>         ///<value>Automatic set used to assign value</value> public string Date { get; set; } ///<summary>         /// Title Property ///</summary>         ///<value>Automatic set used to assign value</value> public string Title { get; set;} } SetFocus Project #1 – Framework Project Address Interface
///<remarks>     /// Description Attribute created to allow the developer to specify information /// about himself for the newly created class. Developer name, date and title /// are field which can be specified. /// Description can be applied to Assembly, Class, Interface and Enum ///</remarks>     [AttributeUsage(AttributeTargets.Assembly| AttributeTargets.Class |      AttributeTargets.Interface| AttributeTargets.Enum, AllowMultiple = true)]     public class DeveloperInfoAttribute : Attribute     { ///<summary>         /// Non-Default Constructor ///</summary>         ///<param name="name"></param> public DeveloperInfoAttribute(string name)         {             Name = name;         } ///<summary>         /// Name Property ///</summary>         ///<value>Automatic set used to assign value</value> public string Name { get; set; } ///<summary>         /// Date Property ///</summary>         ///<value>Automatic set used to assign value</value> public string Date { get; set; } ///<summary>         /// Title Property ///</summary>         ///<value>Automatic set used to assign value</value> public string Title { get; set;} } SetFocus Project #1 – Framework Project Developer Attribute
Library Management System Developer: Zaccheus Roserie Email: zroserie@gmail.com
SetFocus Project #2 – Library Phase 1 Objective Create a Windows Forms-based front-end application that will provide a librarian with a visual interface through which the librarian may perform the desired functions. Required functionality included checking in and out books from the library as well as adding new members (adult or juvenile). Summary This project demonstrates the use of .NET Windows form based development techniques. Some of the techniques implemented into this project include: ,[object Object]
User input validation and feedback using error providers.
User input validation using regular expressions.
Exception and Error handling.
Implementation of a UI that requires minimal training for Librarians.,[object Object]
SetFocus Project #2 – Library Phase 1 Library Manager Application – Member Information Display Adult Member Information
SetFocus Project #2 – Library Phase 1 Library Manager Application – Member Information Display Juvenile Member Information
SetFocus Project #2 – Library Phase 1 Library Manager Application Add new Adult Member Add new Juvenile Member
SetFocus Project #2 – Library Phase 1 Library Manager Application Checking a Book into of the Library
SetFocus Project #2 – Library Phase 1 Library Manager Application Checking a Book into of the Library
SetFocus Project #2 – Library Phase 1 Library Manager Application Checking a Book out of the Library
Objective In the Phase 1 project we were given the data access layer and created the presentation layer which interfaced with the Data access layer via the Business logic layer. In Phase 2, we recreated the Data Access Layer which consisted of the various Entities used by the application layers.  Summary This project demonstrates the use of  ADO.NET, LINQ as well as ORM (Object Relational Modeling). Transact-SQL was also used to access the database, which was managed using SQL-Server 2008. Some of the techniques implemented into this project include: ,[object Object]
Implement error handling in SQL stored procedures.
Process errors received from stored procedures in ADO.NET using SQL state codes returned by stored  procedures.
Creating stored procedures in Transact-SQL on SQL-Server 2008.
Using LINQ to retrieve and process result sets (using the entities data context)

More Related Content

What's hot

Web Applications and Deployment
Web Applications and DeploymentWeb Applications and Deployment
Web Applications and DeploymentBG Java EE Course
 
Controllers and context programming
Controllers and context programmingControllers and context programming
Controllers and context programmingKranthi Kumar
 
Database access and JDBC
Database access and JDBCDatabase access and JDBC
Database access and JDBCFulvio Corno
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan
 

What's hot (7)

Web Applications and Deployment
Web Applications and DeploymentWeb Applications and Deployment
Web Applications and Deployment
 
JSP Error handling
JSP Error handlingJSP Error handling
JSP Error handling
 
Controllers and context programming
Controllers and context programmingControllers and context programming
Controllers and context programming
 
Database access and JDBC
Database access and JDBCDatabase access and JDBC
Database access and JDBC
 
Java server pages
Java server pagesJava server pages
Java server pages
 
Spring annotation
Spring annotationSpring annotation
Spring annotation
 
Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2Daniel Egan Msdn Tech Days Oc Day2
Daniel Egan Msdn Tech Days Oc Day2
 

Similar to Final Project Presentation

Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2Hugo Hamon
 
Strut2-Spring-Hibernate
Strut2-Spring-HibernateStrut2-Spring-Hibernate
Strut2-Spring-HibernateJay Shah
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet Sagar Nakul
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet Sagar Nakul
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentationipolevoy
 
Ta Javaserverside Eran Toch
Ta Javaserverside Eran TochTa Javaserverside Eran Toch
Ta Javaserverside Eran TochAdil Jafri
 
Bring the fun back to java
Bring the fun back to javaBring the fun back to java
Bring the fun back to javaciklum_ods
 
Maven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolMaven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolelliando dias
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's CodeWildan Maulana
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternselliando dias
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipseMike Slinn
 
Introducing Struts 2
Introducing Struts 2Introducing Struts 2
Introducing Struts 2wiradikusuma
 
Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2Matt Raible
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsmichaelaaron25322
 

Similar to Final Project Presentation (20)

C#Portfolio
C#PortfolioC#Portfolio
C#Portfolio
 
Ibm
IbmIbm
Ibm
 
Speed up your developments with Symfony2
Speed up your developments with Symfony2Speed up your developments with Symfony2
Speed up your developments with Symfony2
 
Using Maven2
Using Maven2Using Maven2
Using Maven2
 
Strut2-Spring-Hibernate
Strut2-Spring-HibernateStrut2-Spring-Hibernate
Strut2-Spring-Hibernate
 
Struts,Jsp,Servlet
Struts,Jsp,ServletStruts,Jsp,Servlet
Struts,Jsp,Servlet
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet
 
Strutsjspservlet
Strutsjspservlet Strutsjspservlet
Strutsjspservlet
 
SetFocus Portfolio
SetFocus PortfolioSetFocus Portfolio
SetFocus Portfolio
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentation
 
Ta Javaserverside Eran Toch
Ta Javaserverside Eran TochTa Javaserverside Eran Toch
Ta Javaserverside Eran Toch
 
Bring the fun back to java
Bring the fun back to javaBring the fun back to java
Bring the fun back to java
 
Maven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension toolMaven 2.0 - Project management and comprehension tool
Maven 2.0 - Project management and comprehension tool
 
Exploring Symfony's Code
Exploring Symfony's CodeExploring Symfony's Code
Exploring Symfony's Code
 
Maven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patternsMaven 2.0 - Improve your build patterns
Maven 2.0 - Improve your build patterns
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
 
Introducing Struts 2
Introducing Struts 2Introducing Struts 2
Introducing Struts 2
 
Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2
 
Spring and DWR
Spring and DWRSpring and DWR
Spring and DWR
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applications
 

Final Project Presentation

  • 1. SetFocus .NET Masters Program Framework Project and Library Management System Project Developed By: Zaccheus Roserie
  • 2. Framework Project Developer: Zaccheus Roserie Email: zroserie@gmail.com
  • 3.
  • 9. Creating and implementing custom Enumerators
  • 12.
  • 13. SetFocus Project #1 – Framework Project AppTypes Assembly
  • 14. ///<summary> /// Interface details required properties for abstractions with a mailing address. ///</summary> public interface I Address { ///<summary> /// Address Property ///</summary> ///<value>Automatic set used to set the address</value> string Address { get; set; } ///<summary> ///City Property ///</summary> ///<value>Automatic set used to set the City</value> string City { get; set; } ///<summary> /// Region Property ///</summary> ///<value>Automatic set used to set the Region</value> string Region { get; set; } ///<summary> ///Postal Code property ///</summary> ///<value>Automatic set used to set the Postal Code</value> string Postal Code { get; set; } } SetFocus Project #1 – Framework Project Address Interface
  • 15. ///<remarks> /// Description Attribute created to allow the developer to specify information /// about himself for the newly created class. Developer name, date and title /// are field which can be specified. /// Description can be applied to Assembly, Class, Interface and Enum ///</remarks> [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Interface| AttributeTargets.Enum, AllowMultiple = true)] public class DeveloperInfoAttribute : Attribute { ///<summary> /// Non-Default Constructor ///</summary> ///<param name="name"></param> public DeveloperInfoAttribute(string name) { Name = name; } ///<summary> /// Name Property ///</summary> ///<value>Automatic set used to assign value</value> public string Name { get; set; } ///<summary> /// Date Property ///</summary> ///<value>Automatic set used to assign value</value> public string Date { get; set; } ///<summary> /// Title Property ///</summary> ///<value>Automatic set used to assign value</value> public string Title { get; set;} } SetFocus Project #1 – Framework Project Address Interface
  • 16. ///<remarks> /// Description Attribute created to allow the developer to specify information /// about himself for the newly created class. Developer name, date and title /// are field which can be specified. /// Description can be applied to Assembly, Class, Interface and Enum ///</remarks> [AttributeUsage(AttributeTargets.Assembly| AttributeTargets.Class | AttributeTargets.Interface| AttributeTargets.Enum, AllowMultiple = true)] public class DeveloperInfoAttribute : Attribute { ///<summary> /// Non-Default Constructor ///</summary> ///<param name="name"></param> public DeveloperInfoAttribute(string name) { Name = name; } ///<summary> /// Name Property ///</summary> ///<value>Automatic set used to assign value</value> public string Name { get; set; } ///<summary> /// Date Property ///</summary> ///<value>Automatic set used to assign value</value> public string Date { get; set; } ///<summary> /// Title Property ///</summary> ///<value>Automatic set used to assign value</value> public string Title { get; set;} } SetFocus Project #1 – Framework Project Developer Attribute
  • 17. Library Management System Developer: Zaccheus Roserie Email: zroserie@gmail.com
  • 18.
  • 19. User input validation and feedback using error providers.
  • 20. User input validation using regular expressions.
  • 22.
  • 23. SetFocus Project #2 – Library Phase 1 Library Manager Application – Member Information Display Adult Member Information
  • 24. SetFocus Project #2 – Library Phase 1 Library Manager Application – Member Information Display Juvenile Member Information
  • 25. SetFocus Project #2 – Library Phase 1 Library Manager Application Add new Adult Member Add new Juvenile Member
  • 26. SetFocus Project #2 – Library Phase 1 Library Manager Application Checking a Book into of the Library
  • 27. SetFocus Project #2 – Library Phase 1 Library Manager Application Checking a Book into of the Library
  • 28. SetFocus Project #2 – Library Phase 1 Library Manager Application Checking a Book out of the Library
  • 29.
  • 30. Implement error handling in SQL stored procedures.
  • 31. Process errors received from stored procedures in ADO.NET using SQL state codes returned by stored procedures.
  • 32. Creating stored procedures in Transact-SQL on SQL-Server 2008.
  • 33. Using LINQ to retrieve and process result sets (using the entities data context)
  • 34. Retrieve and process result sets returned from SQL stored procedures.
  • 35. Writing comprehensive test scripts for testing stored procedure functionality.
  • 36. Utilize strongly typed datasets based on result sets of stored procedures.SetFocus Project #3 – Library Phase 2
  • 37. SetFocus Project #3 – Library Phase 2 Data Access Layer - Entities
  • 38. SetFocus Project #3 – Library Phase 2 Transact- SQL : Stored Procedures -- ============================================= -- Author: Zaccheus Roserie -- Create date: 8/14/2009 -- Description: Adds a new Adult into the adult table -- Errors -- state 1 -- raiserror('firstname, lastname, street, city, state and zipcode can not be null',11,1) -- ============================================= CREATE PROCEDURE [dbo].[spAddAdultMember] -- Add the parameters for the stored procedure here @firstname varchar(15) = null, @lastname varchar(15) = null, @middleinitial char(1) = null, @photograph image = null, @street varchar(15) = null, @city varchar(15) = null, @state char(2) = null, @zipcode char(10) = null, @phone_no char(13) = null, @member_no smallint OUTPUT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; --validate params IF @firstname is null or @lastname is null or @street is null or @city is null or @state is null or @zipcode is null BEGIN raiserror(' firstname, lastname, street, city, state and zipcode cannot be null', 11,1) END
  • 39. --set the expiration date to one year from today's date DECLARE @expr_date datetime SET @expr_date = DATEADD(YEAR,1,GETDATE()); END BEGIN TRY BEGIN TRAN -- Insert statements for procedure here INSERT INTO [library].[dbo].[member] ([lastname], [firstname], [middleinitial], [photograph]) VALUES (@lastname, @firstname, @middleinitial, @photograph) set @member_no = scope_identity() INSERT INTO [library].[dbo].[adult] ([member_no], [street], [city], [state], [zip], [phone_no], [expr_date]) VALUES (@member_no, @street, @city, @state, @zipcode, @phone_no, @expr_date) COMMIT TRAN END TRY BEGIN CATCH -- See if system error arose during Transaction if @@TRANCOUNT > 0 BEGIN ROLLBACK TRAN END PRINT 'Error(s) Caught' -- Declare local variables DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT; -- Populate variables SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE(); -- rethrow goes to front end c# RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState); RETURN END CATCH
  • 40.
  • 41. Automatically updating Juvenile members of the library to adult members if they have encountered or passed their 18th birthday.
  • 42.
  • 43. Databinding gridviews through the use of an ObjectDataSource control. 
  • 45. Use of validation summaries to obtain user feedback to deal with input validation 
  • 48. SetFocus Project #4 – Library Phase 3 Library Manager ASP.NetLogin Page
  • 49. SetFocus Project #4 – Library Phase 3 Library Manager ASP.NetWeb Application Display an Adult Member
  • 50. SetFocus Project #4 – Library Phase 3 Library Manager ASP.NetWeb Application Display a Juvenile Member
  • 51. SetFocus Project #4 – Library Phase 3 Library Manager ASP.NetWeb Application Renew an Expired Membership
  • 52. SetFocus Project #4 – Library Phase 3 Library Manager ASP.NetWeb Application Renew an Expired Membership
  • 53. SetFocus Project #4 – Library Phase 3 Library Manager ASP.NetWeb Application Renew an Expired Membership
  • 54. SetFocus Project #4 – Library Phase 3 Library Manager ASP.NetWeb Application Add a new copy of an existing Book
  • 55.
  • 57. Authentication using ASP.Net membership.
  • 58. Implementing Data Contracts into Data Access Layer Entities to allow Serialization across various application layers.
  • 59.
  • 60. SetFocus Project #5 – Library Phase 4 Library Service Interface [OperationContract] [FaultContract(typeof(LibraryFault))] void UpgradeJuvenileMembership(Int16 memberId); [OperationContract] [FaultContract(typeof(LibraryFault))] void RenewMembership(Int16 member_no); [OperationContract] [FaultContract(typeof(LibraryFault))] void CheckBookIn(Int32 isbn, Int16 copyNumber); [OperationContract] [FaultContract(typeof(LibraryFault))] void CheckBookOut(Int16 memberNumber, Int32 isbn, Int16 copyNumber); [OperationContract] [FaultContract(typeof(LibraryFault))] int AddNewTitle(Int32? isbn, Int16? copy_no, string title, string author, string synopsis, string translation, string cover, char? loanable, char? on_loan, int? title_no); }
  • 61. SetFocus Project #5 – Library Phase 4 Library Service Interface [DataContract] public class LibraryFault { [DataMember] public Int16 OtherMemberID{get; private set; } [DataMember] public ErrorCode FaultErrorCode { get; set; } [DataMember] public string FaultErrorMessage { get; set; } }