예제 #1
0
        public ActionResult Create([Bind(Include = "idnxb,tennxb,diachi,sodt,sotk")] nxb nxb)
        {
            if (ModelState.IsValid)
            {
                foreach (nxb n in db.nxbs)
                {
                    if (n.tennxb == nxb.tennxb)
                    {
                        ModelState.AddModelError("", "Nhà xuất bản đã tồn tại");

                        return(View());
                    }
                }

                sotienphaitrachonxb a = new sotienphaitrachonxb();
                a.idnxb         = nxb.idnxb;
                a.sotienphaitra = 0;
                a.thoidiem      = DateTime.Now;
                db.sotienphaitrachonxbs.Add(a);
                db.nxbs.Add(nxb);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(nxb));
        }
예제 #2
0
        public ActionResult SachTheoNXB(int idnxb, int?page)
        {
            //Tạo biến Quy định sô sản phẩm trên 1 trang
            int pagesize = 6;
            //Tạo biến số sang
            int pagenum = (page ?? 1);

            nxb nhaxuatban = data.nxbs.SingleOrDefault(n => n.idnxb == idnxb);

            // kiểm tra loại hàng tồn tại
            if (nhaxuatban == null)
            {
                Response.StatusCode = 404;
                return(null);
            }

            List <sach> lsSach = data.saches.Where(n => n.idnxb == idnxb).OrderByDescending(n => n.tensach).ToList();

            if (lsSach.Count == 0)
            {
                ViewBag.ThongBao = "Không tìm thấy loại thàng nào";
            }
            ViewBag.tennxb = nhaxuatban.tennxb;
            ViewBag.idnxb  = nhaxuatban.idnxb;
            return(PartialView(lsSach.ToPagedList(pagenum, pagesize)));
        }
예제 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            nxb nxb = db.nxb.Find(id);

            db.nxb.Remove(nxb);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Taomoinxb(nxb nxb)
 {
     if (nxb == null)
     {
         ViewBag.Thongbao = "Không được để trống";
     }
     db.nxbs.InsertOnSubmit(nxb);
     db.SubmitChanges();
     return(RedirectToAction("Nxb"));
 }
 public ActionResult ThemNhaXuatBan(nxb nxb)
 {
     if (nxb == null)
     {
         ViewBag.Thongbao = "Không được để trống";
     }
     data.nxbs.InsertOnSubmit(nxb);
     data.SubmitChanges();
     return(RedirectToAction("NhaXuatBan"));
 }
예제 #6
0
 public ActionResult Edit([Bind(Include = "idnxb,tennxb,diachi,sodt,sotk")] nxb nxb)
 {
     if (ModelState.IsValid)
     {
         db.Entry(nxb).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(nxb));
 }
