SlideShare a Scribd company logo
1 of 48
Angularjs-WebApi2-
EFCodeFirst Web App On 3-
Tier Architecture
Mohd Manzoor Ahmed [MCT]
(10+yrs of Training Cum Web Development Experience)
What are we going to implement?
Let's see live here http://EIS.ManzoorTheTrainer.com
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Employee Information System - User Story In
DetailNeed a web app which allows Admin to create a short profile of any employee with the
following information i.e., Emp Id and Email and as soon as the profile is created an
email should be generated and send to the employee with login credentials of the
portal. Employee should be able to login and update hisher full profile (except EmpId
and Email). The updated profile should reflect on Admin's dashboard.
Admin should also have an option to upload an excel sheet with multiple employees
information and multiple emails should be generated to the respective employees with
their login credentials.
Admin should also have right to full search and update or delete any record.
Defining the Roles & Responsibilities
● Admin
○ Can manage single or multiple employee profiles. (CRUD)
● Employee
○ Can viewupdate their own profile
Project Setup
1. Download Source Code
a. EIS
b. Dummy Data
2. Set Connection String
3. Set Gmail UserName And Password
4. Set Build The Project
5. Set StartUp Projects
6. Set API path in EIS.js
Design Project Arch.
Identifying the Objects
● Admin
○ Can manage single or multiple employee profiles. (CRUD)
● Employee
○ Can viewupdate their own profile
Objects
Employee (role, full profile)
Role
Identifying the Objects and Relationships
Object
● Role (A | U)
● Employee
Relationships
● Role : Employee (1 : M)
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Models - BOL
Entity Framework Code First
Creating
Solution And
BOL
● Create Class Library → EIS.BOL
● Add Role.cs
● Add Employee.cs
Step -2 : Creating
DAL
● Create Class Library → EIS.DAL
● Add Entity Framework 6
● Add Ref Of BOL
● Add EISDBContext.cs
● Repository Pattern
○ Add RoleDb.cs
Step -3 : Test DAL
● Console App → EIS.ConsoleUI
● Add Connection String
● Add Ref Of BOL
● Add Ref Of DAL
● Add Ref Of EntityFramework dlls
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Step -4 : Enabling
Code-First
Migration
Enable-Migrations (Install From Nuget
Console) in DAL
1. AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed =
true;
2. Database.SetInitializer(new
MigrateDatabaseToLatestVersion<EIS
DBContext,
EIS.DAL.Migrations.Configuration
>());
Step -5 :
Creating BLL
1. Create Class Library → EIS.BLL
2. Add Ref Of BOL
3. Add Ref Of DAL
4. Add RoleBs.cs
5. Add EmployeeBs.cs
6. Add Utility.cs
7. Test BLL with ConsoleUI
Step -6 :
Creating Web
APIs Project
1. Create Web API → EIS.API
2. Add Connection String
3. Add Ref Of BOL
4. Add Ref Of BLL
5. Add Ref Of EntityFramework dlls
6. Install CORS
7. RoleController
Design Project Arch.
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Step -7 :
Creating Web
AngularJS UI
1. Create Web Project→ EIS.AngularJSUI
2. Add AngularJS.Core
3. Add AngularJS.Route
4. Add AngularJS.Cookies
5. Add AngularJS.Utils.Pagination
6. Add angular-loading-bar
7. Add bootstrap (bootswatch.com)
Creating
Directory
Structure
Create Directory Structure & Add files (html & js)
● EIS.html (Main page)
● Eis.js (Main js file)
● Views
○ Common
■ Home (html & js)
■ Login ( html & js )
■ RecoverPassword ( html & js )
Step -9 :
Creating Sidebar
Menu
● Get The style from
http://bootsnipp.com/snippets/featured/
navigation-sidebar-with-toggle
● Customize it as per our need and add it
in new style bootstrap.custom.css
Step -10 :
Creating Route
Mapping Views And Controllers
● Convert To AngularJS App
● EIS.html (Main page)
● Eis.js (Main js file)
● Views
○ Common
■ Home (Home.html & home.js)
■ Login ( html & js )
Step -11 :
Employee Mgmt
- Grid
● Get all employees in a grid
● Implement Paging
● Implement Sorting
● Implement Search
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Step -12 :
Employee -
Create
● Create Employee Form
● Implement Insert Operation
● Success message alert
Step -13 :
Employee Mgmt
- Validation
● Client Side Validation
● Serve Side Validation
Step -14 :
Employee -
Delete
● Implementing Delete Employee
Step -15 :
Employee
Update - Panel
● Link Profile List To Details View
● Create Employee Update Tab Panel
● Autofill the employee details in the form
Employee
Update -
Validation
● Implementing Update Operation
● Client Side Validation
● Server Side Validation
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Step -17 :
Employee
Update - Image
● Image Upload To Web API
● Read Image from Web API
● Display profile pic in sidebar
Step -18 :
Authentication
● Login Functionality
● Logout Functionality
● Display profile pic in sidebar
● API Key Authentication
Step -19 :
Authorization
● Role based custom authorization
Step -20 : Exception Handling
● Client Side - AngularJS
● Server Side - Asp.Net Web APIs
● Implementing global exception handling.
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Step -20 :
Recover Password
● Implementing Recover Password
Step -21 :
Reminders
● Send Email On Create Employee
● Implement Reminders
Step -22 : Bulk
Upload - Employee
● Download Sample File
● Upload Excel
● Read Excel For Multiple Create
Step -23 :
URL - Rewriting
● $locationProvider.html5Mode(true);
● <base href="/">
● Remove “#/” from all URL
● <system.webServer>
● <rewrite/>
● Replace Cookies with ngStorage
Step -24 :
Loading Bar
● Add js
● Add css
● Add dependency
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Step -25 :
Reports - Excel
● Converting JSON to excel file
● alasql.min.js
● xlsx.core.min.js
● Write an alasql query
● + https://github.com/agershun/alasql
Step -26 :
Reports - Charts
Enroll Here
At 50% OFF - Use Coupon Code as ‘HALF-OFF’
Thanks

