Net Practical
Net Practical
FAISAL KHAN
21102012
2.) Right click on the database --> New database --> Name database as
EmployeeDB --> Click on OK --> From drop down list of database Right
click on table -->New table.
5.) Right click on dbo_cities from left side and click on add 200 rows
o And add cities name:
Pune
Surat
Rajkot
Mumbai
Vadodara
4.) Select Empty right side click on “MVC” And then create.
5.) Right click on models click on add new items Left side select data
Select ado.net empty data model Change the name below and write
“EmployeeDbModel” instead of “Model1” Click on Add Click on next
Click on new connection select Microsoft SQL Server Click OK
in Server name copy the server name from ssms connection in select or
enter database select EmployeeDBEntites Click OK Click on next
Click on next Select whole table of “table” as shown below Click on
finish Click ok on security msg.
7.) Now again right click controller click on add controller “MVC5
Cotroller-Empty” In place of DefaultConteoller write
“EmployeeController” Add.
8.) Click right on main project name click on manage NuGet Packages
Click ob browser write microsoft.jquery Download as shown below
and it will take few minutes to download.
9.) In views folder right click on Employee folder click on Add Click
on view click on MVC5 view add and give view name “index”
instead of “view” Click on Add.
10.) In views folder right click on Home folder click on Add Click on
view click on MVC5 view add and give view name “index” instead
of “view” Click on Add.
<script src="~/Scripts/jquery-1.8.0.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-
target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new
{ @class = "navbar-brand" })
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
</body>
</html>
12.) Now in HomeController.cs code the below code which is in orange color:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace WebAppCRUDOperation.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
13.) Now in scripts folder add 2 js file from students folder. In students folder
jquery scripts 2 bootstraps file hain woh copy paste karni hai scripts
folder mein.
14.) Now in content folder add 8 js file from students folder. In students folder
8 bootstraps file hain woh copy paste karni hai content folder mein.
15.) Now right click on main project name Click on Add give name as
“Viewmodel” then enter right click on Viewmodel folder add click
on class click on class as shown below and give name as
“EmployeeViewModel.cs” instead of “class.cs”.
16.) Now in EmployeeController.cs copy the whole code given below:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Web;
using System.Web.Mvc;
using System.Web.Services.Description;
using WebAppCRUDOperation.Models;
using WebAppCRUDOperation.Viewmodel;
namespace WebAppCRUDOperation.Controllers
{
public class EmployeeController : Controller
{
private EmployeeDBEntities objEmployeeDbEntities;
public EmployeeController()
{
objEmployeeDbEntities = new EmployeeDBEntities();
}
// GET: Employee
public ActionResult Index()
{
ViewBag.Cities = (from obj in objEmployeeDbEntities.Cities
select new SelectListItem()
{
Text = obj.Name,
Value = obj.CityId.ToString()
}).ToList();
return View();
}
public JsonResult GetAllEmployee()
{
).ToList();
return Json(data: new { Success = true, data = employeeRecord },
JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult AddUpdateEmployee(EmployeeViewModel
objEmployeeViewModel)
{
string Message = "Data successfully Update";
if (!ModelState.IsValid)
{
var errorList = (from item in ModelState
where item.Value.Errors.Any()
select item.Value.Errors[0].ErrorMessage).ToList();
objEmployee.FirstName = objEmployeeViewModel.FirstName;
objEmployee.LastName = objEmployeeViewModel.LastName;
objEmployee.Department = objEmployeeViewModel.Department;
objEmployee.JobType = objEmployeeViewModel.JobType;
objEmployee.Salary = objEmployeeViewModel.Salary;
objEmployee.CityId = objEmployeeViewModel.CityId;
if (objEmployeeViewModel.EmployeeId == 0)
{
Message = "Data successfully Added";
objEmployeeDbEntities.Employees.Add(objEmployee);
}
objEmployeeDbEntities.SaveChanges();
return Json(data: new { Success = true, Message = Message },
JsonRequestBehavior.AllowGet);
}
public JsonResult EditEmployee(int employeeId)
{
return Json(data: objEmployeeDbEntities.Employees.SingleOrDefault(model =>
model.EmployeeId == employeeId),
JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult DeleteEmployee(int employeeId)
{
Employee objEmployee =
objEmployeeDbEntities.Employees.Single(model => model.EmployeeId ==
employeeId);
objEmployeeDbEntities.Employees.Remove(objEmployee);
objEmployeeDbEntities.SaveChanges();
return Json(data: new { Success = true, Message = "Data sucessfully deleted" },
JsonRequestBehavior.AllowGet);
}
}
}
namespace WebAppCRUDOperation.Viewmodel
{
public class EmployeeViewModel
{
public int EmployeeId { get; set; }
}
}
18.) Now in View folder Employee folder index.cshtml file copy the
whole code given below:
@{
ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-2.0.0.min.js">
</script>
<script type="text/javascript">
$(document).ready(function () {
LoadEmployee();
});
function EditEmployee(employeeId) {
$.ajax({
async: true,
type: 'GET',
url: '/Employee/EditEmployee',
data: { employeeId: employeeId },
dataType: 'JSON',
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#txtFirstName").val(data.FirstName);
$("#txtLastName").val(data.LastName);
$("#txtDepartment").val(data.Department);
$("#txtJobType").val(data.JobType);
$("#txtSalary").val(data.Salary);
$("#Cities").val(data.CityId);
$("#txtEmployeeId").val(employeeId);
$("btnSaveUpdate").val('Update Employee');
},
error: function (data) {
alert('There is some problem with edit operation ');
}
});
}
function DeleteEmployee(employeeId) {
var employeeId = { employeeId: employeeId };
confirm('Are you sure you want to delete the employee');
$.ajax({
async: true,
type: 'POST',
url: '/Employee/DeleteEmployee',
data: JSON.stringify(employeeId),
contentType: 'application/json; charset=utf-8',
success: function (data) {
if (data.Success) {
alert(data.Message);
LoadEmployee();
} else {
alert(data.Message);
}
},
error: function () {
alert('Are you sure you want to delete the employee');
}
})
}
function ResetEmployee() {
$("#txtDepartment").val("");
$("txtEmployeeId").val("0");
$("txtFirstName").val("");
$("txtJobType").val("");
$("txtLastName").val("");
$("txtSalary").val("");
$('#ErrorMessage').empty();
$("#btnSaveUpdate").val("Add Employee");
$("#Cities").val("1");
}
function AddEmployee() {
var EmployeeViewModel = {
EmployeeId: $("#txtEmployeeId").val(),
FirstName: $("#txtFirstName").val(),
LastName: $("#txtLastName").val(),
Department: $("#txtDepartment").val(),
JobType: $("#txtJobType").val(),
Salary: $("#txtSalary").val(),
CityId: $("#Cities").val(),
}
var errorMessage = "";
$.ajax({
async: true,
type: 'POST',
url: '/Employee/AddUpdateEmployee',
data: JSON.stringify(EmployeeViewModel),
dataType: 'JSON',
contentType: 'application/json;charset=uft=8',
success: function (data) {
if (data.Success) {
alert(data.Message);
LoadEmployee();
ResetEmployee();
} else {
$.each(data.ErrorList, function (index, value) {
errorMessage += value + '<br/>';
});
$('#ErrorMessage').empty();
$('#ErrorMessage').append(errorMessage);
}
},
error: function () {
alert('There is some problem to add update employee.');
}
})
}
function LoadEmployee() {
var BindEmployee = "";
$.ajax({
async: true,
type: 'GET',
url: '/Employee/GetAllEmployee',
datatype: 'JSON',
contentType: 'application/json;charset=uf-8',
success: function (resposnse) {
if (resposnse.Success) {
$.each(resposnse.data,
function (index, value) {
BindEmployee += '<tr><td>' +
value.FirstName +
'</td><td>' +
value.LastName +
'</td><td>' +
value.Department +
'</td><td>' +
value.JobType +
'</td><td>' +
value.Salary +
'</td><td>' +
value.Name +
'</td><td>' +
'<input type="button" value="Edit" name="Edit"
onclick="EditEmployee(' + value.EmployeeId + ')"> || <input type="button" value="Delete"
name="Delete" onclick="DeleteEmployee(' + value.EmployeeId + ')">' +
'</td></tr>';
});
$("#tableEmployee").find('tr:gt(0)').remove();
$("#tableEmployee").append(BindEmployee);
}
},
error: function () {
alert('There is problem to load employee')
}
});
}
</script>
<br />
<br />
</table>
<br />
<br />
</div>
<br />
<table>
<tr>
<td>
First Name :
</td>
<td>
<input type="text" name="FirstName" id="txtFirstName" />
</td>
</tr>
<tr>
<td>
Last Name :
</td>
<td>
<input type="text" name="LastName" id="txtLastName" />
</td>
</tr>
<tr>
<td>
Department :
</td>
<td>
<input type="text" name="Department" id="txtDepartment" />
</td>
</tr>
<tr>
<td>
Job Type :
</td>
<td>
<input type="text" name="JobType" id="txtJobType" />
</td>
</tr>
<tr>
<td>
Salary :
</td>
<td>
<input type="text" name="Salary" id="txtSalary" />
</td>
</tr>
<tr>
<td>City :</td>
<td>@Html.DropDownList("Cities", (IEnumerable<SelectListItem>)ViewBag.Cities,
"All Cities", new { @class = "form-control search-slt" })</td>
</tr>
<tr>
<td>
</td>
<td>
<table>
<tr>
<td>
<input id="btnSaveUpdate" type="button" value="Add Employee"
onclick="AddEmployee()" />
</td>
<td>
<input type="button" value="Reset Employee" onclick="ResetEmployee()" />
</td>
</tr>
</table>
</td>
</tr>
</table>
19.) Now run the index,cshtml file which is in : View folder Employee
foler index.cshtml file.
20.) After run the file just try to add, edit and delete it.
END OF PROJECT