Online Restaurant Website Part 34 Add and Remove Quantity in Shopping Cart

 Online Restaurant Website Part 34 Add and Remove Quantity in Shopping Cart 

Hi, Dear's here we learn how to implement "Pizza Restaurant Drink" Website in Visual S
tudio 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 Shopping Cart add and remove quantity button for more details click here: watch vedio

First we are going to open project and create some action in order controller to add and remove quantity from selected item in shopping cart one by one code below:

> Add_Qty Action Code: 

public ActionResult Add_Qty(int? cartitemid, int? qty, string itemtype)
{
    bool result = false;
    using (var transaction = Db.Database.BeginTransaction())
    {
        try
        {
            if (itemtype == "item")
            {
                var item = Db.CartItemDetailTables.Where(i => i.CartItemID == cartitemid).FirstOrDefault();
                if (item != null)
                {
                    item.Qty = item.Qty + 1;
                    Db.Entry(item).State = System.Data.Entity.EntityState.Modified;
                    Db.SaveChanges();
                }
            }
            else
            {
                var deal = Db.CartDealTables.Where(d => d.CartDealID == cartitemid).FirstOrDefault();
                if (deal != null)
                {
                    deal.Qty = deal.Qty + 1;
                    Db.Entry(deal).State = System.Data.Entity.EntityState.Modified;
                    Db.SaveChanges();
                }
            }
            result = true;
            transaction.Commit();
            return Json(result, JsonRequestBehavior.AllowGet);
        }
        catch (Exception ex)
        {
            result = false;
            transaction.Rollback();
            return Json(result, JsonRequestBehavior.AllowGet);
        }
    }
} 

> Minus_Qty Action Code: 

public ActionResult Minus_Qty(int? cartitemid, int? qty, string itemtype)
{
    bool result = false;
    using (var transaction = Db.Database.BeginTransaction())
    {
        try
        {
            if (itemtype == "item")
            {
                var item = Db.CartItemDetailTables.Where(i => i.CartItemID == cartitemid).FirstOrDefault();
                if (item != null)
                {
                    if (item.Qty == 1)
                    {
                        Db.Entry(item).State = System.Data.Entity.EntityState.Deleted;
                        Db.SaveChanges();
                    }
                    else
                    {
                        item.Qty = item.Qty - 1;
                        Db.Entry(item).State = System.Data.Entity.EntityState.Modified;
                        Db.SaveChanges();
                    }
                }
            }
            else
            {
                var deal = Db.CartDealTables.Where(d => d.CartDealID == cartitemid).FirstOrDefault();
                if (deal != null)
                {
                    if (deal.Qty == 1)
                    {
                        Db.Entry(deal).State = System.Data.Entity.EntityState.Deleted;
                        Db.SaveChanges();
                    }
                    else
                    {
                        deal.Qty = deal.Qty - 1;
                        Db.Entry(deal).State = System.Data.Entity.EntityState.Modified;
                        Db.SaveChanges();
                    }
                }
            }
            result = true;
            transaction.Commit();
            return Json(result, JsonRequestBehavior.AllowGet);
        }
        catch (Exception ex)
        {
            result = false;
            transaction.Rollback();
            return Json(result, JsonRequestBehavior.AllowGet);
        }
    }
}

Once Add_Qty and minus_qty action is complete then we are to add some javascript method in ViewCart view to execute Add_qty and minus_qty action.

 Add this javascript method to ViewCart View 

  <script type="text/javascript">

    function addqty(cartitemid, itemtype) {
        var url = "/Order/Add_Qty?cartitemid=" + cartitemid + "&qty=1&itemtype=" + itemtype;
        $.ajax({
            url: url,
            type: 'GET',
            dataType: 'json',
            // we set cache: false because GET requests are often cached by browsers
            // IE is particularly aggressive in that respect
            cache: false,
            data: {},
            success: function (result) {
                if (result == true) {
                    location.reload();
                }
                else {
                    alert("Plz login and Try-Again!");
                }
            }
        });
    }

    function minusqty(cartitemid, itemtype) {
        var url = "/Order/Minus_Qty?cartitemid=" + cartitemid + "&qty=1&itemtype=" + itemtype;
        $.ajax({
            url: url,
            type: 'GET',
            dataType: 'json',
            // we set cache: false because GET requests are often cached by browsers
            // IE is particularly aggressive in that respect
            cache: false,
            data: {},
            success: function (result) {
                if (result == true) {
                    location.reload();
                }
                else {
                    alert("Plz login and Try-Again!");
                }
            }
        });
    }
</script>

once all the above steps is complete then we are going to execute javascript method on button(cal onclick method to execute javascript method). code is below. 

ViewCart Code from Add and Remove Quantity button : 

 onclick="minusqty(@item.CartItemID,'@item.ItemType')" //add button

onclick="addqty(@item.CartItemID,'@item.ItemType')" // minus button

so once all above steps is done then run the application... 

Comments