예제 #7
0
        public ActionResult Create([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban,
                                   [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb)
        {
            danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel();

            if (ModelState.IsValid)
            {
                danhmucsachdaban.tinhtrang         = "Waiting";
                danhmucsachdaban.sotiendathanhtoan = 0;
                int iddmsdb = 1;
                if (db.danhmucsachdaban.Any())
                {
                    iddmsdb = db.danhmucsachdaban.Max(o => o.iddmsdb) + 1;
                }
                int     idct     = 1;
                decimal tongtien = 0;
                foreach (ctdmsdb ct in ctdmsdb)
                {
                    ct.iddmsdb   = iddmsdb;
                    ct.idctdmsdb = idct;
                    idct++;

                    hangtoncuadaily htdl = db.hangtoncuadaily.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach);
                    //kiem tra xem so luong sach đã bán có lớn hơn số lượng sách xuất cho dai ly do
                    if (htdl != null && htdl.soluongchuaban >= ct.soluong)
                    {
                        htdl.soluongchuaban  = htdl.soluongchuaban - ct.soluong;
                        db.Entry(htdl).State = EntityState.Modified;
                    }
                    else
                    {
                        ModelState.AddModelError("", "số sách đã bán lớn hơn số sách xuất cho đại lý");
                        ViewBag.idsach        = new SelectList(db.sach, "idsach", "tensach");
                        ViewBag.iddl          = new SelectList(db.daily, "iddl", "tendl", danhmucsachdaban.iddl);
                        dmvm.danhmucsachdaban = danhmucsachdaban;
                        return(View(dmvm));
                    }
                    tongtien += (decimal)(ct.soluong * htdl.sach.giaxuat);

                    //tim nxb cua cuon sach da duoc ban nay
                    sach s = db.sach.Find(ct.idsach);
                    nxb  n = db.nxb.Find(s.idnxb);
                    n.sotienphaitra += ct.soluong * s.gianhap;
                }
                danhmucsachdaban.sotienconno = tongtien;
                danhmucsachdaban.ctdmsdb     = ctdmsdb;
                db.danhmucsachdaban.Add(danhmucsachdaban);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.idsach        = new SelectList(db.sach, "idsach", "tensach");
            ViewBag.iddl          = new SelectList(db.daily, "iddl", "tendl", danhmucsachdaban.iddl);
            dmvm.danhmucsachdaban = danhmucsachdaban;
            return(View(dmvm));
        }
예제 #8
0
        public ActionResult Create([Bind(Include = "idnxb,tennxb,diachi,sodt,sotk")] nxb nxb)
        {
            if (ModelState.IsValid)
            {
                nxb.sotienphaitra = 0;
                db.nxb.Add(nxb);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(nxb));
        }
        public ActionResult Xoanxb(int id)
        {
            //lay ra doi tuong can xoa
            nxb nxb = db.nxbs.SingleOrDefault(n => n.idnxb == id);

            ViewBag.idnxb = nxb.idnxb;
            if (nxb == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            return(View(nxb));
        }
예제 #10
0
        // GET: nxbs/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            nxb nxb = db.nxb.Find(id);

            if (nxb == null)
            {
                return(HttpNotFound());
            }
            return(View(nxb));
        }
예제 #11
0
        public ActionResult Create([Bind(Include = "idptt,idnxb,sotientra,tinhtrang")] phieutratien phieutratien)
        {
            if (ModelState.IsValid)
            {
                nxb n = db.nxb.Find(phieutratien.idnxb);
                n.sotienphaitra -= phieutratien.sotientra;
                db.phieutratien.Add(phieutratien);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.idnxb = new SelectList(db.nxb, "idnxb", "tennxb", phieutratien.idnxb);
            return(View(phieutratien));
        }
        public ActionResult Xacnhanxoanxb(int id)
        {
            //lay ra doi tuong
            nxb nxb = db.nxbs.SingleOrDefault(n => n.idnxb == id);

            ViewBag.idnxb = nxb.idnxb;
            if (nxb == null)
            {
                Response.StatusCode = 404;
                return(null);
            }
            db.nxbs.DeleteOnSubmit(nxb);
            db.SubmitChanges();
            return(RedirectToAction("Nxb"));
        }
예제 #13
0
        public ActionResult DeleteConfirmed(int id)
        {
            nxb nxb = db.nxbs.Find(id);

            foreach (sotienphaitrachonxb st in db.sotienphaitrachonxbs)
            {
                if (st.idnxb == nxb.idnxb)
                {
                    db.sotienphaitrachonxbs.Remove(st);
                }
            }
            db.nxbs.Remove(nxb);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #14
0
        public ActionResult Edit([Bind(Include = "idptt,idnxb,sotientra,tinhtrang")] phieutratien phieutratien)
        {
            if (ModelState.IsValid)
            {
                phieutratien pttcu = db.phieutratien.Find(phieutratien.idptt);
                db.Entry(pttcu).State = EntityState.Detached;

                nxb n = db.nxb.Find(phieutratien.idnxb);
                n.sotienphaitra = n.sotienphaitra - phieutratien.sotientra + pttcu.sotientra;

                db.Entry(phieutratien).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.idnxb = new SelectList(db.nxb, "idnxb", "tennxb", phieutratien.idnxb);
            return(View(phieutratien));
        }
예제 #15
0
 public void Update(nxb obj)
 {
     throw new NotImplementedException();
 }
예제 #16
0
 public nxb Insert(nxb obj)
 {
     throw new NotImplementedException();
 }
예제 #17
0
        public ActionResult Edit([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban,
                                 [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb)
        {
            ViewBag.iddl   = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl);
            ViewBag.idsach = new SelectList(db.saches, "idsach", "tensach");
            danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel();

            if (ModelState.IsValid)
            {
                decimal tongtien    = 0;
                decimal tongtienmoi = 0;
                int     iddmsdb     = danhmucsachdaban.iddmsdb;
                int     idct        = 1;
                //xoa chi tiet cu trong database table hangtoncuadaily
                var ctcudmsdb = db.ctdmsdbs.Where(o => o.iddmsdb == danhmucsachdaban.iddmsdb);
                foreach (ctdmsdb ct in ctcudmsdb)
                {
                    hangtoncuadaily ht           = db.hangtoncuadailies.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach);
                    int             hangtondaily = (int)(ht.soluongchuaban + ct.soluong);
                    ht.soluongchuaban  = hangtondaily;
                    db.Entry(ht).State = EntityState.Modified;
                    System.Diagnostics.Debug.WriteLine("Hàng tồn đại lý return : " + hangtondaily);
                }
                //thêm chi tiết sửa vào database table hangtoncuadaily
                foreach (ctdmsdb ct in ctdmsdb)
                {
                    ct.iddmsdb   = iddmsdb;
                    ct.idctdmsdb = idct;
                    idct++;
                    hangtoncuadaily ht = db.hangtoncuadailies.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach);
                    ht.soluongchuaban = (int)(ht.soluongchuaban - ct.soluong);
                    if (ht.soluongchuaban < 0)
                    {
                        ModelState.AddModelError("", "Hàng tồn của đại lý sau khi sửa bé hơn 0");
                        danhmucsachdaban.ctdmsdbs = ctdmsdb;
                        dmvm.danhmucsachdaban     = danhmucsachdaban;
                        return(View(dmvm));
                    }
                    sach s = db.saches.Find(ct.idsach);
                    nxb  n = db.nxbs.Find(s.idnxb);
                    sotienphaitrachonxb st = new sotienphaitrachonxb();
                    st.thoidiem = (DateTime)danhmucsachdaban.thoigian;
                    sotienphaitrachonxb stht = db.sotienphaitrachonxbs.OrderByDescending(o => o.id).FirstOrDefault(o => o.idnxb == n.idnxb);
                    if (stht != null)
                    {
                        st.idnxb         = n.idnxb;
                        st.sotienphaitra = (ct.soluong * s.gianhap);
                        db.sotienphaitrachonxbs.Add(st);
                    }
                    else
                    {
                        ModelState.AddModelError("", "Không lấy được số tiền phải trả cho nhà xuất bản");
                        ViewBag.iddl          = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl);
                        ViewBag.idsach        = new SelectList(db.saches, "idsach", "tensach");
                        dmvm.danhmucsachdaban = danhmucsachdaban;
                        return(View(dmvm));
                    }
                    tongtien += (decimal)(ct.soluong * s.giaxuat);
                }
                foreach (ctdmsdb ct in ctcudmsdb)
                {
                    nxb n = db.nxbs.Find(ct.sach.idnxb);

                    sotienphaitrachonxb stht = db.sotienphaitrachonxbs.OrderByDescending(o => o.id).FirstOrDefault(o => o.idnxb == n.idnxb);

                    tongtienmoi = (decimal)(stht.sotienphaitra - (ct.soluong * ct.sach.gianhap));
                    System.Diagnostics.Debug.WriteLine("Số tiền phải trả cũ là : " + stht.sotienphaitra);
                    System.Diagnostics.Debug.WriteLine("số tiền phải trả mới là : " + tongtienmoi);


                    if (tongtienmoi < 0)
                    {
                        ModelState.AddModelError("", "Tổng tiền sau khi sửa nhỏ hơn 0 ");
                        danhmucsachdaban.ctdmsdbs = ctdmsdb;
                        dmvm.danhmucsachdaban     = danhmucsachdaban;
                        return(View(dmvm));
                    }
                    db.ctdmsdbs.Remove(ct);
                }
                foreach (ctdmsdb ct in ctdmsdb)
                {
                    db.ctdmsdbs.Add(ct);
                }
                danhmucsachdaban.sotienconno       = tongtien;
                danhmucsachdaban.sotiendathanhtoan = 0;
                danhmucsachdaban.tinhtrang         = "Waiting";
                db.Entry(danhmucsachdaban).State   = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            danhmucsachdaban.ctdmsdbs = ctdmsdb;
            dmvm.danhmucsachdaban     = danhmucsachdaban;
            return(View(dmvm));
        }
예제 #18
0
        public ActionResult Edit([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban,
                                 [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb)
        {
            ViewBag.iddl   = new SelectList(db.daily, "iddl", "tendl", danhmucsachdaban.iddl);
            ViewBag.idsach = new SelectList(db.sach, "idsach", "tensach");
            danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel();

            if (ModelState.IsValid)
            {
                int iddmsdb = danhmucsachdaban.iddmsdb;
                int idct    = 1;
                //xoa chi tiet cu trong database table hangtoncuadaily
                var ctcudmsdb = db.ctdmsdb.Where(o => o.iddmsdb == danhmucsachdaban.iddmsdb);
                foreach (ctdmsdb ct in ctcudmsdb)
                {
                    hangtoncuadaily ht           = db.hangtoncuadaily.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach);
                    int             hangtondaily = (int)(ht.soluongchuaban + ct.soluong);
                }
                decimal tongtien = 0;
                //thêm chi tiết sửa vào database table hangtoncuadaily
                foreach (ctdmsdb ct in ctdmsdb)
                {
                    ct.iddmsdb   = iddmsdb;
                    ct.idctdmsdb = idct;
                    idct++;
                    hangtoncuadaily ht = db.hangtoncuadaily.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach);
                    ht.soluongchuaban = (int)(ht.soluongchuaban - ct.soluong);
                    if (ht.soluongchuaban < 0)
                    {
                        danhmucsachdaban.ctdmsdb = ctdmsdb;
                        dmvm.danhmucsachdaban    = danhmucsachdaban;
                        return(View(dmvm));
                    }
                    sach s = db.sach.Find(ct.idsach);
                    nxb  n = db.nxb.Find(s.idnxb);
                    n.sotienphaitra += ct.soluong * s.gianhap;
                    tongtien        += (decimal)(ct.soluong * s.giaxuat);
                }
                foreach (ctdmsdb ct in ctcudmsdb)
                {
                    nxb n = db.nxb.Find(ct.sach.idnxb);
                    n.sotienphaitra -= ct.soluong * ct.sach.gianhap;
                    if (n.sotienphaitra < 0)
                    {
                        danhmucsachdaban.ctdmsdb = ctdmsdb;
                        dmvm.danhmucsachdaban    = danhmucsachdaban;
                        return(View(dmvm));
                    }
                    db.ctdmsdb.Remove(ct);
                }

                foreach (ctdmsdb ct in ctdmsdb)
                {
                    db.ctdmsdb.Add(ct);
                }
                danhmucsachdaban.sotienconno       = tongtien;
                danhmucsachdaban.sotiendathanhtoan = 0;
                danhmucsachdaban.tinhtrang         = "Waiting";
                db.Entry(danhmucsachdaban).State   = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            danhmucsachdaban.ctdmsdb = ctdmsdb;
            dmvm.danhmucsachdaban    = danhmucsachdaban;
            return(View(dmvm));
        }
예제 #19
0
        public ActionResult Create([Bind(Prefix = "danhmucsachdaban")] danhmucsachdaban danhmucsachdaban,
                                   [Bind(Prefix = "ct")] ctdmsdb[] ctdmsdb)
        {
            danhmucsachdabanviewmodel dmvm = new danhmucsachdabanviewmodel();

            if (ModelState.IsValid)
            {
                danhmucsachdaban.tinhtrang         = "Waiting";
                danhmucsachdaban.sotiendathanhtoan = 0;
                decimal tongtien        = 0;
                decimal tongtienbanduoc = 0;
                int     iddm            = 1;
                if (db.danhmucsachdabans.Any())
                {
                    iddm = db.danhmucsachdabans.Max(a => a.iddmsdb) + 1;
                }
                int idct = 1;
                foreach (ctdmsdb ct in ctdmsdb)
                {
                    ct.iddmsdb   = iddm;
                    ct.idctdmsdb = idct;
                    idct++;
                    hangtoncuadaily htdl = db.hangtoncuadailies.FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl && o.idsach == ct.idsach);
                    if (htdl == null)
                    {
                        ModelState.AddModelError("", "Không tìm thấy hàng tồn . Chọn sai đại lý hoặc là chọn sai tên sách ở chi tiết");
                        ViewBag.iddl          = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl);
                        ViewBag.idsach        = new SelectList(db.saches, "idsach", "tensach");
                        dmvm.danhmucsachdaban = danhmucsachdaban;
                        return(View(dmvm));
                    }

                    if (htdl != null && htdl.soluongchuaban >= ct.soluong)
                    {
                        htdl.soluongchuaban  = htdl.soluongchuaban - ct.soluong;
                        db.Entry(htdl).State = EntityState.Modified;
                    }
                    else
                    {
                        ModelState.AddModelError("", "Số lượng sách đã bán lớn hơn số sách xuất cho đại lý");
                        ViewBag.iddl          = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl);
                        ViewBag.idsach        = new SelectList(db.saches, "idsach", "tensach");
                        dmvm.danhmucsachdaban = danhmucsachdaban;
                        return(View(dmvm));
                    }
                    tongtien += (decimal)(ct.soluong * db.saches.Find(ct.idsach).giaxuat);
                    //cập nhật số tiền phải tra cho nhà xuất bản
                    sach s = db.saches.Find(ct.idsach);
                    System.Diagnostics.Debug.WriteLine("Id sách " + ct.idsach);
                    nxb n = db.nxbs.Find(s.idnxb);
                    System.Diagnostics.Debug.WriteLine("Id nhà xuất bản : " + n.idnxb);
                    System.Diagnostics.Debug.WriteLine("Nhà xuất bản : " + n.tennxb);
                    sotienphaitrachonxb st = new sotienphaitrachonxb();
                    st.thoidiem = (DateTime)danhmucsachdaban.thoigian;
                    sotienphaitrachonxb stht = db.sotienphaitrachonxbs.OrderByDescending(o => o.id).FirstOrDefault(o => o.idnxb == n.idnxb);
                    System.Diagnostics.Debug.WriteLine("Id nhà xuất bản sau khi lấy : " + stht.idnxb);

                    System.Diagnostics.Debug.WriteLine("Số tiền phải trả cho nhà xuất bản : " + stht.sotienphaitra);

                    tongtienbanduoc = (decimal)(ct.soluong * s.gianhap);
                    System.Diagnostics.Debug.WriteLine(tongtienbanduoc);
                    if (stht != null)
                    {
                        st.idnxb         = n.idnxb;
                        st.sotienphaitra = (ct.soluong * s.gianhap);
                        System.Diagnostics.Debug.WriteLine("Đây là số tiền phải trả : " +
                                                           st.sotienphaitra);
                        db.sotienphaitrachonxbs.Add(st);
                    }
                    else
                    {
                        ModelState.AddModelError("", "Không lấy được số tiền phải trả cho nhà xuất bản");
                        ViewBag.iddl          = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl);
                        ViewBag.idsach        = new SelectList(db.saches, "idsach", "tensach");
                        dmvm.danhmucsachdaban = danhmucsachdaban;
                        return(View(dmvm));
                    }
                }

                /*congnotheothoigian cn = new congnotheothoigian();
                 * cn.thoidiem = (DateTime)danhmucsachdaban.thoigian;
                 * congnotheothoigian cnht = db.congnotheothoigians.OrderByDescending(o => o.id).FirstOrDefault(o => o.iddl == danhmucsachdaban.iddl);
                 * if(cnht.congno!=null)
                 * {
                 *  cn.iddl = danhmucsachdaban.iddl;
                 *  cn.congno = cnht.congno - tongtien;
                 *  db.congnotheothoigians.Add(cn);
                 * }
                 * else
                 * {
                 *  cn.iddl = danhmucsachdaban.iddl;
                 *  cn.congno = tongtien;
                 *  db.congnotheothoigians.Add(cn);
                 * }
                 */
                danhmucsachdaban.sotienconno = tongtien;
                danhmucsachdaban.ctdmsdbs    = ctdmsdb;
                db.danhmucsachdabans.Add(danhmucsachdaban);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.iddl          = new SelectList(db.dailies, "iddl", "tendl", danhmucsachdaban.iddl);
            ViewBag.idsach        = new SelectList(db.saches, "idsach", "tensach");
            dmvm.danhmucsachdaban = danhmucsachdaban;
            return(View(dmvm));
        }