ĐÀO TẠO DOANH NGHIỆP : SỞ KHOA HỌC CÔNG NGHỆ TỈNH ĐỒNG NAI

ENTERPRISE TRAINING: DONG NAI DEPARTMENT OF SCIENCE AND TECHNOLOGY.

HÌNH ẢNH TẬP HUẤN LỚP SHAREPOINT WORKFLOW VÀ KIẾN TRÚC SHAREPOINT

PHOTOS OF SHAREPOINT WORKFLOW AND ARCHITECTURE CLASS.

HÌNH ẢNH TẬP HUẤN LỚP SHAREPOINT WORKFLOW VÀ KIẾN TRÚC SHAREPOINT

PHOTOS OF SHAREPOINT WORKFLOW AND ARCHITECTURE CLASS.

Showing posts with label MVC 5. Show all posts
Showing posts with label MVC 5. Show all posts

Thursday, August 20, 2015

MVC 5 Insert Update Delete CRUD Functionality using EF

MVC 5 Insert Update Delete CRUD Functionality using EF

Download project at here: http://www.mediafire.com/download/2s4mwu2vcunlx9d/MVC5.7z
1. Continue with previous article at link: http://www.microsofttechnology.net/2015/08/insert-update-and-delete-data-in-mvc5.html. 
Create new class in Models folder call is EmployeesModel at image below

2. Writing code like below

3. Create new controller (Empty)

4. Name is EmployeesController

5. The result as below

6. Create View (empty model)

7. Writing code to inherit from model (EmployeesModel)

8. Insert more code as below using WebGrid

9. Writing new code to display all of employees from database using entity framework

10. Run index view and see the result here

11. Continue create View Create

12. Insert  code "@model MVC5.Models.EmployeesModel" in top as below

13. Insert code like this to insert. we use control is TextBoxFor

14. Go to EmployeesController insert this code to insert data

15. Run view Create and input data then click Save button

16. Continue create View Edit

17. Insert  code "@model MVC5.Models.EmployeesModel" in top as below

18. Insert code like this to insert. we use control is TextBoxFor.
      Note: Hidden field with ID is Id use to pass to controller and get ID for update

19. Go to EmployeesController insert this code to update data.
      Note: you will get error when display form edit because you get the query string with name is employeeID from view Index can not find, so you back to view Index at step 8 and change it to
grid.Column("", null, format: @<text>@{<a href="/Employees/Edit/?employeeID=@item.Id">Edit</a>}</text>),

similar to delete
grid.Column("", null, format: @<text>@{<a href="/Employees/Delete/?employeeID=@item.Id">Delete</a>}</text>)


20. Run Index View then click edit link

21.Updating some value then click update button

22. Continue create View Create

23. Insert  code "@model MVC5.Models.EmployeesModel" in top as below

24. Insert code like this to insert. we use control is TextBoxFor
      Note: Hidden field with ID is EmployeeIdToDelete use to pass to controller and get ID for delete

25.Go to EmployeesController insert this code to insert data


26. Run Index View then click delete link
It will be deleted

Done!!!All Code:
EmployeesModel.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVC5.Models
{
    public class EmployeesModel
    {
        public List<EmployeesList> EmployeeListCollection { get; set; }
        public EmployeesList EmployeeListDetail { get; set; }
    }
    public class EmployeesList
    {
        public int ID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string City { get; set; }
        public string EmailID { get; set; }
    }
}
Index.cshtml
 @model MVC5.Models.EmployeesModel
@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<style>
    table, td, th {
        border: 1px solid green;
        border-collapse: collapse;
        width: 50%;
    }

    th {
        border: 1px solid black;
        background-color: green;
        color: white;
    }
