public ThongKeDauSachViewModel(ThongKeDauSach obj)
 {
     ID             = obj.ID;
     DauSachID      = obj.DauSachID;
     DauSach        = obj.DauSach.Ten;
     Ngay           = obj.Ngay;
     SoLuongHienTai = obj.SoLuongHienTai;
     SoLuongDaMuon  = obj.DauSach.SoLuongTon - obj.SoLuongHienTai;
 }
Esempio n. 2
0
        public JsonResult deleteChiTietTra(string id, string mathe)
        {
            if (id != null)
            {
                int ID    = Convert.ToInt32(id);
                var cttra = db.ChiTietTra.Where(i => i.ID.Equals(ID)).FirstOrDefault();

                var docgia = db.DocGia.Where(o => o.MaThe.Equals(mathe)).FirstOrDefault();
                docgia.SoSachConLai = docgia.SoSachConLai - 1;

                var cuonsach = db.CuonSach.Where(o => o.ID.Equals(cttra.CuonSachID)).FirstOrDefault();
                cuonsach.TinhTrang = 1;

                var dausach = db.DauSach.Where(o => o.ID.Equals(cuonsach.DauSachID)).FirstOrDefault();
                dausach.SoLuongTon = dausach.SoLuongTon - 1;

                var thongkedausach = db.ThongKeDauSach.Where(o => o.DauSachID.Equals(cuonsach.DauSachID)).FirstOrDefault();

                DateTime date_thongke = thongkedausach.Ngay.Date;
                DateTime now          = DateTime.Now.Date;
                if (date_thongke == now)
                {
                    thongkedausach.SoLuongHienTai = thongkedausach.SoLuongHienTai - 1;
                }
                else
                {
                    ThongKeDauSach tk = new ThongKeDauSach();
                    tk.DauSachID      = cuonsach.DauSachID;
                    tk.Ngay           = DateTime.Now.Date;
                    tk.SoLuongHienTai = dausach.SoLuongTon - 1;
                    db.ThongKeDauSach.Add(tk);
                }

                var ctphieumuon = db.ChiTietMuon.Where(o => o.CuonSach.ID.Equals(cuonsach.ID) && o.PhieuMuon.DocGiaID.Equals(docgia.ID)).FirstOrDefault();
                ctphieumuon.TinhTrang = 1;


                db.ChiTietTra.Remove(cttra);
                db.SaveChanges();

                return(Json("ok"));
            }
            else
            {
                return(Json("error"));
            }
        }
Esempio n. 3
0
        public JsonResult Post_EditChiTietTra(string sMaVach, string MaPhieuTra)
        {
            if (sMaVach != null && MaPhieuTra != null)
            {
                string[] Arr_sMaVach = sMaVach.Split(',');

                var phieutra = db.PhieuTra.Where(i => i.MaPhieuTra.Equals(MaPhieuTra)).FirstOrDefault();

                var docgia = db.DocGia.Where(o => o.ID.Equals(phieutra.DocGiaID)).FirstOrDefault();
                docgia.SoSachConLai = docgia.SoSachConLai + (Arr_sMaVach.Length - 1);

                for (int i = 0; i < Arr_sMaVach.Length - 1; i++)
                {
                    string mavach = Arr_sMaVach[i];

                    var cuonsach = db.CuonSach.Where(o => o.MaVach.Equals(mavach)).FirstOrDefault();
                    cuonsach.TinhTrang = 2;

                    var dausach = db.DauSach.Where(o => o.ID.Equals(cuonsach.DauSachID)).FirstOrDefault();
                    dausach.SoLuongTon = dausach.SoLuongTon + 1;

                    var thongkedausach = db.ThongKeDauSach.Where(o => o.DauSachID.Equals(cuonsach.DauSachID)).FirstOrDefault();

                    DateTime date_thongke = thongkedausach.Ngay.Date;
                    DateTime now          = DateTime.Now.Date;
                    if (date_thongke == now)
                    {
                        thongkedausach.SoLuongHienTai = thongkedausach.SoLuongHienTai + 1;
                    }
                    else
                    {
                        ThongKeDauSach tk = new ThongKeDauSach();
                        tk.DauSachID      = cuonsach.DauSachID;
                        tk.Ngay           = DateTime.Now.Date;
                        tk.SoLuongHienTai = dausach.SoLuongTon + 1;
                        db.ThongKeDauSach.Add(tk);
                    }

                    //0 chua tra
                    //1 tra roi
                    var ctphieumuon = db.ChiTietMuon.Where(o => o.CuonSach.MaVach.Equals(mavach) && o.PhieuMuon.DocGiaID.Equals(docgia.ID)).FirstOrDefault();
                    ctphieumuon.TinhTrang = 1;


                    //giai quyet tinh trang phieu muon


                    ChiTietTra ctTra = new ChiTietTra();
                    ctTra.CuonSachID = cuonsach.ID;
                    ctTra.PhieuTraID = phieutra.ID;
                    db.ChiTietTra.Add(ctTra);
                }

                db.SaveChanges();

                return(Json("ok"));
            }
            else
            {
                return(Json("error"));
            }
        }
