First we are going to create StockDealDetailMV for data model to show data in view. code add below:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace PizzaRestaurantDrink.Models
{
public class StockDealDetailMV
{
public int StockDealDetailID { get; set; }
public int StockDealID { get; set; }
public int StockItemID { get; set; }
public string ItemPhotoPath { get; set; }
public string StockItemTitle { get; set; }
public int Quantity { get; set; }
public string ItemSize { get; set; }
public double UnitPrice { get; set; }
public string OrderType { get; set; }
public double Discount { get; set; }
public string VisibleStatus { get; set; }
}
}
> CRU_StockDealDetailMV Model Code : // To and get to list of item in deals also.
using Dblayer;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace PizzaRestaurantDrink.Models
{
public class CRU_StockDealDetailMV
{
PizzaRestaurentandDrinksDbEntities db = new PizzaRestaurentandDrinksDbEntities();
public CRU_StockDealDetailMV(){}
public CRU_StockDealDetailMV(int stockdealid)
{
GetDealItems(stockdealid);
StockDealID = stockdealid;
}
public CRU_StockDealDetailMV(int stockdealid, int stockdealdetailid)
{
GetDealItems(stockdealid);
StockDealID = stockdealid;
StockDealDetailID = stockdealdetailid;
var edit = db.StockDealDetailTables.Find(stockdealdetailid);
if (edit != null)
{
StockDealDetailID = edit.StockDealDetailID;
StockDealID = edit.StockDealID;
StockItemID = edit.StockItemID;
Discount = edit.Discount;
Quantity = edit.Quantity;
VisibleStatusID = edit.VisibleStatusID;
}
else
{
StockDealDetailID = stockdealdetailid;
StockDealID = stockdealid;
StockItemID = 0;
Discount = 0;
Quantity = 0;
VisibleStatusID = 0;
}
}
public int StockDealDetailID { get; set; }
public int StockDealID { get; set; }
public int StockItemID { get; set; }
public double Discount { get; set; }
public int Quantity { get; set; }
public int VisibleStatusID { get; set; }
public List<StockDealDetailMV> DealItems { get; set; }
public void GetDealItems(int? dealid)
{
DealItems = new List<StockDealDetailMV>();
foreach (var item in db.StockDealDetailTables.Where(d=>d.StockDealID == dealid).ToList())
{
var visible = db.VisibleStatusTables.Find(item.VisibleStatusID).VisibleStatus;
var stockitem = item.StockItemTable;
DealItems.Add(new StockDealDetailMV()
{
StockDealDetailID = item.StockDealDetailID,
StockDealID = item.StockDealID,
StockItemID = item.StockItemID,
Discount = item.Discount,
Quantity = item.Quantity,
VisibleStatus = visible,
ItemPhotoPath = stockitem.ItemPhotoPath,
StockItemTitle = stockitem.StockItemTitle,
ItemSize = stockitem.ItemSize,
UnitPrice = stockitem.UnitPrice,
OrderType = stockitem.OrderTypeTable.OrderType
});
}
}
}
}
[HttpGet]
public ActionResult StockDealItem(int dealid,int stockdealdetailid)
{
if (string.IsNullOrEmpty(Convert.ToString(Session["UserTypeID"])))
{
return RedirectToAction("Index", "Home");
}
var stockdealdetails = new CRU_StockDealDetailMV(dealid, stockdealdetailid);
ViewBag.VisibleStatusID = new SelectList(Db.VisibleStatusTables.ToList(), "VisibleStatusID", "VisibleStatus", stockdealdetails.VisibleStatusID);
ViewBag.StockItemID = new SelectList(Db.StockItemTables.ToList(), "StockItemID", "StockItemTitle", stockdealdetails.StockItemID);
return View(stockdealdetails);
}
[HttpPost]
public ActionResult StockDealItem(CRU_StockDealDetailMV cru_StockDealDetailMV)
{
if (string.IsNullOrEmpty(Convert.ToString(Session["UserTypeID"])))
{
return RedirectToAction("Index", "Home");
}
int userid = 0;
int.TryParse(Convert.ToString(Session["UserID"]), out userid);
if (ModelState.IsValid)
{
if (cru_StockDealDetailMV.StockDealDetailID == 0)
{
var checkexist = Db.StockDealDetailTables.Where(
s => s.StockItemID == cru_StockDealDetailMV.StockItemID
&& s.VisibleStatusID == 1).FirstOrDefault();
if (checkexist == null)
{
var newitem = new StockDealDetailTable();
newitem.StockDealID = cru_StockDealDetailMV.StockDealID;
newitem.StockItemID = cru_StockDealDetailMV.StockItemID;
newitem.Discount = cru_StockDealDetailMV.Discount;
newitem.Quantity = cru_StockDealDetailMV.Quantity;
newitem.VisibleStatusID = cru_StockDealDetailMV.VisibleStatusID;
Db.StockDealDetailTables.Add(newitem);
Db.SaveChanges();
return RedirectToAction("StockDealItem", new { dealid = cru_StockDealDetailMV.StockDealID, stockdealdetailid = 0 });
}
else
{
ModelState.AddModelError("StockItemID", "Already Exist!");
}
}
else
{
var checkexist = Db.StockDealDetailTables.Where(
s => s.StockItemID == cru_StockDealDetailMV.StockItemID
&& s.VisibleStatusID == 1
&& s.StockDealDetailID != cru_StockDealDetailMV.StockDealDetailID).FirstOrDefault();
if (checkexist == null)
{
var edititem = Db.StockDealDetailTables.Find(cru_StockDealDetailMV.StockDealDetailID);
edititem.StockDealID = cru_StockDealDetailMV.StockDealID;
edititem.StockItemID = cru_StockDealDetailMV.StockItemID;
edititem.Discount = cru_StockDealDetailMV.Discount;
edititem.Quantity = cru_StockDealDetailMV.Quantity;
edititem.VisibleStatusID = cru_StockDealDetailMV.VisibleStatusID;
Db.Entry(edititem).State = System.Data.Entity.EntityState.Modified;
Db.SaveChanges();
return RedirectToAction("StockDealItem", new { dealid = cru_StockDealDetailMV.StockDealID, stockdealdetailid = 0 });
}
else
{
ModelState.AddModelError("StockItemID", "Already Exist!");
}
}
}
ViewBag.VisibleStatusID = new SelectList(Db.VisibleStatusTables.ToList(), "VisibleStatusID", "VisibleStatus", cru_StockDealDetailMV.VisibleStatusID);
ViewBag.StockItemID = new SelectList(Db.StockItemTables.ToList(), "StockItemID", "StockItemTitle", cru_StockDealDetailMV.StockItemID);
return View(cru_StockDealDetailMV);
}
@model PizzaRestaurantDrink.Models.CRU_StockDealDetailMV
@{
ViewBag.Title = "Deal";
}
<!-- Breadcrumb Start -->
<div class="bread-crumb">
<div class="container">
<div class="matter">
<h2>Deal Items</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("~/Stock/StockDealItem?dealid="+Model.StockDealID+"&stockdealdetailid="+Model.StockDealDetailID+"")">Stock Deal Items</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>Deal Items</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-12 col-12">
<!-- user type form Start -->
@using (Html.BeginForm("StockDealItem", "Stock", FormMethod.Post, new { @enctype = "multipart/form-data", @class = "form-horizontal" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.StockDealID)
@Html.HiddenFor(model => model.StockDealDetailID)
<div class="row">
<div class="col-md-6">
<div class="form-group">
<div class="col-md-12 col-sm-12 col-12">
Select Item :
@Html.DropDownList("StockItemID", null, "--Choose Item--", htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.StockItemID, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-12 col-sm-12 col-12">
Enter Quantity :
@Html.EditorFor(model => model.Quantity, new { htmlAttributes = new { @class = "form-control", @placeholder = "Enter Deal Price" } })
@Html.ValidationMessageFor(model => model.Quantity, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-12 col-sm-12 col-12">
Discount :
@Html.EditorFor(model => model.Discount, new { htmlAttributes = new { @class = "form-control", @placeholder = "Enter Discount" } })
@Html.ValidationMessageFor(model => model.Discount, "", new { @class = "text-danger" })
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<div class="col-md-12 col-sm-12 col-12">
Select Status :
@Html.DropDownList("VisibleStatusID", null, "--Choose Status--", htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.VisibleStatusID, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-12 col-sm-12 col-12">
<div class="buttons">
@if (Model.StockDealID == 0)
{
<input class="btn btn-theme btn-md btn-wide" type="submit" value="Create" />
}
else
{
<input class="btn btn-theme btn-md btn-wide" type="submit" value="Update" />
}
</div>
</div>
</div>
</div>
</div>
}
<!-- user type form End -->
</div>
</div>
</div>
</div>
<div class="menu">
<div class="menu-inner">
<div class="container">
<div class="row ">
<div class="col-sm-12 col-12 commontop text-center">
<h4>Deal Items</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>
<!-- List Start -->
<div class="col-sm-12 col-12">
<!-- Menu Tabs Content Start -->
<div class="tab-content">
<!-- Menu Tab Start -->
<div class="row">
@{
foreach (var item in Model.DealItems)
{
<div class="col-md-6 col-sm-6 col-12">
<!-- Box Start -->
<div class="box">
<div class="image">
<img src="@Url.Content(item.ItemPhotoPath)" alt="image" title="@item.StockItemTitle" class="img-fluid" style="width:130px; height:200px; max-width: 100%; height: auto;" />
</div>
<div class="caption">
<h4>@item.StockItemTitle | Discount: @item.Discount PKR | (@item.VisibleStatus)</h4>
<p class="des">Quantity : (@item.Quantity) | Order Type : (@item.OrderType)</p>
<span>
@Html.ActionLink("Edit", "StockDealItem", new { dealid = item.StockDealID, stockdealdetailid = item.StockDealDetailID }, new { @class = "btn btn-theme btn-md btn-wide" })
</span>
<div class="price">@item.ItemSize</div>
</div>
</div>
<!-- Box End -->
</div>
}
}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Comments
Post a Comment