</style>
@using (@Html.BeginForm("Index", "Employees"))
{
    var grid = new WebGrid(Model.EmployeeListCollection);

    <div>
        @grid.GetHtml(columns:
            grid.Columns
            (
                 grid.Column("FirstName", "FirstName"),
                 grid.Column("LastName", "LastName"),
                 grid.Column("City", "City"),
                 grid.Column("EmailID", "EmailID"),
                 grid.Column("", null, format: @<text>@{<a href="/Employees/Edit/?employeeID=@item.Id">Edit</a>}</text>),
                 grid.Column("", null, format: @<text>@{<a href="/Employees/Delete/?employeeID=@item.Id">Delete</a>}</text>)
                 ), mode: WebGridPagerModes.Numeric)
    </div>
    <div>
        <a href="/Employees/Create/">Add New Record</a>
    </div>
}

Create.cshtml
 @model MVC5.Models.EmployeesModel
@{
    ViewBag.Title = "Create";
}
<style>
    .container {
        width: 100%;
        text-align: center;
    }

    .left {
        float: left;
        width: 150px;
    }
</style>

@using (Html.BeginForm("Create", "Employees", FormMethod.Post))
{
    <div>
        <table width="20%" cellpadding="5" cellspacing="5" border="1" style="border: 1 solid black;
            border-collapse: collapse; margin-top:20px;">
            <tr>
                <td align="right">
                    FirstName:
                </td>
                <td align="left">
                    @Html.TextBoxFor(m => m.EmployeeListDetail.FirstName)
            </td>
        </tr>
        <tr>
            <td align="right">
                LastName:
            </td>
            <td align="left">
                @Html.TextBoxFor(m => m.EmployeeListDetail.LastName)
        </td>
    </tr>
    <tr>
        <td align="right">
            City:
        </td>
        <td align="left">
            @Html.TextBoxFor(m => m.EmployeeListDetail.City)
    </td>
</tr>
<tr>
    <td align="right">
        EmailID:
    </td>
    <td align="left">
        @Html.TextBoxFor(m => m.EmployeeListDetail.EmailID)
</td>
</tr>
<tr>
    <td colspan="2" align="center">
        <input type="submit" value="Save" />&nbsp;&nbsp;
        <a href="/Home/index/">Back</a>

        <div style="color: Red">@ViewBag.Message</div>
    </td>
</tr>
</table>
</div>
}

Edit.cshtml
 @model MVC5.Models.EmployeesModel
@{
    ViewBag.Title = "Edit";
}

<h2>Edit</h2>

@using (Html.BeginForm("Edit", "Employees", FormMethod.Post))
{
    <div>
        <table width="20%" cellpadding="5" cellspacing="5" border="1" style="border: 1 solid black; border-collapse: collapse; margin-top: 20px;">
            <tr>
                <td align="right">
                    FirstName:
                </td>
                <td align="left">
                    @Html.TextBoxFor(m => m.EmployeeListDetail.FirstName)
                @Html.Hidden("Id", Model.EmployeeListDetail.ID)
            </td>
        </tr>
        <tr>
            <td align="right">
                LastName:
            </td>
            <td align="left">
                @Html.TextBoxFor(m => m.EmployeeListDetail.LastName)
        </td>
    </tr>
    <tr>
        <td align="right">
            City:
        </td>
        <td align="left">
            @Html.TextBoxFor(m => m.EmployeeListDetail.City)
    </td>
</tr>
<tr>
    <td align="right">
        EmailID:
    </td>
    <td align="left">
        @Html.TextBoxFor(m => m.EmployeeListDetail.EmailID)
</td>
</tr>
<tr>
    <td colspan="2" align="center">
        <input type="submit" value="Update" />
        <div style="color: Red">@ViewBag.Message</div>
    </td>
</tr>
</table>
</div>
}
Delete.cshtml
@model MVC5.Models.EmployeesModel
@{
    ViewBag.Title = "Delete";
}

<h2>Delete</h2>