More Related Content

What's hot

Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCLearnNowOnline
 
Principles of MVC for PHP Developers
Principles of MVC for PHP DevelopersPrinciples of MVC for PHP Developers
Principles of MVC for PHP DevelopersEdureka!
 
AngularJS - introduction & how it works?
AngularJS - introduction & how it works?AngularJS - introduction & how it works?
AngularJS - introduction & how it works?Alexe Bogdan
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performancerudib
 
Angular Project Report
 Angular Project Report Angular Project Report
Angular Project ReportKodexhub
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJSDavid Parsons
 
learn mvc project in 7 day
learn mvc project in 7 daylearn mvc project in 7 day
learn mvc project in 7 dayQuach Long
 
Angular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHEREAngular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHERENadav Mary
 
Angular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsAngular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsDigamber Singh
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008Caleb Jenkins
 
ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines  ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines Dev Raj Gautam
 
MVC for Desktop Application - Part 1
MVC for Desktop Application - Part 1MVC for Desktop Application - Part 1
MVC for Desktop Application - Part 1晟 沈
 
Virtual Environment and Web development using Django
Virtual Environment and Web development using DjangoVirtual Environment and Web development using Django
Virtual Environment and Web development using DjangoSunil kumar Mohanty
 

What's hot (20)

Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
Principles of MVC for PHP Developers
Principles of MVC for PHP DevelopersPrinciples of MVC for PHP Developers
Principles of MVC for PHP Developers
 
AngularJS - introduction & how it works?
AngularJS - introduction & how it works?AngularJS - introduction & how it works?
AngularJS - introduction & how it works?
 
ASP .net MVC
ASP .net MVCASP .net MVC
ASP .net MVC
 
Angular js
Angular jsAngular js
Angular js
 
ASP.NET MVC Performance
ASP.NET MVC PerformanceASP.NET MVC Performance
ASP.NET MVC Performance
 
Angular Project Report
 Angular Project Report Angular Project Report
Angular Project Report
 
Angular from Scratch
Angular from ScratchAngular from Scratch
Angular from Scratch
 
