Online Restaurant Website Part 5 Project Setting

 Online Restaurant Website Part 5 Project Setting

Hi, Dear's here we learn how to implement Restaurant Website in Visual Studio using C# ASP.NET MVC. Ilyasoft software company provide full project step by step training on our YouTube Channel ilyasoft software company so now subscribe, share and like for more project base tutorials




In this video we are going to project setting in asp.net mvc form online restaurant for more details click here: watch video

First we are going to create project in visual studio from online restaurant in asp.net mvc, project name "PizzaRestaurantDrink".

So once project created successfully, then we are going to add dblayer class library project in  "PizzaRestaurantDrink" for add project entity database model name "PizzaRestaurantDrinkDbModel" for more detail(how to add entity database model watch video).

Next we are going to add "dblayer" project reference in PizzaRestaurantDrink UI layer. 

Next add UserTypeTable controller by scaffolding process, by auto generated action's and view's. once it done then simply delete generated controller and view's with folder of usertypetable.

Next add empty SettingController in controller folder then add the below code for UserTypeTable to add user type, edit user type.

Note : Once all these done step by step then download template file click here. one file is downloaded then fallow the video and implement the template.

 > UserTypeMV Code : 

using System.ComponentModel.DataAnnotations;

namespace PizzaRestaurantDrink.Models
{
    public class UserTypeMV
    {
        [Display(Name ="#Unique No")]
        public int UserTypeID { get; set; }
        [Display(Name ="User Type")]
        [Required(ErrorMessage="Required*")]
        public string UserType { get; set; }
    }
}

> CRU_UserTypeMV Code : 

using DBLayer;
using System.Collections.Generic;
using System.Linq;

namespace PizzaRestaurantDrink.Models
{
    public class CRU_UserTypeMV
    {
        public CRU_UserTypeMV()
        {
            List_UserTypes = new List<UserTypeMV>();
            foreach (var usertype in new PizzaRestaurentandDrinksDbEntities().UserTypeTables.ToList())
            {
                List_UserTypes.Add(new UserTypeMV()
                {
                    UserTypeID = usertype.UserTypeID,
                    UserType = usertype.UserType
                });
            }
        }

        public CRU_UserTypeMV(int? id)
        {
            List_UserTypes = new List<UserTypeMV>();
            foreach (var usertype in new PizzaRestaurentandDrinksDbEntities().UserTypeTables.ToList())
            {
                List_UserTypes.Add(new UserTypeMV()
                {
                    UserTypeID = usertype.UserTypeID,
                    UserType = usertype.UserType
                });
            }

            var editusertype = new PizzaRestaurentandDrinksDbEntities().UserTypeTables.Where(u => u.UserTypeID == id).FirstOrDefault();
            if (editusertype != null)
            {
                UserTypeID = editusertype.UserTypeID;
                UserType = editusertype.UserType;
            }
            else
            {
                UserTypeID =0;
                UserType = string.Empty;
            }
        }

        public int UserTypeID { get; set; }
        public string UserType { get; set; }
        public List<UserTypeMV> List_UserTypes { get; set; }
    }
}

So Now Create Setting Controller and then add below code.

> UserType Action Code :  
   add below code. 

using DBLayer;
using PizzaRestaurantDrink.Models;
using System.Linq;
using System.Web.Mvc;