@using (Html.BeginForm("Delete", "Employees", FormMethod.Post))
{
    <div>
        <table width="20%" cellpadding="5" cellspacing="5" border="1" style="border: 1 solid black;
          border-collapse: collapse;; margin-top: 20px;">
            <tr>
                <td align="right">
                    FirstName:
                </td>
                <td align="left">
                    @Html.DisplayFor(m => m.EmployeeListDetail.FirstName)
                @Html.Hidden("EmployeeIdToDelete", Model.EmployeeListDetail.ID)
            </td>
        </tr>
        <tr>
            <td align="right">
                LastName:
            </td>
            <td align="left">
                @Html.DisplayFor(m => m.EmployeeListDetail.LastName)
        </td>
    </tr>
    <tr>
        <td align="right">
            City:
        </td>
        <td align="left">
            @Html.DisplayFor(m => m.EmployeeListDetail.City)
    </td>
</tr>
<tr>
    <td align="right">
        EmailID:
    </td>
    <td align="left">
        @Html.DisplayFor(m => m.EmployeeListDetail.EmailID)
</td>
</tr>
<tr>
    <td colspan="2" align="center">
        <input type="submit" value="Delete" />
        <div style="color: Red">@ViewBag.Message</div>
    </td>
</tr>
</table>
</div>
}
EmployeesController.cs
using MVC5.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVC5.Controllers
{
    public class EmployeesController : Controller
    {
        //
        // GET: /Employees/
        /// For getting detail list of student
        ///
        public ActionResult Index()
        {
            EmployeesModel employeesModel = new EmployeesModel();
            employeesModel.EmployeeListCollection = new List<EmployeesList>();
            employeesModel.EmployeeListCollection = GetEmployeesList();
            return View(employeesModel);
        }
        ///


        /// Get student record
        ///
        public List<EmployeesList> GetEmployeesList()
        {
            List<EmployeesList> objEmployee = new List<EmployeesList>();
            /*Create instance of entity model*/
            DEMODBEntities demoDBEntities = new DEMODBEntities();
            /*Getting data from database for user validation*/
            var _objuserdetail = (from data in demoDBEntities.Samples
                                  select data);
            foreach (var item in _objuserdetail)
            {
                objEmployee.Add(new EmployeesList { ID = item.ID, FirstName = item.FirstName,
                    LastName = item.LastName, City = item.City, EmailID = item.EmailID });
            }
            return objEmployee;
        }
        public ActionResult Create()
        {
            EmployeesModel employeesModel = new EmployeesModel();
            return View(employeesModel);
        }
        [HttpPost]
        public ActionResult Create(EmployeesModel employeesModel)
        {
            try
            {
                /*HERE WILL BE YOUR CODE TO SAVE THE FILE DETAIL IN DATA BASE*/
                Sample employeeSample = new Sample();
                employeeSample.ID = 1;
                employeeSample.FirstName = employeesModel.EmployeeListDetail.FirstName;
                employeeSample.LastName = employeesModel.EmployeeListDetail.LastName;
                employeeSample.City = employeesModel.EmployeeListDetail.City;
                employeeSample.EmailID = employeesModel.EmployeeListDetail.EmailID;

                DEMODBEntities demoDBEntities = new DEMODBEntities();

                demoDBEntities.Samples.Add(employeeSample);
                demoDBEntities.SaveChanges();
                ViewBag.Message = "Data saved successfully.";
            }
            catch
            {
                ViewBag.Message = "Error while saving data.";
            }
            return View(employeesModel);
        }

        /// This method display record for edit
        ///
        public ActionResult Edit()
        {
            int employeeID =Convert.ToInt32(Request.QueryString["employeeID"]);
            DEMODBEntities objentity = new DEMODBEntities();
            Sample objEmployeedetail = new Sample();
            objEmployeedetail = (from data in objentity.Samples
                                where data.ID == employeeID
                                select data).FirstOrDefault();
            EmployeesList _objEmployeelist = new EmployeesList();
            _objEmployeelist.ID = employeeID;
            _objEmployeelist.FirstName = objEmployeedetail.FirstName;
            _objEmployeelist.LastName = objEmployeedetail.LastName;
            _objEmployeelist.City = objEmployeedetail.City;
            _objEmployeelist.EmailID = objEmployeedetail.EmailID;
            EmployeesModel objEmployeeListModel = new EmployeesModel();
            objEmployeeListModel.EmployeeListDetail = _objEmployeelist;
            return View(objEmployeeListModel);
        }
        ///


        /// This method edit function
        ///
        [HttpPost]
        public ActionResult Edit(EmployeesModel employeesModel, int Id = 0)
        {
            DEMODBEntities objentity = new DEMODBEntities();
            Sample objdstudent = objentity.Samples.First(m => m.ID == Id);
            objdstudent.FirstName = employeesModel.EmployeeListDetail.FirstName;
            objdstudent.LastName = employeesModel.EmployeeListDetail.LastName;
            objdstudent.City = employeesModel.EmployeeListDetail.City;
            objdstudent.EmailID = employeesModel.EmployeeListDetail.EmailID;
            /*Save data to database*/
            objentity.SaveChanges();
            ViewBag.Message = "Data updated successfully.";
            return View(employeesModel);
        }

        public ActionResult Delete()
        {
            int employeeID = Convert.ToInt32(Request.QueryString["employeeID"]);
            DEMODBEntities objentity = new DEMODBEntities();
            Sample objEmployeedetail = new Sample();
            objEmployeedetail = (from data in objentity.Samples
                                 where data.ID == employeeID
                                 select data).FirstOrDefault();
            EmployeesList _objEmployeelist = new EmployeesList();
            _objEmployeelist.ID = employeeID;
            _objEmployeelist.FirstName = objEmployeedetail.FirstName;
            _objEmployeelist.LastName = objEmployeedetail.LastName;
            _objEmployeelist.City = objEmployeedetail.City;
            _objEmployeelist.EmailID = objEmployeedetail.EmailID;
            EmployeesModel objEmployeeListModel = new EmployeesModel();
            objEmployeeListModel.EmployeeListDetail = _objEmployeelist;
            return View(objEmployeeListModel);
        }
        ///

        /// This method delete function
        ///
        [HttpPost]
        public ActionResult Delete(int EmployeeIdToDelete = 0)
        {
            DEMODBEntities objentity = new DEMODBEntities();
            Sample objEmployeeDetail = new Sample();
            objEmployeeDetail.ID = EmployeeIdToDelete;
            objentity.Samples.Attach(objEmployeeDetail);
            objentity.Samples.Remove(objEmployeeDetail);
            /*Save data to database*/
            objentity.SaveChanges();
            return RedirectToAction("/Index/");
        }      
    }
}


