.NET Training

 Windows DNA
• Windows DNA and its related problems
• .NET Solution

 .Net Framework Architecture
• .NET Framework elements
• Application Domains

 Elements of CLR
• JITer
• Garbage Collector
• Class loader
• Security Manager
• Type Verifier

Compilation Process
• Compilation process in .NET
• .NET Application Execution Process
• .NET Assemblies

 Type System
• Understanding .NET Type system
• Common Type System
• Value types and Reference types

Common Language Specification
• CLS compliance across .NET languages

 .NET Namespaces
• Significance of Namespaces in .NET
• Understanding Namespaces
• Namespace extended across assemblies
• Multiple Namespaces within an assembly
• Nesting Namespaces

 .Net Framework features
• Boxing and Unboxing
• Checked / UnChecked
• params Keyword
• out, ref keyword
• const and readonly keyword
• static members
• functions and constructor

Object Oriented Features
• Encapsulation
o Object type
• Defining Properties
o readwrite
o Readonly
o Writeonly
• Accessibility levels
• Defining Methods
• Using access modifiers
• Initializations and cleanup using Constructors, Destructors
• Importance of IDisposable
• Static and instance members
• Inheritance and Polymorphism
• Invoking base class functionality from derived class
• Defining virtual functions and overriding them
• Abstract classes and methods
• Sealed classes and methods
• Hiding base class members
• Partial Class
• Static classes

Exception Management
• Understanding exceptions
• Handling exceptions
• Exception class
• User defined exceptions

• Need for callbacks in an application
• Introducing Delegates
• Multicast delegates
• Anonymous methods
• Delegate inferring

• Notifications using events
• .NET Events instances of delegates
• Events and inheritance
• Register and Un-register event

• Visual Studio .NET debugging environment
• Using debugging tools provided by the IDE
• Local Window
• Watch window
• Breakpoints
• Call stack

• Defining Interfaces in .NET
• Implementing interfaces
• Providing interface specific implementation
• Querying for a supported interface

Collection Classes
• What are collection classes
• .NET Collection Types
• Name-Value pair Collections

• Method with Generics
• Class with Generics
• Constraints on generic methods and classes
• Delegate with Generics