Introduction to AngularJS
Introduction to AngularJSIntroduction to AngularJS
Introduction to AngularJS
 
learn mvc project in 7 day
learn mvc project in 7 daylearn mvc project in 7 day
learn mvc project in 7 day
 
Angular 2 binding
Angular 2  bindingAngular 2  binding
Angular 2 binding
 
Angular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHEREAngular elements - embed your angular components EVERYWHERE
Angular elements - embed your angular components EVERYWHERE
 
Angular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsAngular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive Forms
 
ASP.NET MVC for Begineers
ASP.NET MVC for BegineersASP.NET MVC for Begineers
ASP.NET MVC for Begineers
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines  ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 
MVC for Desktop Application - Part 1
MVC for Desktop Application - Part 1MVC for Desktop Application - Part 1
MVC for Desktop Application - Part 1
 
Virtual Environment and Web development using Django
Virtual Environment and Web development using DjangoVirtual Environment and Web development using Django
Virtual Environment and Web development using Django
 

Similar to Angularjs-WebApi2-EFCodeFirst Web App

AspMVC4 start101
AspMVC4 start101AspMVC4 start101
AspMVC4 start101Rich Helton
 
Lab StepsSTEP 1 Login Form1. In order to do this lab, we need.docx
Lab StepsSTEP 1 Login Form1. In order to do this lab, we need.docxLab StepsSTEP 1 Login Form1. In order to do this lab, we need.docx
Lab StepsSTEP 1 Login Form1. In order to do this lab, we need.docxsmile790243
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGiuliano Iacobelli
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsWebStackAcademy
 
Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7helpido9
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universitylhkslkdh89009
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction PresentationNerd Tzanetopoulos
 
introduction to Angularjs basics
introduction to Angularjs basicsintroduction to Angularjs basics
introduction to Angularjs basicsRavindra K
 
AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014Ran Wahle
 
Online Job Portal Presentation
Online Job Portal  Presentation Online Job Portal  Presentation
Online Job Portal Presentation Saad Abbasi
 
JavaScript framework overview
JavaScript framework overviewJavaScript framework overview
JavaScript framework overviewJetRuby Agency
 
Full Angular 7 Firebase Authentication System
Full Angular 7 Firebase Authentication SystemFull Angular 7 Firebase Authentication System
Full Angular 7 Firebase Authentication SystemDigamber Singh
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB
 
Learn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdfLearn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdfBe Problem Solver
 
Implementing Your Full Stack App with MongoDB Stitch (Tutorial)
Implementing Your Full Stack App with MongoDB Stitch (Tutorial)Implementing Your Full Stack App with MongoDB Stitch (Tutorial)
Implementing Your Full Stack App with MongoDB Stitch (Tutorial)MongoDB
 
How to build a website that works without internet using angular, service wor...
How to build a website that works without internet using angular, service wor...How to build a website that works without internet using angular, service wor...
How to build a website that works without internet using angular, service wor...Tomiwa Ademidun
 
Webinar: PHP and MySQL - Server-side Scripting Language for Web Development
Webinar: PHP and MySQL - Server-side Scripting Language for Web Development  Webinar: PHP and MySQL - Server-side Scripting Language for Web Development
Webinar: PHP and MySQL - Server-side Scripting Language for Web Development Edureka!
 

Similar to Angularjs-WebApi2-EFCodeFirst Web App (20)

AspMVC4 start101
AspMVC4 start101AspMVC4 start101
AspMVC4 start101
 
mean stack
mean stackmean stack
mean stack
 
Lab StepsSTEP 1 Login Form1. In order to do this lab, we need.docx
Lab StepsSTEP 1 Login Form1. In order to do this lab, we need.docxLab StepsSTEP 1 Login Form1. In order to do this lab, we need.docx
Lab StepsSTEP 1 Login Form1. In order to do this lab, we need.docx
 
Get things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplicationsGet things done with Yii - quickly build webapplications
Get things done with Yii - quickly build webapplications
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - Components
 
Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7Cis 407 i lab 6 of 7
Cis 407 i lab 6 of 7
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry university
 
