Database Programming using C# 2015, Visual Basic 2015 and SQL Server

(Secrets of Developing an Accounting Package using C#, Visual Basic 2015 revealed ) database programming using vb, c# and sql server book

Table of Contents

The objective of this book is to teach the secrets of developing an accounting software package for the .Net platform using Visual Basic, C# , ADO .Net, SQL Server and Crystal Reports. Techniques of developing a complete accounting software package are taught using business logics, programs, flow charts and this makes learning easier.

You will also learn how to create stored procedures and triggers, program the transactions of an Accounting Software, program reports using Crystal Reports, about disconnected architecture, MDI applications and how to use T-SQL.

Chapter : 1. Get started with Visual Studio 2015

  1. Introduction to Visual Studio 2015
  2. Understanding .NET 2015 components
  3. Components of the .NET Framework 4.6
  4. Visual Studio 2015 Integrated Development Environment
  5. Creating a new Project in Visual Studio 2015
  6. User Interface Elements of Visual Studio 2015 IDE
    • Design Window
    • WPF Designer
    • Web Forms Designer
    • Solution Explorer Window
    • Properties Window
    • Toolbox
    • Output Window
    • Task list window
    • Server Explorer Window
    • Code Editor Window
  7. Windows Forms
    • Windows Form Properties
    • Windows Forms Events, Handles keyword
    • Windows Form Methods
    • Windows Form Controls
      • Text box Control
      • Label Control
      • ListBox Control
      • Selecting Items in ListBox Control
      • CheckBox Control
      • ComboBox Control
      • RadioButton Control
      • GroupBox Control
      • Button Control
    • Control Events
      • Keyboard Events
      • Mouse events
      • Control - specific events
    • Working with Windows Form Controls and Events
  8. Visual Basic 2015 Language Features
  9. Data Types in VB 2015
  10. Variables
    • Declaring Variables
    • Variable Naming Conventions
    • Variable Initialization
    • Variable Scope
      • Block Scope
      • Procedure Scope
      • Module Scope
      • Namespace Scop
    • Life time of a variable
  11. Constants
  12. Arrays
    • Declaring an array
    • Multidimensional Arrays
    • Assigning values to array elements
    • Dynamic Arrays
    • Preserve Keyword
  13. Operators
    • Arithmetic Operators
    • Comparison Operators
    • Logical Operators
    • Concatenation Operators
  14. Control flow constructs
  15. Decision structures
    • If - Then - Else
    • Select Case Construct
  16. Loop structures
    • While - End While Loop Structure
    • Do-Loop Structure
    • For-Next Loop Structure
  17. Nested Control Statements
  18. Procedures in Visual Basic 2015
  19. Sub Procedures
    • Access Modifiers used with Sub Procedures
    • Argument Declaration in a Sub Procedure
    • Passing arguments to a Sub Procedure
    • Calling a Sub Procedure
    • Types of Sub procedures
      • General procedures
      • Event-handling procedures
  20. Function procedures
    • Return Values of a Function Procedure
    • Calling a Function Procedure
  21. Property Procedures
  22. Procedure Overloading
    • How to create Parameter Array
    • Rules to be followed while using a Paramter Array
    • Passing arguments of a Parameter Array
Create Database Schema with Scripts Stored Procedures
T SQL Triggers, Insert Update Delete One to many, Many to many, Business Transactions Commonly used Accounts Double Entry System, Creating Classes, Business Logic, Validations, Data Access logic, Code Vouchers

Chapter : 2. C# Fundamentals with VS 2015

  1. Data Types in C# 2015
  2. Variables
  3. Rules to create an identifier
  4. Initialization of Variables
  5. Variable Scope
  6. Constants
  7. Arrays
  8. Assigning values to Arrays
  9. Two Dimentional Arrays
  10. MultiDimensional Arrays
  11. Jagged Arrays
  12. Operators
    • Arithmetic Operators
    • Relational Operators
    • Logical Operators
    • Assignment Operators
    • Increment and Decrement Operators
    • Ternary Operators
  13. Control flow constructs
  14. Conditional Statements
    • if..else
    • switch..case statement
  15. Loops
    • while loop
    • do...while loop
    • for loop
  16. Collections
  17. Non-Generic Collections
  18. Generic Collections
  19. Working with ArrayList
  20. Adding items to the ArrayList using an Add Method
  21. Iterating through items
    • Using Indexers
    • Using Enumerators
    • Using ForEach loop
  22. Inserting items to the ArrayList using Insert and InsertRange method
  23. Adding items to the ArrayList using AddRange Method
  24. Removing items from ArrayList
  25. IndexOf Method
  26. Problems with ArrayList
  27. Generics
  28. When to use a Collection?
  29. Performance issues when working with collectins -List and Dictionary
  30. Adding Data into List
  31. Collection initializers
  32. Interating through the Customer List
  33. Sorting in Lists
  34. Usageof IComparable and IComparer and interafce to sort Lists of objects on custom classes


Chapter : 3. Object Oriented Programming in Visual Basic 2015 & C# 2015

  1. Namespaces
    • Creating a Namespace in VB & C#
    • Creating Nested Namepsaces in VB & C#
    • Creation of aliases for namespaces in VB and C#
    • How to access members of a namespace in VB and C#
  2. Structures
    • Declaring a Structure
    • Access Modifiers
    • Similarities between Classes and Structures
    • Differences between Classes and Structures
    • Create a Structure in Visual Basic 2015
    • Structures and Property Procedures
    • Initialization in Structures
    • Structure and Constructors
    • Create a Structure in C# and use it in Windows Forms Application
    • Writing a Constructor to initialize Structure member variables in C#
  3. Using Classes in Visual Basic 2015 & C# 2015
    • Advantages of using Classes and Objects
    • Creating a Class in Visual Basic 2015
    • Property Procedures
    • Property Declaration in VB 2015
    • Property Declaration in C# 2015
    • Using C# Language Feature: Automatic Properties for defining Property Procedures
    • Constructors
    • Instance Constructor in VB 2015
    • Instance Constructor in C# 2015
    • Write the code to instantiate the class
    • Run the application
    • Shared constructor in VB 2015
    • Static constructor in C# 2015
    • Destructors
    • Finalize() Destructor
    • Dispose() method
  4. Inheritance
    • Declaration of Account Class
    • Constructor overloading in vb.net
    • Creating a derived class - PartyAccount
    • Creating a constructor in derived class with parameters
    • Creating a derived class - BankAccount
  5. Polymorphism
    • Compile time Polymorphism/ Method OverLoading
    • Implementing runtime Polymorphism / Overriding
    • Example of runtime Polymorphism in VB 2015 and C#
  6. Abstract Classes
    • Creating Abstract Classes
    • Creating Abstract Members in Abstract Class
    • Implementing Abstract Class
    • Testing - Abstract class
    • Testing - Abstract class and Polymorphism
    • Polymorphism through Inheritance
    • Creating An Abstract Class in C# 2015
    • Implementing An Abstract Class in C#
    • Testing - Abstract class and Polymorphism in C#
  7. Interfaces
    • Difference between interfaces and abstract classes
    • Why use interfaces
    • Declare an Interface in VB 2015
    • Create Invoice class which implements IPayableHandler Interface
    • Create Employee class which implements IPayableHandler Interface
    • Testing - Interface and Polymorphism in VB 2015
    • Declare an Interface in C# 2015
    • Create Invoice class which implements IPayableHandler Interface
    • Create Employee class which implements IPayableHandler Interface
    • Testing - Interface and Polymorphism in C# 2015
    • Implementing Visual Inheritance

Chapter : 4. Working with SQL Server 2012

  1. SQL Server Management Studio
  2. Authentication Modes in SQL Server 2012
  3. Understanding Windows Authentication mode
  4. Understanding SQL Server Authentication mode
  5. Changing SQL Server Authentication mode
  6. SQL Server Object Explorer
  7. Securing the Database
  8. Create Logins
  9. Add Logins to Server Roles
  10. Fixed Roles
  11. Grant access to Databases
  12. Implementing Physical Database Schema
  13. Creating the Database Files
  14. Configuring the File Growth
  15. Using Multiple Files
  16. Multiple File Groups
  17. Creating a Database with File Groups
  18. Creating schemas
  19. Tables with SQL Server Management Studio
  20. Creating Tables with SQL Server Script
  21. Creating Primary Keys
  22. Using Identity Columns and GUIDS
  23. Declarative referential integrity
  24. Creating Indexes
  25. Structured Query Language
  26. T-SQL
  27. Triggers
  28. Transactions

Chapter : 5. How to use ADO.Net in VB 2015 & C# 2015

  1. An introduction to ADO.Net
  2. The ADO.Net Object Model
  3. Dot Net Data Providers
  4. Connection Object
  5. Command Object
  6. DataReader
  7. Retrieving data using DataReader and Displaying in Textboxes
  8. DataAdapter Properties and Methods
  9. DataSet
  10. Typed vs Untyped Datasets
  11. Navigating through Datasets
  12. Updating the Database using Dataset and DataAdapter
  13. Detecting & Handling changes to Data in a Dataset

Chapter : 6. Accounting for Developers

  1. Business Transactions
  2. Financial Position and Accounting Equation
  3. Accounts
  4. Commonly used Accounts
  5. Chart of Accounts
  6. Groups
  7. Double Entry System
  8. Analysis of Transactions
  9. The Voucher System
  10. Typcial Transactions
  11. Financial Statements

Chapter : 7. Developing the Financial Accounting Application in VB 2015 & C# 2015

  1. Developing the Masters
  2. Creating the Project
  3. Writing Standard Modules
  4. Creating the FinAccounting Database
  5. Exploring the FinAccounting Database
  6. Populating the Group Table with Chart of Accounts
  7. Designing & Programming the Accounts Form to enter Customer Accounts, Supplier, Cash Accounts, Bank Accounts and General Ledger accounts like Asset A/cs and Liability Accounts
  8. Programming the AccountsForm
  9. Writing a Constructor
  10. Programming the AccountsForm_Load() event procedure
    • Steps:
    • Establish a Connection with the SQL Server Database
    • Populate the listbox with Groups (Chart of Accounts)
    • Instantiate the Commands
    • Instantiate the DataAdapter
    • Set the DataAdapter command properties
    • Add parameters to the sqlCommand
    • Instantiate the DataSets
    • Populate the DataSet
    • Traverse the DataSet, filter the Dataset and populate the listbox with Accounts
    • Add Insert Command parameters
    • Add Update Command parameters
    • Add Delete Command parameters
    • Achieve error free/rapid data entry by enable/disable controls
  11. Saving Account details into the DataSet
  12. Program the New button of Accounts Form
  13. Program the Edit button of Accounts Form
  14. Program the Delete button of Accounts Form
  15. Moving to a particular row in the DataSet
  16. Program the Update button of Accounts Form to Save the account details to the SQL server database
  17. Connecting the Accounts Form to the Menu
  18. Enter Customer Accounts, Supplier, Cash Accounts, Bank Accounts and General Ledger accounts like Asset a/cs and Liability Accounts using the Accounts Form
  19. Developing Financial Accounting Transactions
    • Cash Voucher Transaction
    • Cash Receipt Transaction
    • Cheque Voucher Transaction
    • Cheque Receipt Transaction
    • Purchase Transaction
    • Sale Transaction
    • Journal Voucher Transaction
    • Debit Note
    • Credit Note
  20. Understand the Validations to be implemented to maintain Double Entry in Financial Accounting Transactions
  21. Developing the Tran Class
    • Add a class to the project.
    • Declare the member variables
    • Class constructor
    • Writing property procedures
    • Writing a class method to retrieve Accounts data from database using Stored Procedure and filling the DataSet
    • Class method to retrieve only Cash and Bank Accounts
    • Writing a class method to Save the complete transaction data which contain multiple accounts into the TranTable
  22. Designing and Programming the Journal Voucher Form - User Interface
  23. Placing DataGridView for accepting multiple Accounts in JounalForm
  24. Programming the JournalForm_Load() event procedure
  25. Create a Table Structure using DataTable for programming the DataGridView control to accept multiple rows of data in the Journal Form
  26. Bind DataGridView control to the DataTable
  27. Write a Procedure GetAccounts() to call TranClass method to retrieve accounts and Fills the Accounts Combobox Control
  28. Write a Procedure CheckSavebutton() to enable Save button only if Debit Amount total is equal to Credit Amount total in a Transaction
  29. Program the Add button of Journal Voucher Form
  30. Program the Edit button of Journal Voucher Form
  31. Program the Delete button of Journal Voucher Form
  32. Program the Save button of Journal Voucher Form
  33. Designing and Programming the Voucher Form
  34. Designing and Programming the Receipt Form
  35. Designing and Programming the Purchase Form
  36. Designing and Programming the Sale Form
  37. Designing and Programming the Credit Note Form
  38. Designing and Programming the Debit Note Form
  39. Connecting Trasnsaction forms to the Menu and enter Finacial Accounting Transactions - Journal Entries, Cash Voucher, Cheq Voucher, Bank Voucher and Bank Receipts

Chapter : 8. Creating Reports in Crystal Reports using Visual Basic and C#

  1. Introduction
  2. Designing and Programming the Trial Balance
  3. Designing and Programming the DayBook
  4. Designing and Programming the Registers
Technical Perspective

This book adopts an object oriented approach to develop an Visual Basic 2015 and C# 2015 and SQL Server Accounting application. You will appreciate why an object oriented approach is used in application development. The programs which come with source code reveal the benefits of OOPs. The reports and transactions dealt with in this book are unique to an Accounting application. This book lays a good foundation for developing a client/server accounting application.

Unlike most other books, erp software development books cover all the end to end issues of developing database applications.