public ActionResult DeleteConfirmed(int id)
        {
            invoice_detail invoice_detail = db.invoice_detail.Find(id);

            db.invoice_detail.Remove(invoice_detail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        //
        // GET: /InvoiceDetail/Details/5

        public ActionResult Details(int id = 0)
        {
            invoice_detail invoice_detail = db.invoice_detail.Find(id);

            if (invoice_detail == null)
            {
                return(HttpNotFound());
            }
            return(View(invoice_detail));
        }
 public ActionResult Edit([Bind(Include = "invoice_detail_no,buy_id,pcode,pname,qnt,value,small_sum,invoice_id")] invoice_detail invoice_detail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(invoice_detail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.invoice_detail_no = new SelectList(db.invoice, "invoice_no", "invoice_no", invoice_detail.invoice_detail_no);
     return(View(invoice_detail));
 }
 public ActionResult Edit(invoice_detail invoice_detail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(invoice_detail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.invoice_id = new SelectList(db.invoices, "id", "invoice_name", invoice_detail.invoice_id);
     ViewBag.product_id = new SelectList(db.products, "id", "sku", invoice_detail.product_id);
     return(View(invoice_detail));
 }
        //
        // GET: /InvoiceDetail/Edit/5

        public ActionResult Edit(int id = 0)
        {
            invoice_detail invoice_detail = db.invoice_detail.Find(id);

            if (invoice_detail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.invoice_id = new SelectList(db.invoices, "id", "invoice_name", invoice_detail.invoice_id);
            ViewBag.product_id = new SelectList(db.products, "id", "sku", invoice_detail.product_id);
            return(View(invoice_detail));
        }
        public ActionResult Create(invoice_detail invoice_detail)
        {
            if (ModelState.IsValid)
            {
                db.invoice_detail.Add(invoice_detail);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.invoice_id = new SelectList(db.invoices, "id", "invoice_name", invoice_detail.invoice_id);
            ViewBag.product_id = new SelectList(db.products, "id", "sku", invoice_detail.product_id);
            return(View(invoice_detail));
        }
        // GET: invoice_detail/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            invoice_detail invoice_detail = db.invoice_detail.Find(id);

            if (invoice_detail == null)
            {
                return(HttpNotFound());
            }
            return(View(invoice_detail));
        }
        private bool NowCreate(int iyear, int imonth)
        {
            using (var tran1 = db.Database.BeginTransaction())
            {
                using (var tran2 = db2.Database.BeginTransaction())
                {
                    if (CreateInvoice(tran1, tran2, iyear, imonth) == false)
                    {
                        return(false);
                    }
                    try
                    {
                        var salesl = db2.sale.Where(x => x.date.Year == iyear).Where(x => x.date.Month == imonth);
                        foreach (var sales in salesl)
                        {
                            var            prd   = db2.product.Find(sales.product_id);
                            var            inv   = db.invoice.Where(x => x.customer_id == sales.customer_id).Where(x => x.date.Year == iyear).Where(x => x.date.Month == imonth).First();
                            invoice_detail ninvd = new invoice_detail()
                            {
                                sale_id = sales.id, invoice_id = inv.invoice_no, pcode = prd.pcode, pname = prd.name, qnt = sales.qnt, value = sales.value, small_sum = sales.value * sales.qnt, date = sales.date.Date
                            };
                            db.invoice_detail.Add(ninvd);
                            db.SaveChanges();
                        }

                        var invd  = db.invoice_detail.Where(x => x.date.Year == iyear).Where(x => x.date.Month == imonth);
                        var invdg = invd.GroupBy(a => a.invoice_id).Select(a => new { invoice_id = a.Key, vulue = a.Sum(b => b.small_sum) });

                        foreach (var invl in invdg)
                        {
                            var invoice1 = db.invoice.Find(invl.invoice_id);
                            invoice1.charge = invl.vulue;
                            invoice1.tax    = invl.vulue * 0.08m;
                            db.SaveChanges();
                        }
                        tran1.Commit();
                        tran2.Commit();

                        return(true);
                    }
                    catch (Exception e)
                    {
                        tran1.Rollback();
                        tran2.Rollback();
                        return(false);
                    }
                }
            }
        }
        // GET: invoice_detail/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            invoice_detail invoice_detail = db.invoice_detail.Find(id);

            if (invoice_detail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.invoice_detail_no = new SelectList(db.invoice, "invoice_no", "invoice_no", invoice_detail.invoice_detail_no);
            return(View(invoice_detail));
        }