Symfony2 Introduction Presentation
Symfony2 Introduction PresentationSymfony2 Introduction Presentation
Symfony2 Introduction Presentation
 
introduction to Angularjs basics
introduction to Angularjs basicsintroduction to Angularjs basics
introduction to Angularjs basics
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014
 
Online Job Portal Presentation
Online Job Portal  Presentation Online Job Portal  Presentation
Online Job Portal Presentation
 
JavaScript framework overview
JavaScript framework overviewJavaScript framework overview
JavaScript framework overview
 
Full Angular 7 Firebase Authentication System
Full Angular 7 Firebase Authentication SystemFull Angular 7 Firebase Authentication System
Full Angular 7 Firebase Authentication System
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
Learn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdfLearn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdf
 
Implementing Your Full Stack App with MongoDB Stitch (Tutorial)
Implementing Your Full Stack App with MongoDB Stitch (Tutorial)Implementing Your Full Stack App with MongoDB Stitch (Tutorial)
Implementing Your Full Stack App with MongoDB Stitch (Tutorial)
 
How to build a website that works without internet using angular, service wor...
How to build a website that works without internet using angular, service wor...How to build a website that works without internet using angular, service wor...
How to build a website that works without internet using angular, service wor...
 
Webinar: PHP and MySQL - Server-side Scripting Language for Web Development
Webinar: PHP and MySQL - Server-side Scripting Language for Web Development  Webinar: PHP and MySQL - Server-side Scripting Language for Web Development
Webinar: PHP and MySQL - Server-side Scripting Language for Web Development
 
Angular Js Basics
Angular Js BasicsAngular Js Basics
Angular Js Basics
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

