Ejemplo n.º 1
0
        public ActionResult Edit([Bind(Prefix = "phieunhap")] phieunhap phieunhap,
                                 [Bind(Prefix = "ct")] ctpn[] ctpn)
        {
            if (ModelState.IsValid)
            {
                int idpn = phieunhap.idpn;
                int idct = 1;

                //thêm chi tiết sửa vào database
                foreach (ctpn ct in ctpn)
                {
                    ct.idpn   = idpn;
                    ct.idctpn = idct;
                    idct++;
                    sach s = db.sach.Find(ct.idsach);
                    if (s.soluongton != null)
                    {
                        s.soluongton = s.soluongton + ct.soluong;
                    }
                    else
                    {
                        s.soluongton = ct.soluong;
                    }
                }

                //xóa chi tiết cũ trong database
                var ctpncu = db.ctpn.Where(ct => ct.idpn == phieunhap.idpn).ToList();
                foreach (var ct in ctpncu)
                {
                    sach s = db.sach.Find(ct.idsach);
                    int  soluonghientai = (int)(s.soluongton - ct.soluong);
                    if (soluonghientai < 0)
                    {
                        ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach");
                        ViewBag.idnxb  = new SelectList(db.nxb, "idnxb", "tennxb", phieunhap.idnxb);
                        phieunhapviewmodel pnvm = new phieunhapviewmodel();
                        phieunhap.ctpn = ctpn;
                        pnvm.phieunhap = phieunhap;
                        return(View(pnvm));
                    }
                    s.soluongton = soluonghientai;
                    db.ctpn.Remove(ct);
                }
                foreach (ctpn ct in ctpn)
                {
                    db.ctpn.Add(ct);
                }
                db.Entry(phieunhap).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach");
            ViewBag.idnxb  = new SelectList(db.nxb, "idnxb", "tennxb", phieunhap.idnxb);
            phieunhapviewmodel pnvm1 = new phieunhapviewmodel();

            phieunhap.ctpn  = ctpn;
            pnvm1.phieunhap = phieunhap;
            return(View(pnvm1));
        }
Ejemplo n.º 2
0
        public ActionResult Create([Bind(Prefix = "phieunhap")] phieunhap phieunhap,
                                   [Bind(Prefix = "ct")] ctpn[] ctpn)
        {
            if (ModelState.IsValid)
            {
                int idpn = 1;
                if (db.phieunhap.Any())
                {
                    idpn = db.phieunhap.Max(o => o.idpn) + 1;
                }
                int idct = 1;
                foreach (ctpn ct in ctpn)
                {
                    ct.idpn   = idpn;
                    ct.idctpn = idct;
                    idct++;
                    sach s = db.sach.Find(ct.idsach);
                    if (s.idnxb != phieunhap.idnxb)
                    {
                        ModelState.AddModelError("", "nxb nay khong co ban cuon sach nay");
                        ViewBag.idnxb  = new SelectList(db.nxb, "idnxb", "tennxb", phieunhap.idnxb);
                        ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach");
                        phieunhap.ctpn = ctpn;
                        phieunhapviewmodel pnvm = new phieunhapviewmodel();
                        pnvm.phieunhap = phieunhap;
                        return(View(pnvm));
                    }
                    if (s.soluongton != null)
                    {
                        s.soluongton = s.soluongton + ct.soluong;
                    }
                    else
                    {
                        s.soluongton = ct.soluong;
                    }
                }
                phieunhap.ctpn = ctpn;
                TimeSpan time = DateTime.Now.TimeOfDay;
                phieunhap.ngaynhap = phieunhap.ngaynhap + time;
                db.phieunhap.Add(phieunhap);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.idnxb  = new SelectList(db.nxb, "idnxb", "tennxb", phieunhap.idnxb);
            ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach");
            phieunhap.ctpn = ctpn;
            phieunhapviewmodel pnvm = new phieunhapviewmodel();

            pnvm.phieunhap = phieunhap;
            return(View(pnvm));
        }
Ejemplo n.º 3
0
        // GET: phieunhaps/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            phieunhap phieunhap = db.phieunhap.Find(id);

            if (phieunhap == null)
            {
                return(HttpNotFound());
            }
            ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach");
            ViewBag.idnxb  = new SelectList(db.nxb, "idnxb", "tennxb", phieunhap.idnxb);
            phieunhapviewmodel pnvm = new phieunhapviewmodel();

            pnvm.phieunhap = phieunhap;
            return(View(pnvm));
        }