Tuesday, August 18, 2015

Insert, Update and Delete Data in MVC5 Using Entity Framework

Insert, Update and Delete Data in MVC5 Using Entity Framework


Create new database and table like below


Continue with article: http://www.microsofttechnology.net/2015/08/how-to-create-mvc-5.html, open that project - right click to models folder >> Add new item >> from left panel choose Data >> Ado.NET Entity Data Model


Click new connection ... button >> choose data source is Microsoft SQL Server >> Continue


Server name: input . or (local) >> select existing database


Choose Entity Framework 5.0 >> Next


Choose your table


After create Model then create Controller >> Right click to controller folder >> Add >> Controller >> choose MVC 5 ... like image below


Choose model class and Data context. 


Here is default view


Try to run project F5, here is list of item


Here is Create View


Here is Edit view


Here is detail view


Done.
This is way we implement action base on default. we can implement it by custom. i will create it at the next time.

Monday, August 17, 2015

How to create MVC 5

Dear my friends,

Today i write the new technology not sharepoint, it is MVC. In the future i will integrate MVC and Sharepoint App. In the same way, very basic to show all of you is how to create MVC project:

Install visual studio 2013 => open it and create new project => choose Web Template => ASP.NET Web Application
Choose MVC and change Authentication to no Authentication

Default MVC project like at below

Click F5 to run project:
Done.
I will explain the structure at next article.