Saturday, 19 October 2013

MVC demo

This example for add and search record using entity framework in MVC3 using JSON.

Entity frame work database design is given below:


http://www.asp.net/mvc/tutorials/older-versions/models-%28data%29/creating-model-classes-with-the-entity-framework-cs

HomeController Page
namespace MvcAppVehicleSystem.Controllers

{
    public class HomeController : Controller
    {
        VehicleSysHireEntities2 _db;
        public HomeController()
        {
            _db = new VehicleSysHireEntities2();
        }

        public ActionResult Index()
        {
            var query = _db.VehicleRentTypes.ToList();

            var query2 = _db.VehicleCategories.ToList();

            var model = new Models.SelectViewModel
            {
                CategoryList = query2,
                RentTypeList = query
            };
            return View(model);
        }

        [HttpPost]
        public ActionResult Index(VehicleMasterModel role)
        {
            VehicleMaster currentVehicle = new VehicleMaster();
            currentVehicle.Brand = role.Brand;
            currentVehicle.Category = role.Category;
            currentVehicle.Model = role.Model;
            currentVehicle.Color = role.Color;
            currentVehicle.NoOfYear = role.NoOfYear;
            currentVehicle.RentType = role.RentType;
            _db.AddToVehicleMasters(currentVehicle);
            _db.SaveChanges();

            if (currentVehicle.ID > 0)
            {
                VehicleFacility currentfacility = new VehicleFacility();
                currentfacility.VehicleMasterID = currentVehicle.ID;
                currentfacility.HasABS = role.HasABS;
                currentfacility.HasAirCon = role.HasAirCon;
                currentfacility.HasCTX = role.HasCTX;
                _db.AddToVehicleFacilities(currentfacility);
                _db.SaveChanges();
            }
            return Json(true);
        }

        public ActionResult About()
        {
            var query = _db.VehicleRentTypes.ToList();
            var query2 = _db.VehicleCategories.ToList();
            var model = new Models.SelectViewModel
            {
                CategoryList = query2,
                RentTypeList = query
            };
            return View(model);
        }

        [HttpPost]
        public ActionResult About(VehicleMaster role)
        {
            List objList = (from m in _db.VehicleMasters select m).ToList();
            return Json(objList);
        }

        [HttpPost]
        public ActionResult AboutResult(VehicleMasterModel role)
        {
            var objList = (from m in _db.VehicleMasters
                           where m.RentType == role.RentType
                           select new VehicleMasterModel()
                           {
                               Brand = m.Brand,
                               Model = m.Model
                           }).ToList();
            return Json(objList, JsonRequestBehavior.AllowGet);
        }
    }
}

Model-> SelectViewModel
 public class SelectViewModel

    {

        public List CategoryList { get; set; }

        public List RentTypeList { get; set; }

        public VehicleFacility currentvehiclefacility { get; set; }

        public VehicleMaster currentvehiclemaster { get; set; }

    }

Model-> VehicleCategoryModel
public class VehicleCategoryModel

    {

        public int ID { get; set; }

        public string Category { get; set; }

        public List VehicleCategoryList { get; set; }

    }

Model-> VehicleFacilityModel
  public class VehicleFacilityModel

    {

        public List VehicleMasterList { get; set; }

        public int ID { get; set; }

        public bool HasAirCon { get; set; }

        public bool HasABS { get; set; }

        public bool HasCTX { get; set; }

        public int VehicleMasterID { get; set; }

    }
 
Model-> VehicleMasterModel
 public class VehicleMasterModel

    {

        public int ID { get; set; }

        public int Category { get; set; }

        public string Brand { get; set; }

        public string Model { get; set; }

        public string Color { get; set; }

        public int NoOfYear { get; set; }

        public int RentType { get; set; }

        public bool HasAirCon { get; set; }

        public bool HasABS { get; set; }

        public bool HasCTX { get; set; }

        public int VehicleMasterID { get; set; }

    }

Model-> VehicleRentTypeModel
 public class VehicleRentTypeModel

    {

        public int ID { get; set; }

        public string RentType { get; set; }

        public List  VehicleRetTypeList { get; set; }

    }

Home->Index
@{
    ViewBag.Title = "Home Page";
}

@ViewBag.Message

@model MvcAppVehicleSystem.Models.SelectViewModel
Type @Html.DropDownList("ddlType", new SelectList(Model.RentTypeList, "ID", "RentType"), "Select Type", new { required = "required" }) Category @Html.DropDownList("ddlCategory", new SelectList(Model.CategoryList, "ID", "Category"), "Select Category", new { required = "required" })
Model @Html.DropDownList("ddlModel", new[] { new SelectListItem() {Text = "Audi",Value = "Audi"}, new SelectListItem() {Text = "Maruti",Value = "Maruti" }, new SelectListItem() {Text = "Suzuki",Value = "Suzuki" } }, "Choose model", new { required = "required" }) No of year @Html.DropDownList("ddlNoofYear", new[] { new SelectListItem() {Text = "2010",Value = "2010"}, new SelectListItem() {Text = "2011",Value = "2 011" }, new SelectListItem() {Text = "2012",Value = "2012" }, new SelectListItem() {Text = "2013",Value = "2013" } }, "Choose year", new { required = "required" })
Brand Has AirCon Has ABS Has CTX
Colour

Home->About
@{
    ViewBag.Title = "Search";
}
@model MvcAppVehicleSystem.Models.SelectViewModel

Search

Type @Html.DropDownList("ddlType", new SelectList(Model.RentTypeList, "ID", "RentType"), "Select Type")
No of year @Html.DropDownList("ddlNoofYear", new[] { new SelectListItem() {Text = "2010",Value = "2010"}, new SelectListItem() {Text = "2011",Value = "2011" }, new SelectListItem() {Text = "2012",Value = "2012" }, new SelectListItem() {Text = "2013",Value = "2013" } }, "Choose year")




No comments:

Post a Comment