Angularjs-WebApi2-EFCodeFirst Web App

  • 1.
  • 2. Angularjs-WebApi2- EFCodeFirst Web App On 3- Tier Architecture Mohd Manzoor Ahmed [MCT] (10+yrs of Training Cum Web Development Experience)
  • 3. What are we going to implement? Let's see live here http://EIS.ManzoorTheTrainer.com
  • 4. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 5. Employee Information System - User Story In DetailNeed a web app which allows Admin to create a short profile of any employee with the following information i.e., Emp Id and Email and as soon as the profile is created an email should be generated and send to the employee with login credentials of the portal. Employee should be able to login and update hisher full profile (except EmpId and Email). The updated profile should reflect on Admin's dashboard. Admin should also have an option to upload an excel sheet with multiple employees information and multiple emails should be generated to the respective employees with their login credentials. Admin should also have right to full search and update or delete any record.
  • 6. Defining the Roles & Responsibilities ● Admin ○ Can manage single or multiple employee profiles. (CRUD) ● Employee ○ Can viewupdate their own profile
  • 7. Project Setup 1. Download Source Code a. EIS b. Dummy Data 2. Set Connection String 3. Set Gmail UserName And Password 4. Set Build The Project 5. Set StartUp Projects 6. Set API path in EIS.js
  • 9. Identifying the Objects ● Admin ○ Can manage single or multiple employee profiles. (CRUD) ● Employee ○ Can viewupdate their own profile Objects Employee (role, full profile) Role
  • 10. Identifying the Objects and Relationships Object ● Role (A | U) ● Employee Relationships ● Role : Employee (1 : M)
  • 11. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 12. Models - BOL Entity Framework Code First
  • 13. Creating Solution And BOL ● Create Class Library → EIS.BOL ● Add Role.cs ● Add Employee.cs
  • 14. Step -2 : Creating DAL ● Create Class Library → EIS.DAL ● Add Entity Framework 6 ● Add Ref Of BOL ● Add EISDBContext.cs ● Repository Pattern ○ Add RoleDb.cs
  • 15. Step -3 : Test DAL ● Console App → EIS.ConsoleUI ● Add Connection String ● Add Ref Of BOL ● Add Ref Of DAL ● Add Ref Of EntityFramework dlls
  • 16. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 17. Step -4 : Enabling Code-First Migration Enable-Migrations (Install From Nuget Console) in DAL 1. AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = true; 2. Database.SetInitializer(new MigrateDatabaseToLatestVersion<EIS DBContext, EIS.DAL.Migrations.Configuration >());
  • 18. Step -5 : Creating BLL 1. Create Class Library → EIS.BLL 2. Add Ref Of BOL 3. Add Ref Of DAL 4. Add RoleBs.cs 5. Add EmployeeBs.cs 6. Add Utility.cs 7. Test BLL with ConsoleUI
  • 19. Step -6 : Creating Web APIs Project 1. Create Web API → EIS.API 2. Add Connection String 3. Add Ref Of BOL 4. Add Ref Of BLL 5. Add Ref Of EntityFramework dlls 6. Install CORS 7. RoleController
  • 21. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 22. Step -7 : Creating Web AngularJS UI 1. Create Web Project→ EIS.AngularJSUI 2. Add AngularJS.Core 3. Add AngularJS.Route 4. Add AngularJS.Cookies 5. Add AngularJS.Utils.Pagination 6. Add angular-loading-bar 7. Add bootstrap (bootswatch.com)
  • 23. Creating Directory Structure Create Directory Structure & Add files (html & js) ● EIS.html (Main page) ● Eis.js (Main js file) ● Views ○ Common ■ Home (html & js) ■ Login ( html & js ) ■ RecoverPassword ( html & js )
  • 24. Step -9 : Creating Sidebar Menu ● Get The style from http://bootsnipp.com/snippets/featured/ navigation-sidebar-with-toggle ● Customize it as per our need and add it in new style bootstrap.custom.css
  • 25. Step -10 : Creating Route Mapping Views And Controllers ● Convert To AngularJS App ● EIS.html (Main page) ● Eis.js (Main js file) ● Views ○ Common ■ Home (Home.html & home.js) ■ Login ( html & js )
  • 26. Step -11 : Employee Mgmt - Grid ● Get all employees in a grid ● Implement Paging ● Implement Sorting ● Implement Search
  • 27. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 28. Step -12 : Employee - Create ● Create Employee Form ● Implement Insert Operation ● Success message alert
  • 29. Step -13 : Employee Mgmt - Validation ● Client Side Validation ● Serve Side Validation
  • 30. Step -14 : Employee - Delete ● Implementing Delete Employee
  • 31. Step -15 : Employee Update - Panel ● Link Profile List To Details View ● Create Employee Update Tab Panel ● Autofill the employee details in the form
  • 32. Employee Update - Validation ● Implementing Update Operation ● Client Side Validation ● Server Side Validation
  • 33. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 34. Step -17 : Employee Update - Image ● Image Upload To Web API ● Read Image from Web API ● Display profile pic in sidebar
  • 35. Step -18 : Authentication ● Login Functionality ● Logout Functionality ● Display profile pic in sidebar ● API Key Authentication
  • 36. Step -19 : Authorization ● Role based custom authorization
  • 37. Step -20 : Exception Handling ● Client Side - AngularJS ● Server Side - Asp.Net Web APIs ● Implementing global exception handling.
  • 38. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 39. Step -20 : Recover Password ● Implementing Recover Password
  • 40. Step -21 : Reminders ● Send Email On Create Employee ● Implement Reminders
  • 41. Step -22 : Bulk Upload - Employee ● Download Sample File ● Upload Excel ● Read Excel For Multiple Create
  • 42. Step -23 : URL - Rewriting ● $locationProvider.html5Mode(true); ● <base href="/"> ● Remove “#/” from all URL ● <system.webServer> ● <rewrite/> ● Replace Cookies with ngStorage
  • 43. Step -24 : Loading Bar ● Add js ● Add css ● Add dependency
  • 44. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’
  • 45. Step -25 : Reports - Excel ● Converting JSON to excel file ● alasql.min.js ● xlsx.core.min.js ● Write an alasql query ● + https://github.com/agershun/alasql
  • 46. Step -26 : Reports - Charts
  • 47. Enroll Here At 50% OFF - Use Coupon Code as ‘HALF-OFF’