Esempio n. 4
0
        public JsonResult ChiTietPhieuTra(PhieuTraModel PhieuTraJSON)
        {
            ICollection <ChiTietMuon> dsChiTietMuon = PhieuTraJSON.dsChiTietMuon;
            PhieuTra PhieuTra = new PhieuTra();

            PhieuTra.NgayTra = DateTime.Now;
            //Tìm độc giả theo mã thẻ để thêm vào phiếu trả
            DocGia docGiaTra = db.DocGia
                               .Where(dgt => dgt.MaThe == PhieuTraJSON.MaThe)
                               .FirstOrDefault();

            PhieuTra.DocGiaID = docGiaTra.ID;
            db.PhieuTra.Add(PhieuTra);
            db.SaveChanges();
            PhieuTra.MaPhieuTra = "PT" + PhieuTra.ID;
            db.SaveChanges();
            foreach (var chiTietMuonJSON in dsChiTietMuon)
            {
                ChiTietMuon chiTietMuon = db.ChiTietMuon.Find(chiTietMuonJSON.ID);
                //Tạo 1 chi tiết trả mới
                ChiTietTra chiTietTra = new ChiTietTra();
                chiTietTra.CuonSachID = chiTietMuon.CuonSach.ID;
                chiTietTra.PhieuTraID = PhieuTra.ID;
                //Cập nhật lại số lượng tồn của đầu sách
                DauSach dauSachUpdated = db.DauSach.Find(chiTietMuon.CuonSach.DauSachID);
                db.DauSach.Attach(dauSachUpdated);
                dauSachUpdated.SoLuongTon = dauSachUpdated.SoLuongTon + 1;
                //Cập nhật lại tình trạng của cuốn sách là còn trong kho
                CuonSach cuonSachUpdated = db.CuonSach.Find(chiTietMuon.CuonSach.ID);
                cuonSachUpdated.TinhTrang = 2;
                //Tăng số sách còn lại của độc giả đã mượn cuốn sách này lên
                DocGia docGiaUpdated = db.DocGia.Find(chiTietMuon.PhieuMuon.DocGiaID);
                docGiaUpdated.SoSachConLai = docGiaUpdated.SoSachConLai + 1;
                db.SaveChanges();
                //db.Entry(dauSachUpdated).State = System.Data.Entity.EntityState.Modified;
                //Tạo hoặc cập nhật thống kê đầu sách
                ThongKeDauSach thongKeDauSach = new ThongKeDauSach();
                DateTime       today          = DateTime.Now;
                if (db.ThongKeDauSach.Any(a =>
                                          a.DauSachID == chiTietMuon.CuonSach.DauSachID &&
                                          a.Ngay.Day == today.Day &&
                                          a.Ngay.Month == today.Month &&
                                          a.Ngay.Year == today.Year))
                {
                    thongKeDauSach = db.ThongKeDauSach.Where(a =>
                                                             a.DauSachID == chiTietMuon.CuonSach.DauSachID &&
                                                             a.Ngay.Day == today.Day &&
                                                             a.Ngay.Month == today.Month &&
                                                             a.Ngay.Year == today.Year).FirstOrDefault();
                    db.ThongKeDauSach.Attach(thongKeDauSach);
                    thongKeDauSach.SoLuongHienTai  = dauSachUpdated.SoLuongTon;
                    db.Entry(thongKeDauSach).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    thongKeDauSach.DauSachID      = chiTietMuon.CuonSach.DauSachID;
                    thongKeDauSach.Ngay           = today;
                    thongKeDauSach.SoLuongHienTai = dauSachUpdated.SoLuongTon;
                    db.ThongKeDauSach.Add(thongKeDauSach);
                }
                db.SaveChanges();
                //chiTietTra.CuonSachID = chiTietMuon.CuonSach.ID;
                //chiTietTra.PhieuTraID = PhieuTra.ID;
                db.ChiTietTra.Add(chiTietTra);
                db.SaveChanges();
            }
            //Tạo response trả về cho Angular hiển thị kết quả
            var responsePhieuTra = db.PhieuTra.Select(
                c => new
            {
                ID           = c.ID,
                DocGia       = c.DocGia,
                DocGiaID     = c.DocGiaID,
                NgayTra      = c.NgayTra,
                MaPhieuTra   = c.MaPhieuTra,
                dsChiTietTra = db.ChiTietTra.Select(ctt =>
                                                    new
                {
                    CuonSach   = ctt.CuonSach,
                    PhieuTraID = ctt.PhieuTraID,
                })
                               .Where(d => d.PhieuTraID == c.ID)
            }).Where(pt => pt.ID == PhieuTra.ID).FirstOrDefault();

            return(new JsonResult()
            {
                Data = responsePhieuTra, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
        public ActionResult Edit(EditPhieuMuonRequest phieuMuonRequest)
        {
            PhieuMuon phieuMuonUpdate = db.PhieuMuon.Find(phieuMuonRequest.ID);

            phieuMuonUpdate.DocGiaID = phieuMuonRequest.DocGiaID;
            db.SaveChanges();
            ViewBag.DocGiaID   = new SelectList(db.DocGia, "ID", "MaThe", phieuMuonUpdate.DocGiaID);
            ViewBag.NhanVienID = new SelectList(db.NhanVien, "ID", "MaNhanVien", phieuMuonUpdate.NhanVienID);
            ICollection <ChiTietMuon> dsChiTietMuonCu = db.ChiTietMuon
                                                        .Where(x => x.PhieuMuonID == phieuMuonRequest.ID)
                                                        .ToList();

            foreach (EditChiTietMuon chiTietMuonRequest in phieuMuonRequest.dsChiTietMuon)
            {
                //Nếu chi tiết mượn đã tồn tại và bị xóa trên giao diện thì tiến hành xóa trong CSDL
                //và cập nhật lại tình trạng
                if (chiTietMuonRequest.isOld == true && chiTietMuonRequest.isDeleted == true)
                {
                    //Tìm chi tiết mượn theo id để xóa
                    ChiTietMuon chiTietMuonDeleted = db.ChiTietMuon.Find(chiTietMuonRequest.ChiTietMuonId);
                    //Chỉ cập nhật và thống kê nếu chi tiết mượn này chưa được trả, tức là tình trạng cuốn sách là đang được mượn
                    if (chiTietMuonDeleted.CuonSach.TinhTrang == 1)
                    {
                        //Tiến hành cập nhật lại số lượng tồn kho và số lượng còn lại của độc giả và thống kê đầu sách
                        //Cập nhật lại tình trạng cuốn sách là còn trong kho
                        CuonSach cuonSachMuon = db.CuonSach.Find(chiTietMuonRequest.cuonSachMuonId);
                        cuonSachMuon.TinhTrang = 2;
                        //Cập nhật lại số lượng tồn của đầu sách
                        DauSach dauSachUpdated = db.DauSach.Find(cuonSachMuon.DauSachID);
                        dauSachUpdated.SoLuongTon = dauSachUpdated.SoLuongTon + 1;
                        db.DauSach.Attach(dauSachUpdated);
                        //Cập nhật lại số sách còn lại của độc giả
                        DocGia docGiaUpdated = db.DocGia.Find(phieuMuonRequest.DocGiaID);
                        docGiaUpdated.SoSachConLai = docGiaUpdated.SoSachConLai + 1;
                        //gán biến dauSachUpdated vào db Dau Sach
                        db.SaveChanges();
                        //Thêm hoặc cập nhật thống kê
                        ThongKeDauSach thongKeDauSach = new ThongKeDauSach();
                        DateTime       today          = DateTime.Now;
                        if (db.ThongKeDauSach.Any(a =>
                                                  a.DauSachID == cuonSachMuon.DauSachID &&
                                                  a.Ngay.Day == today.Day &&
                                                  a.Ngay.Month == today.Month &&
                                                  a.Ngay.Year == today.Year))
                        {
                            thongKeDauSach = db.ThongKeDauSach.Where(a =>
                                                                     a.DauSachID == cuonSachMuon.DauSachID &&
                                                                     a.Ngay.Day == today.Day &&
                                                                     a.Ngay.Month == today.Month &&
                                                                     a.Ngay.Year == today.Year).FirstOrDefault();
                            db.ThongKeDauSach.Attach(thongKeDauSach);
                            thongKeDauSach.SoLuongHienTai  = dauSachUpdated.SoLuongTon;
                            db.Entry(thongKeDauSach).State = System.Data.Entity.EntityState.Modified;
                        }
                        else
                        {
                            thongKeDauSach.DauSachID      = cuonSachMuon.DauSachID;
                            thongKeDauSach.Ngay           = today;
                            thongKeDauSach.SoLuongHienTai = dauSachUpdated.SoLuongTon;
                            db.ThongKeDauSach.Add(thongKeDauSach);
                        }
                    }
                    db.ChiTietMuon.Remove(chiTietMuonDeleted);
                    phieuMuonUpdate.TongSoLuongMuon = phieuMuonUpdate.TongSoLuongMuon - 1;
                    db.SaveChanges();
                }
                //Nếu chi tiết mượn là mới thì tiến hành thêm như bình thường
                if (chiTietMuonRequest.isOld == false && chiTietMuonRequest.isDeleted == false)
                {
                    CuonSach    cuonSachMuon = db.CuonSach.Find(chiTietMuonRequest.cuonSachMuonId);
                    ChiTietMuon chiTietMuon  = new ChiTietMuon();
                    //Tiến hành cập nhật lại số lượng tồn kho và số lượng còn lại của độc giả và thống kê đầu sách
                    DauSach dauSachUpdated = db.DauSach.Find(cuonSachMuon.DauSachID);
                    DocGia  docGiaUpdated  = db.DocGia.Find(phieuMuonRequest.DocGiaID);
                    db.DauSach.Attach(dauSachUpdated);
                    //gán biến dauSachUpdated vào db Dau Sach
                    dauSachUpdated.SoLuongTon  = dauSachUpdated.SoLuongTon - 1;
                    docGiaUpdated.SoSachConLai = docGiaUpdated.SoSachConLai - 1;
                    cuonSachMuon.TinhTrang     = 1;
                    db.SaveChanges();
                    //db.Entry(dauSachUpdated).State = System.Data.Entity.EntityState.Modified;
                    ThongKeDauSach thongKeDauSach = new ThongKeDauSach();
                    DateTime       today          = DateTime.Now;
                    if (db.ThongKeDauSach.Any(a =>
                                              a.DauSachID == cuonSachMuon.DauSachID &&
                                              a.Ngay.Day == today.Day &&
                                              a.Ngay.Month == today.Month &&
                                              a.Ngay.Year == today.Year))
                    {
                        thongKeDauSach = db.ThongKeDauSach.Where(a =>
                                                                 a.DauSachID == cuonSachMuon.DauSachID &&
                                                                 a.Ngay.Day == today.Day &&
                                                                 a.Ngay.Month == today.Month &&
                                                                 a.Ngay.Year == today.Year).FirstOrDefault();
                        db.ThongKeDauSach.Attach(thongKeDauSach);
                        thongKeDauSach.SoLuongHienTai  = dauSachUpdated.SoLuongTon;
                        db.Entry(thongKeDauSach).State = System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        thongKeDauSach.DauSachID      = cuonSachMuon.DauSachID;
                        thongKeDauSach.Ngay           = today;
                        thongKeDauSach.SoLuongHienTai = dauSachUpdated.SoLuongTon;
                        db.ThongKeDauSach.Add(thongKeDauSach);
                    }
                    db.SaveChanges();
                    chiTietMuon.CuonSachID  = cuonSachMuon.ID;
                    chiTietMuon.PhieuMuonID = phieuMuonUpdate.ID;
                    chiTietMuon.TinhTrang   = 0;
                    db.ChiTietMuon.Add(chiTietMuon);
                    phieuMuonUpdate.TongSoLuongMuon = phieuMuonUpdate.TongSoLuongMuon + 1;
                    db.SaveChanges();
                }
            }
            return(View(phieuMuonUpdate));
        }
Esempio n. 6
0
        public JsonResult ChiTietPhieuMuon(PhieuMuonModel phieuMuonJSON)
        {
            DocGia docGiaMuon = phieuMuonJSON.DocGia;
            ICollection <CuonSach> dsCuonSachMuon = phieuMuonJSON.dsCuonSach;
            PhieuMuon PhieuMuon = new PhieuMuon();

            PhieuMuon.DocGiaID = docGiaMuon.ID;
            PhieuMuon.NgayMuon = DateTime.Now;
            if (docGiaMuon.Loai == 1)
            {
                PhieuMuon.NgayHetHan = PhieuMuon.NgayMuon.AddDays(20);
            }
            else
            {
                PhieuMuon.NgayHetHan = PhieuMuon.NgayMuon.AddDays(30);
            }
            PhieuMuon.NhanVienID = 1;
            PhieuMuon.TinhTrang  = 0;
            db.PhieuMuon.Add(PhieuMuon);
            db.SaveChanges();
            PhieuMuon.MaPhieuMuon = "PM" + PhieuMuon.ID;
            db.SaveChanges();
            foreach (CuonSach cuonSachMuon in dsCuonSachMuon)
            {
                ChiTietMuon chiTietMuon    = new ChiTietMuon();
                DauSach     dauSachUpdated = db.DauSach.Find(cuonSachMuon.DauSachID);
                //Cập nhật lại tình trạng cuốn sách
                CuonSach cuonSachUpdated = db.CuonSach.Find(cuonSachMuon.ID);
                cuonSachUpdated.TinhTrang = 1;
                //Cập nhật lại số lượng còn lại của độc giả
                DocGia docGiaUpdated = db.DocGia.Find(docGiaMuon.ID);
                docGiaUpdated.SoSachConLai = docGiaUpdated.SoSachConLai - 1;
                //gán biến dauSachUpdated vào db Dau Sach
                db.DauSach.Attach(dauSachUpdated);
                dauSachUpdated.SoLuongTon = dauSachUpdated.SoLuongTon - 1;
                db.SaveChanges();
                //db.Entry(dauSachUpdated).State = System.Data.Entity.EntityState.Modified;
                ThongKeDauSach thongKeDauSach = new ThongKeDauSach();
                DateTime       today          = DateTime.Now;
                if (db.ThongKeDauSach.Any(a =>
                                          a.DauSachID == cuonSachMuon.DauSachID &&
                                          a.Ngay.Day == today.Day &&
                                          a.Ngay.Month == today.Month &&
                                          a.Ngay.Year == today.Year))
                {
                    thongKeDauSach = db.ThongKeDauSach.Where(a =>
                                                             a.DauSachID == cuonSachMuon.DauSachID &&
                                                             a.Ngay.Day == today.Day &&
                                                             a.Ngay.Month == today.Month &&
                                                             a.Ngay.Year == today.Year).FirstOrDefault();
                    db.ThongKeDauSach.Attach(thongKeDauSach);
                    thongKeDauSach.SoLuongHienTai  = dauSachUpdated.SoLuongTon;
                    db.Entry(thongKeDauSach).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    thongKeDauSach.DauSachID      = cuonSachMuon.DauSachID;
                    thongKeDauSach.Ngay           = today;
                    thongKeDauSach.SoLuongHienTai = dauSachUpdated.SoLuongTon;
                    db.ThongKeDauSach.Add(thongKeDauSach);
                }
                db.SaveChanges();
                chiTietMuon.CuonSachID  = cuonSachMuon.ID;
                chiTietMuon.PhieuMuonID = PhieuMuon.ID;
                chiTietMuon.TinhTrang   = 0;
                db.ChiTietMuon.Add(chiTietMuon);
                PhieuMuon.TongSoLuongMuon = PhieuMuon.TongSoLuongMuon + 1;
                cuonSachMuon.TinhTrang    = 1;
                db.SaveChanges();
            }
            var responsePhieuMuon = db.PhieuMuon.Select(c =>
                                                        new
            {
                ID              = c.ID,
                MaPhieuMuon     = c.MaPhieuMuon,
                NgayHetHan      = c.NgayHetHan,
                NgayMuon        = c.NgayMuon,
                NhanVienID      = c.NhanVienID,
                TongSoLuongMuon = c.TongSoLuongMuon,
                TinhTrang       = c.TinhTrang,
                DocGia          = c.DocGia,
                DocGiaID        = c.DocGiaID,
                dsChiTietMuon   = db.ChiTietMuon.Select(ctm =>
                                                        new
                {
                    CuonSach    = ctm.CuonSach,
                    PhieuMuonID = ctm.PhieuMuonID,
                    TinhTrang   = ctm.TinhTrang
                })
                                  .Where(d => d.PhieuMuonID == c.ID)
            }).Where(e => e.ID == PhieuMuon.ID).FirstOrDefault();

            return(new JsonResult()
            {
                Data = responsePhieuMuon, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }