public void Insert(int? InvoiceNumber,int? SupplierID,decimal? EstimatedAmount,DateTime? EstimationDate,decimal? Amount,DateTime? DatePassed,string PurchaseInvNumber,string Remarks,decimal? ValueForProfit,byte[] Mstimestamp)
	    {
		    PurchaseTable item = new PurchaseTable();
		    
            item.InvoiceNumber = InvoiceNumber;
            
            item.SupplierID = SupplierID;
            
            item.EstimatedAmount = EstimatedAmount;
            
            item.EstimationDate = EstimationDate;
            
            item.Amount = Amount;
            
            item.DatePassed = DatePassed;
            
            item.PurchaseInvNumber = PurchaseInvNumber;
            
            item.Remarks = Remarks;
            
            item.ValueForProfit = ValueForProfit;
            
            item.Mstimestamp = Mstimestamp;
            
	    
		    item.Save(UserName);
	    }
        public ActionResult DeleteConfirmed(int id)
        {
            PurchaseTable purchaseTable = db.PurchaseTables.Find(id);

            db.PurchaseTables.Remove(purchaseTable);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "purchaseID,UserID,PurchaseDate,PurchaseAmount,SuplierID")] PurchaseTable purchaseTable)
 {
     if (ModelState.IsValid)
     {
         db.Entry(purchaseTable).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.SuplierID = new SelectList(db.SuplierTables, "SuplierID", "SuplierName", purchaseTable.SuplierID);
     ViewBag.UserID    = new SelectList(db.UserTables, "UserID", "UserName", purchaseTable.UserID);
     return(View(purchaseTable));
 }
        // GET: PurchaseTables/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PurchaseTable purchaseTable = db.PurchaseTables.Find(id);

            if (purchaseTable == null)
            {
                return(HttpNotFound());
            }
            return(View(purchaseTable));
        }
        // GET: PurchaseTables/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PurchaseTable purchaseTable = db.PurchaseTables.Find(id);

            if (purchaseTable == null)
            {
                return(HttpNotFound());
            }
            ViewBag.SuplierID = new SelectList(db.SuplierTables, "SuplierID", "SuplierName", purchaseTable.SuplierID);
            ViewBag.UserID    = new SelectList(db.UserTables, "UserID", "UserName", purchaseTable.UserID);
            return(View(purchaseTable));
        }
        public ActionResult PurchaseConfirm(FormCollection collection)
        {
            if (string.IsNullOrEmpty(Convert.ToString(Session["UserID"])))
            {
                return(RedirectToAction("Login", "Home"));
            }
            int userid     = Convert.ToInt32(Convert.ToString(Session["UserID"]));
            int supplierid = 0;

            string[] keys = collection.AllKeys;
            foreach (var name in keys)
            {
                if (name.Contains("name"))
                {
                    string   idname   = name;
                    string[] valueids = idname.Split(' ');
                    supplierid = Convert.ToInt32(valueids[1]);
                }
            }

            var    purchasedetails = db.PurTemDetailsTables.ToList();
            double totalamount     = 0;

            foreach (var item in purchasedetails)
            {
                totalamount = totalamount + (item.Qty * item.UnitPrice);
            }

            if (totalamount == 0)
            {
                ViewBag.Message = "Zamówienie jest puste";
                return(View("NewPurchase"));
            }

            var purchaseheader = new PurchaseTable();

            purchaseheader.SupplierID     = supplierid;
            purchaseheader.PurchaseDate   = DateTime.Now;
            purchaseheader.PurchaseAmount = totalamount;
            purchaseheader.UserID         = userid;
            db.PurchaseTables.Add(purchaseheader);
            db.SaveChanges();

            foreach (var item in purchasedetails)
            {
                var purdetails = new PurchaseDetailTable()
                {
                    BookID     = item.BookID,
                    PurchaseID = purchaseheader.PurchaseID,
                    Qty        = item.Qty,
                    UnitPrice  = item.UnitPrice
                };
                db.PurchaseDetailTables.Add(purdetails);
                db.SaveChanges();

                var updatebookstock = db.BookTables.Find(item.BookID);
                updatebookstock.TotalCopies     = updatebookstock.TotalCopies + item.Qty;
                updatebookstock.Price           = item.UnitPrice;
                db.Entry(updatebookstock).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
            ViewBag.Message = "Zamówiono pomyślnie";
            return(RedirectToAction("AllPurchase"));
        }