public static PurchasingResult Save(PurchasingOrderHeaderViewModel models)
        {
            PurchasingResult result = new PurchasingResult();

            try
            {
                using (var db = new BuahSayurContext())
                {
                    string newRef = GetNewReference();
                    result.Reference = newRef;

                    PurchasingOrder purchasingOrder = new PurchasingOrder
                    {
                        Id             = 1,
                        Supplier_Code  = models.Supplier_Code,
                        Reference      = newRef,
                        PurchasingDate = models.PurchasingDate
                    };
                    db.PurchasingOrders.Add(purchasingOrder);

                    foreach (var item in models.PurchasingDetails)
                    {
                        PurchasingOrderDetail purchasingDetail = new PurchasingOrderDetail
                        {
                            PurchasingOrder_Id = purchasingOrder.Id,
                            Item_Code          = item.Item_Code,
                            Quantity           = item.Quantity,
                            Price = item.Price,
                            Total = item.Quantity * item.Price
                        };
                        result.Total += (item.Quantity * item.Price);
                        db.PurchasingOrderDetails.Add(purchasingDetail);
                        // Update Stock
                        Item Stock = db.Items.Where(x => x.Code == item.Item_Code).FirstOrDefault();
                        if (Stock != null)
                        {
                            Stock.Stock = Stock.Stock + item.Quantity;
                        }
                    }
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                Message        = ex.Message;
            }
            return(result);
        }
        public ActionResult SavePurchasing(PurchasingOrderHeaderViewModel models)
        {
            if (ModelState.IsValid)
            {
                PurchasingResult result = PurchasingDataAccess.Save(models);

                if (result.Success)
                {
                    return(Json(new { success = true, message = "Success", data = result }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = false, message = PurchasingDataAccess.Message }, JsonRequestBehavior.AllowGet));
                }
            }
            return(Json(new { success = false, message = "Invalid Model State!" }, JsonRequestBehavior.AllowGet));
        }