Iterators [Only C#]
• Creating Iterators for a class
• Iterators with Generics and Non Generics class
• Using Interfaces IEnumerable, Ienumerator

Nullable Data Types
• Value types that hold Null values
• INullable generic type
• Using the shortcut to declare nullable types

• Private and Shared Assemblies
• Creating Strong-named assemblies
• Global Assembly Cache
• Single file assemblies and Multi file assemblies
• .NET modules
• Understanding the assembly contents using ILDASM

File IO
• Using the different stream classes in .NET
o BinaryReader/Writer
o StreamReader/Writer
o FileInfo/DirectoryInfo

• Persisting object to a stream
• Serialization and inherited classes
• Serialization modes
o Binary
• Customizing Serialization by
o Using attributes
o Implementing ISerializable interface

Async and Parallelism
• Overview
• Conceptual Async
• Managing Exceptions
• WhenAll
• WhenAny
• Run and FromResult
• Delay, Yield, and ConfigureAwait
• Handling Cancellation and Timeout

 Introduction to ADO.NET
• Comparison between ADO & ADO.NET
• ADO.NET architecture
• Connection Model
• Disconnected Model
• The Managed Providers
o OLEDB Provider
o SqlClient

 Connected Model
• Using Connected model
• Forward-only, Read-Only access to data
• Executing Stored Procedures using Command objects
• MARS (Multiple Active ResultSets Only if RDBMS is SQL 2005).
• Passing parameters to command objects
• Asynchronous command and query support

 Disconnected Model
• Using disconnected data access
• Populating DataSets using DataAdapter
• Setting constraints on a DataTable
o Primary Key
o Unique
o Foreign Key
• Load feature of DataTable
• Inserting, Updating, Deleting data in Data Tables
• Using the CommandBuilder
• Doing BatchUpdates
• Customizing the DataAdapter for behaviour and commands

Data Binding through code
• Data binding with Windows controls
• Using CurrencyManager
• BindingSource Class to bind data to the Controls
• BindingNavigator to navigate through the records
• Filtering and Sorting data in a DataTable using DataViews
• ToTable feature of DataView

Data-Binding using RAD
• Accessing data in Visual Studio 2005
• Data sources window
• RAD Data Binding in Windows Forms
• DataGridView

 Typed datasets
• Strongly-typed DataSets
• Strongly-typed DataAdapters

ADO.NET Transactions
• Transactions and the ACID properties
• Transaction Isolation Levels
• ADO.NET Transaction objects
• Using Transactions with Connections and Commands
• Introduction to System.Transactions Namespace

• Reading and Writing XML with ADO.NET
• Creating XSD Schemas
• Loading Schemas and Data into DataSets
• Creating and using Typed DataSets

C# Language Enhancements
• Auto implemented properties
• Object and collection initializers
• Extension methods
• Lambda expressions
• Anonymous Types
• Inferred local type declarations, implicitly typed local variables
• Query Expressions

LINQ Architecture
• Understanding the LINQ Framework
• LINQ Providers
o LINQ to Objects
o LINQ to Dataset

LINQ to Objects
• IEnumerable and IQueryable interfaces
• System.Linq namespace

• Query Expressions
o from
o where
o order by
o select
o join
o aggregate

• LINQ to ADO.NET providers
o LINQ to Entities
o LINQ to DataSets
• LINQ to SQL architecture
• Entity Classes
o Defining the Data Model classes
o Using Mapping attributes
o Using the DataContext class
o Defining Relationships using Associations
• Querying data
o IQueryable Interface
o Query Expressions in LINQ to SQL
• Tools
o Using the SQLMetal tool
o Using External Mapping files

Entity Framework
• Entity Framework Architecture
• Entity Lifecycle
• Code First
• Model First
• Database first
• Querying with EDM
LINQ to Entities
Entity SQL
 Native SQL
• Projection Queries
 First/FirstOrDefault
 Single/SingleOrDefault
 ToList
 GroupBy
 OrderBy
 Anonymous Class result
 Nested queries
• DBSet Class
• DBEntityEntry Class
• Change Tracking in Entity Framework
• Stored Procedure in Entity Framework
• Eager Loading
• Lazy Loading
• Explicit Loading

Entity Framework 6.0 Features
• Connection resiliency
• Asynchronous query and save
• Code-based configuration
• Database command logging
• Database command interception
• Dependency Resolution
• DbSet.AddRange/RemoveRange
• Better Transaction Support
• Pluggable pluralisation and singularization service
• Testability improvements
• Creating context with an open connection
• Improved performance and warm-up time

 Introduction to ASP.NET
• Differences between ASP and ASP.NET
• Defining web application
• Lifetime of an application
• Understanding the HTTP Request/Response model
• Event-based processing model

ASP.NET Architecture
• Difference between ASP.NET 1.x and 2.0
• Understanding how the pages are processed
• Compilation options in ASP.NET 2.0
• ASP.NET Architecture
• Role of HTTP-Handlers and Modules
• ASP.NET WebForms
• ASP.NET Programming Model
• Request processing life-cycle in ASP.NET
• Dynamic compilation
• Code behind model
• Server Controls

ASP.NET Tracing
• Tracing code execution
• Page Level Tracing
• Application Level Tracing

 ASP.NET Validation Controls
• Validating input using validation controls
• Using Custom Validator
• Writing client side validation scripts
• Validation groups

Data Binding Controls
• Understanding data binding in ASP.NET
• Data Source Controls
o SqlDataSource
o ObjectDataSource
• Data Controls
• GridView, DataRepeater, DataList and DetailsView
• Understanding templates
• Customizing output by defining user defined templates
• Implementing paging and sorting using GridView
• Editing data using GridView control
• Passing Parameters
o Using ControlParameters
o Using QueryStringParameters

Crosspage postback
• Posing data back to another page using crosspage postback
• Accessing previous page properties

Data Caching
• Using Cache object
• Scope of data cached
• Setting Expiry policies
o Sliding Expiry
o Absolute Expiry
• Setting dependencies
o Key dependency
o File dependency

 Output Caching
• Caching output of a page
• Varying the cache by input parameters received by the page
• Setting expiry for the output cache
• Caching parts of a page with User controls
• Fragment Caching

Managing Look and Feel
• Master pages
• Master pages and content pages
• Accessing controls defined in master pages
• Themes and skins
o Applying themes
o Global themes vs. local themes
o Theme and skin definitions

Navigation Controls
• Navigation controls
o TreeView controls
o Menu controls
• Site maps
o XML site maps
o SiteMapDataSource controls
o SiteMapPath controls

 .config Files
• The Configuration System
• The Hierarchical Configuration Architecture
• The Config files: web.config, Machine.config
• ASP.NET Configuration Sections
• Default Configuration Settings

ASP.NET State Management
• Strategies for maintaining state in an ASP.NET application
• Using View State
• Understanding Application and Session objects
• Out-of-process state management techniques
o State Server
o SQL Server
o Custom

Security Model
• Describe ASP.NET Security Models
• ASP.NET Authentication
o Windows Authentication
o Forms Authentication
o Passport Authentication
• ASP.NET Authorization
o User level
o Role based

Security using Membership Providers
• Configuring FormsAuthentication
• Using MemberShip Provider
• Creating users
• Defining Access Rules for the site

Role Management
• Roles class
• Role caching
• Role providers

• Profiles and profile groups
• Using custom data types in profiles
• Profiles and anonymous users

• Auto culture handling
• Declarative resource loading and more

• ScriptManager
• UpdatePanel
• UpdateProgress
• PostBacktrigger and AsyncPostBackTrigger

Fundamentals of ASP.NET MVC
• ASP.NET MVC Architecture
• ASP.NET Web Forms vs. ASP.NET MVC
• Page Controller and Front Controller
• Structure of an ASP.NET MVC application

ASP.NET MVC 5 project structure
• Working with Visual Studio MVC 5 Projects templates
• ASP.NET MVC Project folder- Model, Views, Controller
• MVC Framework and Application Structure
• MVC Application Execution Process
• ASP.NET MVC Application using Areas

 Overview of Models, Views, and Controllers
• Controllers and Action Methods
• Views and UI Rendering
• Models

URL routing in ASP.NET MVC
• Introduction to Routes
• URL Patterns
• Adding Routes to an MVC Application
• Default Values for URL Parameters
• Handling Segments in a URL Pattern
• Adding Constraints to Routes
• Creating URLs from Routes
• URL Parameters in a Routed Page
• MVC 5 Attribute routing

View engine in ASP.NET MVC
• Introduction
• Razor’s Goals
• Models and View Data
• HTML Helpers
• Partial Views
• Layout Views
• Creating Custom HTML Helpers

Controller & Filters in Detail
• Role of Controllers in MVC
• Type of ActionResult
• ViewBag, ViewData or TempData
• Asynchronous Controller

• Filtering action methods
• Global action filters
• Creating Custom Action Filters
• Handling errors in MVC applications
• ASP.NET MVC 5 Authentication Filters

Models in Details
• Model Validation
• Data Annotations
• Custom Validation
• Self-validating models
• Client validation
• Remote validation

 Entity Framework
• Code First: Convention over Configuration
• Creating a Data Access Layer with Entity Framework Code First
• Validating Data
• Specifying Business Rules with Data Annotations
• Displaying Validation Errors

Dependency Resolution
• Introduction
• Dependency Resolution
• Benefits
• Controller Injection
• Controller Factories

The ASP.NET MVC 5 & Web API 2
• Building a Data Service
• Registering Web API Routes
• Hooking Up the API
• Querying Data
• Exception Handling
• Media Formatters

 Authentication and Authorization
• Using Windows Authentication
• Using Forms Authentication
• Using Membership, Roles, and Profiles
• AuthorizeAttribute class
• Create an ASP.NET MVC 5 App with Facebook and Google
• OAuth2 and Open ID Sign-on
 Testing ASP.NET MVC applications
• TDD and Unit Testing with ASP.NET MVC
• Building Testable ASP.NET MVC Applications

Introduction to HTML5
• The State Of Browser Support
Browsers In Desktop &Mobile
Feature Detection
• Support For Legacy Browsers
Graceful Degradation
• Developer Tools

Structure of A Web Page
• Page Encoding
• HTML5 Markup
 New And Updated Elements
 Structural Elements
 New Attributes
 Deprecated Elements And Attributes
• HTML5 and CSS3 together
• Browser Support

CSS 3 Basics
• Selective Styling
• Working with Pseudo-classes
• Working with Pseudo-elements

 Working with Text, Color, Background and Table
• HTML5 Text formatting Tags
• CSS3 Font and Text properties
• CSS3 Color and Background properties
• CSS3 List and Table properties

Layout your Webpages
• CSS3 Box properties
• CSS3 display, float, margin, position properties
• Multi column layout

CSS3 Visual Formatting, Transformation and Transition Properties
• Stacking objects
• Using shadow and Opaque properties
• Transforming an Element
• Adding Transitions Between Element States

• Current Solutions
• New Input Types
• New Attributes
• Form Validation
• Browser Support

Introduction to Bootstrap
• Designers and Developers
• Inside Bootstrap 3
• The Mobile Web
• Responsive Web Design
• Bootstrapping of the Web

Layout with Bootstrap
• Introduction
• Grid Layouts
• Simple Layout
• Fixed Grids
• Fluid Grids
• Responsive Design
• Responsive Utilities

Everyday Bootstrap
• Introduction
• Typography
• Tables
• Forms
• Buttons
• Images and Icons

Bootstrap Components
• Introduction
• Dropdown Menus
• Buttons with Menus
• Tabs and Pills
• The Navbar
• Badges, Labels, and Media

Audio and Video
• The State of Web Audio and Video Based On Plugins
• New Audio/Video Markup
• Attributes and Methods
• Understanding Audio/Video Events

 HTML5 Canvas
• Overview of Graphics in The Browser
Canvas Vs. SVG
• Using a Canvas
• Context and Coordinates
• Drawing Shapes and images
• Using gradients
• Browser Support

HTML5 Geolocation
• Introduction to Geolocation
• Mechanisms used to find geolocation
• The Position Object
• Handling Errors

 HTML5 Data Storage
• Problems with the existing Cookie-based Model
• New Storage Options
 Web Storage
 Local & Session
 Web SQL Storage
 Index DB
• Browser Support

 Ajax with jQuery
• Loading content asynchronously
• Fetching JSON data
• Receiving HTML With AJAX
• Receiving JSON With AJAX
• Sending Parameters in The AJAX Request
• Sending Raw Data in The AJAX Request
• Sending JSON in The AJAX Request
• jQuery’s .ajax facilities
Common settings
GET and POST requests
 Ajax Events
Consuming XML
Sending HTML form data
• The $.get() and $.post() Functions
• The $.getJSON() Function
• The load() Function
• The $.getScript() Function
• Global AJAX Functions
• The jqXHR Object
• Handling Errors
• $.ajaxSetup()
• $.ajaxPrefilter()
• Loading external scripts dynamically
• Interactive Ajax
• Spinners and progress indicators
• Endless scrolling
• jQuery noConflict() Method

Introduction to AngularJS
• Angular Architecture
• The Angular Event Registered Application
• Angular Version and Tools
• Angular Seed

Controllers and Markup
• Introduction
• Controllers and Scope
• Displaying Repeating Information
• Handling Events
• Built-in Directives
• Event Directives
• IE Restrictions
• Expressions

• Built-in Filters
• Writing Custom Filters
• Two Way Binding
• Validation

 Creating and Using Services
• Introduction to Services
• Creating custom Service
• Built-In AngularJS Services
• Using the $http and $q Services Together
• Using the $resource Service
• Using the $anchorScroll Service
• Using the $cacheFactory Service
• Using the $compile Service
• Using the $parse Service
• Using the $locale Service
• Using the $timeout Service
• Using the $exceptionHandler Service
• Using the $filter Service
• Using the $cookieStore Service
• Overview of Less Common Services

Creating Custom Services
• Injectable services
• Constant and values
• Provider
• Factory
• Services

• Introduction to Routing
• Websites
• Single Page Applications
• Adding Route
• Routing and Browser History
• Creating a Default Route
• Accessing Parameters from the Route
• Using the $route Service
• Enabling HTML5 Routing
• Template and Resolve Properties
• Using the $location Service

Creating Custom Directives
• Introduction to Directives
• Creating Your First Directive
• Domain Specific Language via Custom Elements
• Isolating Directive Scope
• Exploring Isolate Scope Bindings
• Handling Events with Directives
• Observing and Responding to Changes
• Using Controllers within Directives
• Sharing Directive Controllers via Require
• Directive Priority and using Terminal
• Using Require with Nested Directives
• Using Compile to Transform the DOM

 Testing Angular
• Testing Controllers
• Testing Simple Services
• Testing Services with Dependencies
• Testing AJAX Services
• Testing Filters
• Testing Directives

Getting Started with Oracle 11g
• Overview of SQL and PL/SQL
• Logging in to SQL* Plus
• Exiting SQL*Plus

Data Retrieval and Ordering the Output
• Simple data retrieval (SELECT)
• Describing table structures
• Conditional retrieval of data using operators
• Ordering on single and multiple columns
• Group by statements
• Searching character & data

Creating & Modifying Table Structures
• Defining table structures
• Data types
• Adding, modifying and dropping columns to existing tables
• Dropping tables

Inserting, Modifying and Deleting Data
• Inserting records in a table
• Inserting data for selected columns
• Inserting the output of a query into another table
• Updating records
• Deleting records

• Built-in Functions
• Numeric functions
• Character and date functions
• Conversion functions

• Joins & Sub Queries
• Table joins including ANSI join syntax
• Grouping information using aggregate functions
• Sub queries

Sequences and Synonyms
• Creating, altering, dropping, using sequences
• Creating ,dropping and using synonyms
• Retrieving information about sequences, views and synonyms

• Understanding views
• Creating views
• Altering and dropping views
• Manipulating data using views

 Introduction(Oracle 10g PLSQL)
• Describing PL/SQL
• Explaining the Benefits of PL/SQL
• PL/SQL program constructs
• PL/SQL anonymous block structure
• Subprogram block structure

Working with Blocks
• Declaring Variables
• Recognizing the Basic PL/SQL Block and Its Sections
• Describing the Significance of Variables in PL/SQL
• Distinguishing Between PL/SQL and Non-PL/SQL Variables
• Declaring Variables and Constants
• Executing a PL/SQL Block

 Writing Executable Statements
• Recognizing the Significance of the Executable Section
• Writing Statements Within the Executable Section
• Describing the Rules of Nested Blocks
• Executing and Testing a PL/SQL Block
• Using Coding Conventions

Interacting with the Oracle Server
• Writing a Successful SELECT Statement in PL/SQL
• Declaring the Data type and Size of a PL/SQL Variable Dynamically
• Writing Data Manipulation Language (DML) Statements in PL/SQL
• Controlling Transactions in PL/SQL
• Determining the Outcome of SQL DML Statements

Control Structures
• Identifying the Uses and Types of Control Structures
• Constructing an IF Statement
• Constructing and Identifying Different Loop Statements
• Controlling Block Flow Using Nested Loops and Labels
• Using Logic Tables

Composite Data types
• Creating User-Defined PL/SQL Records
• Creating a PL/SQL Table
• Creating a PL/SQL Table of Records
• Differentiating Among Records, Tables, and Tables of Records

Explicit Cursors
• Using a PL/SQL Record Variable
• Distinguishing Between the Implicit and Explicit Cursor
• Writing a Cursor FOR Loop
• Writing a Cursor that Uses Parameters
• Determining When a FOR UPDATE Clause in a Cursor Is Required
• Using a PL/SQL Table Variable
• Using a PL/SQL Table of Records

Handling Exceptions
• Defining PL/SQL Exceptions
• Recognizing Unhandled Exceptions
• Listing and Using Different Types of PL/SQL Exception Handlers
• Trapping Unanticipated Errors
• Describing the Effect of Exception Propagation in Nested Blocks
• Customizing PL/SQL Exception Messages

• Describe the uses of procedures
• Create procedures
• Create procedures with arguments
• Invoke a procedure
• Remove a procedure

• Describe the uses of functions
• Create a function
• Invoke a function
• Remove a function
• Differentiate between a procedure and a function

 Managing Subprograms
• Describe system privilege requirements
• Describe object privilege requirements
• Query the relevant data dictionary views
Creating Packages
• Describe packages and list their possible components
• Create packages that include public and private subprograms, as well as global and local variables
• Invoke objects in a package
• Remove packages
• Write packages that use the overloading feature of PL/SQL
• Avoid errors with mutually referential subprograms
• Initialize variables with a one-time-only procedure
• Specify the purity level of packaged functions
Database Triggers
• Describe different types of triggers
• Describe database triggers and their use
• Create database triggers
• Describe database trigger firing rules
• Drop database triggers
• Create triggers that fire when certain database actions occur
• List some of the limitations of database triggers
• Determine when to use database triggers or Oracle Server features
• Create triggers by using alternative events (notINSERT/UPDATE/DELETE)
• Create triggers by using alternative levels (not STATEMENT/ROW)
• Query the relevant data dictionary views

Contact Us