eCommerce Website Part 8 User Status

   eCommerce Website  Part 8 User Status

Hi, Dear's here we learn how to implement eCommerce 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 implement UserStatusTable form for more details click here: watch vedio

First Download Materials Download Materials.

Create BasicConfigurationController and create one by one below action's:

User Status Table: 

 > User Status List

      Action  Code :  

           public ActionResult UserStatus_List()
        {
            var list = new List<UserStatusMV>();
            foreach (var userstatus in DB.UserStatusTables.ToList())
            {
                list.Add(new UserStatusMV()
                {
                    UserStatus = userstatus.UserStatus,
                    UserStatusID = userstatus.UserStatusID
                });
            }
            return View(list);
        }

        Views Code :  

@model IEnumerable<eCommerceUI.Models.UserStatusMV>
@{
    ViewBag.Title = "List";
}
<div class="container">
    <div class="page-width">

        <h3 class="docs-title">User Statuses List</h3>
        <p>
            @Html.ActionLink("New User Status", "NewUserStatus", null, new { @class = "btn btn--secondary" })
        </p>

        <div class="table-wrap">
            <table class="responsive-table">
                <thead>
                    <tr>
                        <th>@Html.DisplayNameFor(model => model.UserStatusID)</th>
                        <th>@Html.DisplayNameFor(model => model.UserStatus)</th>
                        <th>Action</th>
                    </tr>
                </thead>
                <tbody>
                    @foreach (var item in Model)
                    {
                        <tr class="responsive-table-row">
                            <td>#@Html.DisplayFor(modelItem => item.UserStatusID)</td>
                            <td>@Html.DisplayFor(modelItem => item.UserStatus)</td>
                            <td>
                                @Html.ActionLink("Edit", "EditUserStatus", new { id = item.UserStatusID }, new { @class = "btn" })
                            </td>
                        </tr>
                    }
                <tbody>
            </table>
        </div>
    </div>
</div>


> New User Status :

        Action Code :  

        public ActionResult NewUserStatus()
        {
            return View(new UserStatusMV());
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult NewUserStatus(UserStatusMV userStatusMV)
        {
            if (ModelState.IsValid)
            {
                var check_exist = DB.UserStatusTables.Where(a => a.UserStatus == userStatusMV.UserStatus.Trim()).FirstOrDefault();
                if (check_exist == null)
                {
                    var userstatus = new UserStatusTable();
                    userstatus.UserStatus = userStatusMV.UserStatus;
                    DB.UserStatusTables.Add(userstatus);
                    DB.SaveChanges();
                    return RedirectToAction("UserStatuses_List");
                }
                else
                {
                    ModelState.AddModelError("UserStatus", "User Status Already Registered.");
                }
            }
            ModelState.AddModelError("UserStatus", "User Status is Required");
            return View(userStatusMV);
        }

 View  Code :  

@model eCommerceUI.Models.UserStatusMV
@{
    ViewBag.Title = "Add";
}
<div class="container">
    <div class="page-width">
        @using (Html.BeginForm("NewUserStatus", "BasicConfiguration"))
        {
            @Html.AntiForgeryToken()

            <h3 class="docs-title">New User Status</h3>
            <hr />
            <div class="form-horizontal">

                @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                <div class="form-group">
                    @Html.LabelFor(model => model.UserStatus, htmlAttributes: new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.UserStatus, new { htmlAttributes = new { @class = "form-control", placeholder = "Enter User Status" } })
                        @Html.ValidationMessageFor(model => model.UserStatus, "", new { @class = "text-danger" })
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-offset-2 col-md-10">
                        <input type="submit" value="Create" class="btn btn--secondary" />
                        @Html.ActionLink("Back to List", "UserStatus_List", null, new { @class = "btn" })
                    </div>
                </div>
            </div>
        }
    </div>
</div>

> Edit User Status:

       Action Code :  

            public ActionResult EditUserStatus(int? id)
        {
            var userstatus = DB.UserStatusTables.Find(id);
            var edituserstatus = new UserStatusMV();
            edituserstatus.UserStatusID = userstatus.UserStatusID;
            edituserstatus.UserStatus = userstatus.UserStatus;
            return View(edituserstatus);
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult EditUserStatus(UserStatusMV userStatusMV)
        {
            if (ModelState.IsValid)
            {
                var check_exist = DB.UserStatusTables.Where(a => a.UserStatus == userStatusMV.UserStatus.Trim() && a.UserStatusID != userStatusMV.UserStatusID).FirstOrDefault();
                if (check_exist == null)
                {
                    var userstatus = DB.UserStatusTables.Find(userStatusMV.UserStatusID);
                    userstatus.UserStatus = userStatusMV.UserStatus;
                    DB.Entry(userstatus).State = System.Data.Entity.EntityState.Modified;
                    DB.SaveChanges();
                    return RedirectToAction("UserStatuses_List");
                }
                else
                {
                    ModelState.AddModelError("UserStatus", "User Status Already Registered.");
                }
            }
            ModelState.AddModelError("UserStatus", "User Status is Required");
            return View(userStatusMV);
        }

  View  Code :

           @model eCommerceUI.Models.UserStatusMV
@{
    ViewBag.Title = "Edit";
}
<div class="container">
    <div class="page-width">
        @using (Html.BeginForm("EditUserStatus", "BasicConfiguration"))
        {
            @Html.AntiForgeryToken()
            <h3 class="docs-title">Edit User Status</h3>
            <hr />
            <div class="form-horizontal">
                @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                @Html.HiddenFor(model => model.UserStatusID)

                <div class="form-group">
                    @Html.LabelFor(model => model.UserStatus, htmlAttributes: new { @class = "control-label col-md-2" })
                    <div class="col-md-10">
                        @Html.EditorFor(model => model.UserStatus, new { htmlAttributes = new { @class = "form-control" } })
                        @Html.ValidationMessageFor(model => model.UserStatus, "", new { @class = "text-danger" })
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-offset-2 col-md-10">
                        <input type="submit" value="Save" class="btn btn--secondary" />
                        @Html.ActionLink("Back to List", "UserStatus_List", null, new { @class = "btn" })
                    </div>
                </div>
            </div>
        }
    </div>
</div>

Comments