コード例 #1
0
        public ActionResult XemVanBan(int id)
        {
            if (KiemTraSession() == true)
            {
                return(RedirectToAction("DangNhap", "QuanTri"));
            }

            NhanVien   nv   = (NhanVien)Session["DangNhap"];
            DateTime   dNow = DateTime.Now.Date;
            LuotXemTai lxt  = db.LuotXemTais.SingleOrDefault(n => n.MaVanBan == id && n.NgayXT.Value == dNow);

            if (lxt == null)
            {
                LuotXemTai themLXT = new LuotXemTai();
                themLXT.MaVanBan = id;
                themLXT.NgayXT   = dNow;
                themLXT.LuotXem  = 1;
                themLXT.LuotTai  = 0;
                db.LuotXemTais.Add(themLXT);

                CT_LuotXemTai themct_luotxemtai = new CT_LuotXemTai(); // them tai lieu xem lan dau trong ngay
                themct_luotxemtai.MaLuotXemTai = themLXT.Id;
                themct_luotxemtai.IDNguoiDung  = nv.Id;
                themct_luotxemtai.Xem          = 1;
                themct_luotxemtai.Tai          = 0;
                db.CT_LuotXemTai.Add(themct_luotxemtai);
                db.SaveChanges();
            }
            else
            {
                lxt.LuotXem += 1;

                CT_LuotXemTai ct_luotxemtai = db.CT_LuotXemTai.SingleOrDefault(n => n.MaLuotXemTai == lxt.Id && n.IDNguoiDung == nv.Id);
                if (ct_luotxemtai == null) // them nguoi xem thu 2 >
                {
                    CT_LuotXemTai themct_luotxemtai = new CT_LuotXemTai();
                    themct_luotxemtai.MaLuotXemTai = lxt.Id;
                    themct_luotxemtai.IDNguoiDung  = nv.Id;
                    themct_luotxemtai.Xem          = 1;
                    themct_luotxemtai.Tai          = 0;
                    db.CT_LuotXemTai.Add(themct_luotxemtai);
                }
                else // cap nhat lan xem nguoi da xem
                {
                    ct_luotxemtai.Xem += 1;
                }

                db.SaveChanges();
            }

            TaiLieu layTaiLieu = db.TaiLieux.SingleOrDefault(n => n.MaTaiLieu == id);
            string  sUrl       = "/van-ban/" + Tools.RemoveDiacritics(layTaiLieu.TenTaiLieu) + "-" + id;

            return(Redirect(sUrl));
            //return RedirectToAction("ChiTietVanBan", "TrangChinh", new { @id = id });
        }
コード例 #2
0
        public ActionResult TaiVanBan(int id, string ng)
        {
            DateTime dNow         = DateTime.Now;
            Tools    tool         = new Tools();
            int      iGioiHanDown = int.Parse(db.CauHinhs.SingleOrDefault(n => n.MaCauHinh == "GH-DOWN").DuLieu);

            TaiLieu layTaiLieu = db.TaiLieux.SingleOrDefault(n => n.MaTaiLieu == id);
            string  sUrl       = "/van-ban/" + Tools.RemoveDiacritics(layTaiLieu.TenTaiLieu) + "-" + id;

            if (Session["DangNhap"] != null)
            {
                NhanVien nv = (NhanVien)Session["DangNhap"];

                int KT_ctluotXT = db.CT_LuotXemTai.Count(n => n.LuotXemTai.NgayXT == dNow.Date && n.IDNguoiDung == nv.Id && n.Tai > 0);                                // kiem tra trong ngay, nguoi nay da tai bao nhieu van ban
                int KT_daTai    = db.CT_LuotXemTai.Count(n => n.LuotXemTai.NgayXT == dNow.Date && n.IDNguoiDung == nv.Id && n.LuotXemTai.MaVanBan == id && n.Tai > 0); // kiem tra xem nguoi nay da tai tai lieu nay chua

                // BEGIN
                //var tmp = db.CT_LuotXemTai.Where(n => n.LuotXemTai.NgayXT == dNow.Date && n.IDNguoiDung == nv.Id && n.Tai > 0).FirstOrDefault();
                var tmp = db.CT_LuotXemTai.Where(n => n.LuotXemTai.NgayXT == dNow.Date && n.IDNguoiDung == nv.Id && n.Tai > 0).Select(x => x.Tai).Sum();
                if (tmp != null)
                {
                    //KT_ctluotXT = tmp.Tai.Value;
                    KT_ctluotXT = tmp.Value;
                }
                // END

                //if (KT_ctluotXT >= iGioiHanDown && KT_daTai == 0)
                if (KT_ctluotXT >= iGioiHanDown)
                {
                    if (Session["MailDown"] == null)
                    {
                        string sNguoiNhan = System.Configuration.ConfigurationManager.AppSettings["ReportDownMan"];
                        string sTieuDe    = System.Configuration.ConfigurationManager.AppSettings["ReportDownSubject"];
                        string html       = tool.RenderViewToString(ControllerContext, "~/Views/Shared/_MailThongBaoDownLoad.cshtml", nv, true);

                        tool.SendMail(html, sNguoiNhan, sTieuDe);
                        Session["MailDown"] = nv;
                    }

                    TempData["thongbao"] = "<script>$('#pthongbao').text('Vượt quá số lần tải cho phép!'); $('#btn-thongbao2').trigger('click');</script>";

                    return(Redirect(sUrl));
                }

                LuotXemTai lxt = db.LuotXemTais.SingleOrDefault(n => n.MaVanBan == id && n.NgayXT.Value == dNow.Date);
                if (lxt != null)
                {
                    lxt.LuotTai += 1;

                    CT_LuotXemTai ct_luotxemtai = db.CT_LuotXemTai.SingleOrDefault(n => n.MaLuotXemTai == lxt.Id && n.IDNguoiDung == nv.Id);
                    if (ct_luotxemtai != null) // sua nguoi tai
                    {
                        ct_luotxemtai.Tai += 1;
                    }

                    db.SaveChanges();
                }
                return(Redirect(ng));
            }
            TempData["thongbao"] = "<script>$('#pthongbao').text('Bạn chưa đăng nhập !'); $('#btn-thongbao2').trigger('click');</script>";

            return(Redirect(sUrl));
            //return RedirectToAction("ChiTietVanBan", "TrangChinh", new { @id = id });
        }