namespace PizzaRestaurantDrink.Controllers
{
    public class SettingController : Controller
    {
        PizzaRestaurentandDrinksDbEntities Db = new PizzaRestaurentandDrinksDbEntities();
        public ActionResult List_UserTypes(int? id)
        {
            var usertype = new CRU_UserTypeMV(id);
            return View(usertype);
        }
        [HttpPost]
        public ActionResult List_UserTypes(CRU_UserTypeMV cRU_UserTypeMV)
        {
            if (ModelState.IsValid)
            {
                if (cRU_UserTypeMV.UserTypeID == 0)
                {
                    var checkexist = Db.UserTypeTables.Where(u => u.UserType == cRU_UserTypeMV.UserType).FirstOrDefault();
                    if (checkexist == null)
                    {
                        var usertype = new UserTypeTable();
                        usertype.UserType = cRU_UserTypeMV.UserType;
                        Db.UserTypeTables.Add(usertype);
                        Db.SaveChanges();
                        return RedirectToAction("UserType", new { id = 0 });
                    }
                    else {
                        ModelState.AddModelError("UserType", "All Ready Exist!");
                    }
                }
                else
                {
                    var checkexist = Db.UserTypeTables.Where(u => u.UserType == cRU_UserTypeMV.UserType && u.UserTypeID != cRU_UserTypeMV.UserTypeID).FirstOrDefault();
                    if (checkexist == null)
                    {
                        var usertype = Db.UserTypeTables.Find(cRU_UserTypeMV.UserTypeID);
                        usertype.UserType = cRU_UserTypeMV.UserType;
                        Db.Entry(usertype).State = System.Data.Entity.EntityState.Modified;
                        Db.SaveChanges();
                        return RedirectToAction("UserType", new { id = 0 });
                    }
                    else
                    {
                        ModelState.AddModelError("UserType", "All Ready Exist!");
                    }
                }
            }
            return View(cRU_UserTypeMV);
        }
    }
}

 > UserType View Code : 

@model PizzaRestaurantDrink.Models.CRU_UserTypeMV
@{
    ViewBag.Title = "User Types";
}
<!-- Breadcrumb Start -->
<div class="bread-crumb">
    <div class="container">
        <div class="matter">
            <h2>User Types</h2>
            <ul class="list-inline">
                <li class="list-inline-item"><a href="@Url.Content("~/Home/Index")">HOME</a></li>
                <li class="list-inline-item"><a href="@Url.Content("~/Setting/List_UserTypes")">User Types</a></li>
            </ul>
        </div>
    </div>
</div>
<!-- Breadcrumb End -->
<div class="contactus">
    <div class="container">
        <div class="row">
            <!-- Title Content Start -->
            <div class="col-sm-12 commontop text-center">
                <h4>User Types</h4>
                <div class="divider style-1 center">
                    <span class="hr-simple left"></span>
                    <i class="icofont icofont-ui-press hr-icon"></i>
                    <span class="hr-simple right"></span>
                </div>
            </div>
            <!-- Title Content End -->

            <div class="col-md-5 col-12">
                <!--  user type form Start  -->
                @using (Html.BeginForm("List_UserTypes", "Setting", FormMethod.Post, new { @enctype = "multipart/form-data", @class = "form-horizontal" }))
                {
                    @Html.AntiForgeryToken()
                    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                    @Html.HiddenFor(model => model.UserTypeID)
                    <div class="form-group row">
                        <div class="col-md-12 col-sm-12 col-12">
                            <i class="icofont icofont-ui-user"></i>
                            @Html.EditorFor(model => model.UserType, new { htmlAttributes = new { @class = "form-control", @placeholder = "Enter User Type" } })
                            @Html.ValidationMessageFor(model => model.UserType, "", new { @class = "text-danger" })
                        </div>
                    </div>
                    <div class="buttons">
                        @if (Model.UserTypeID == 0)
                        {
                            <input class="btn btn-theme btn-md btn-wide" style="float:right;" type="submit" value="Create" />
                        }
                        else
                        {
                            <input class="btn btn-theme btn-md btn-wide" style="float:right;" type="submit" value="Update" />
                        }
                    </div>
                }
                <!--  user type form End  -->
            </div>
            <div class="col-md-7 col-12">
                <!--  List Start  -->
                <div class="table-responsive-md">
                    <table class="table table-bordered">
                        <thead>
                            <tr>
                                <td class="text-center">
                                    @Html.DisplayNameFor(model => model.UserType)
                                </td>
                                <th>Action</th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach (var item in Model.List_UserTypes)
                            {
                                <tr>
                                    <td>
                                        @Html.DisplayFor(modelItem => item.UserType)
                                    </td>
                                    <td>
                                        @Html.ActionLink("Edit", "UserType", new { id = item.UserTypeID }, new { @class = "btn btn-theme btn-md btn-wide" })
                                    </td>
                                </tr>
                            }
                        </tbody>
                    </table>
                </div>
                <!--  List End  -->
            </div>
        </div>
    </div>
</div>