/// <summary> /// hàm thực hiện xóa 1 bài viết khỏi CSDL /// </summary> /// <param name="maBV"></param> public void xoaBaiViet(int maBV) { try { qlCaPheEntities db = new qlCaPheEntities(); int kqLuu = 0; baiViet bv = db.baiViets.SingleOrDefault(b => b.maBaiViet == maBV); if (bv != null) { db.baiViets.Remove(bv); kqLuu = db.SaveChanges(); if (kqLuu > 0) { xulyChung.ghiNhatKyDtb(3, "Bài viết \"" + xulyDuLieu.traVeKyTuGoc(bv.tenBaiViet) + " \""); } } else { throw new Exception("Bài viết có mã " + maBV.ToString() + " không tồn tại để xóa"); } } catch (Exception ex) { xulyFile.ghiLoi("Class: BaiVietController - Function: xoaBaiViet", ex.Message); Response.Redirect(xulyChung.layTenMien() + "/Home/PageNotFound"); } }
public ActionResult bv_ChinhSuaBaiViet(FormCollection f, HttpPostedFileBase fileUpload) { string ndThongBao = ""; int kqLuu = 0; if (xulyChung.duocCapNhat(idOfPage, "7")) { baiViet bvSua = new baiViet(); qlCaPheEntities db = new qlCaPheEntities(); try { int maBV = Convert.ToInt32(f["txtMaBV"]); bvSua = db.baiViets.SingleOrDefault(b => b.maBaiViet == maBV); if (bvSua != null) { this.doDuLieuLenView(bvSua); this.layDuLieuTuView(bvSua, f, fileUpload); db.Entry(bvSua).State = System.Data.Entity.EntityState.Modified; kqLuu = db.SaveChanges(); if (kqLuu > 0) { xulyChung.ghiNhatKyDtb(4, "Bài viết \" " + xulyDuLieu.traVeKyTuGoc(bvSua.tenBaiViet) + " \""); return(RedirectToAction("bv_TableBaiVietChoDuyet")); } } } catch (Exception ex) { ndThongBao = ex.Message; xulyFile.ghiLoi("Class: BaiVietController - Function: bv_ChinhSuaBaiViet", ex.Message); this.doDuLieuLenView(bvSua); } ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao); } return(View()); }
public ActionResult bv_TaoMoiBaiViet(baiViet bv, FormCollection f, HttpPostedFileBase fileUpload) { string ndThongBao = ""; int kqLuu = 0; if (xulyChung.duocCapNhat(idOfPage, "7")) { try { qlCaPheEntities db = new qlCaPheEntities(); this.layDuLieuTuView(bv, f, fileUpload); bv.ngayTao = DateTime.Now; bv.nguoiTao = ((taiKhoan)Session["login"]).tenDangNhap; bv.hienTrangChu = false; db.baiViets.Add(bv); kqLuu = db.SaveChanges(); if (kqLuu > 0) { ndThongBao = createHTML.taoNoiDungThongBao("Bài viết", xulyDuLieu.traVeKyTuGoc(bv.tenBaiViet), "bv_TableBaiVietChoDuyet"); ViewBag.HinhDD = "/images/image-gallery/1.jpg"; xulyChung.ghiNhatKyDtb(2, "Bài viết \" " + xulyDuLieu.traVeKyTuGoc(bv.tenBaiViet) + " \""); } } catch (Exception ex) { ndThongBao = ex.Message; xulyFile.ghiLoi("Class: BaiVietController - Function: bv_TaoMoiBaiViet_Post", ex.Message); doDuLieuLenView(bv); } ViewBag.ThongBao = createHTML.taoThongBaoLuu(ndThongBao); } return(View()); }
/// <summary> /// Hàm tạo nút chức năng cho từng row trong table danh sách bài viết /// </summary> /// <param name="trangThai">Trạng thái danh sách bài viết cần lấy</param> /// <param name="bv">Object chứa thông tin bài viết</param> /// <returns>Trả về chuỗ html tạo 1 button chức năng</returns> private string taoNutChucNangTable(int trangThai, baiViet bv) { string htmlTable = ""; htmlTable += " <div class=\"btn-group\">"; htmlTable += " <button type=\"button\" class=\"btn btn-primary dropdown-toggle\" data-toggle=\"dropdown\" aria-expanded=\"true\">"; htmlTable += " Chức năng <span class=\"caret\"></span>"; htmlTable += " </button>"; htmlTable += " <ul class=\"dropdown-menu\" role=\"menu\">"; htmlTable += createTableData.taoNutChinhSua("/BaiViet/bv_ChinhSuaBaiViet", bv.maBaiViet.ToString()); if (trangThai == 0 || trangThai == 2) //---Nếu trạng thái Đã tạo hoặc đã gở thì được phép Duyệt = 1 { htmlTable += createTableData.taoNutCapNhat("/BaiViet/capNhatTrangThai", bv.maBaiViet.ToString() + "&1", "col-orange", "spellcheck", "Đăng bài"); } else if (trangThai == 1) { //---Nếu trạng thái đã duyệt thì cập nhật thành GỞ BỎ = 2 if (bv.hienTrangChu == false) { htmlTable += createTableData.taoNutCapNhat("/BaiViet/dangTrangChu", bv.maBaiViet.ToString(), "col-green", "home", "Đăng trang chủ"); } else { htmlTable += createTableData.taoNutCapNhat("/BaiViet/dangTrangChu", bv.maBaiViet.ToString(), "col-green-grey", "home", "Gở trang chủ"); } htmlTable += createTableData.taoNutCapNhat("/BaiViet/capNhatTrangThai", bv.maBaiViet.ToString() + "&2", "col-orange", "spellcheck", "Gở bỏ"); } htmlTable += createTableData.taoNutXoaBo(bv.maBaiViet.ToString()); htmlTable += " </ul>"; htmlTable += " </div>"; return(htmlTable); }
/// <summary> /// Hàm thực hiện đổ dữ liệu có trong baiViet lên giao diện /// </summary> /// <param name="bv"></param> private void doDuLieuLenView(baiViet bv) { ViewBag.txtMaBV = bv.maBaiViet.ToString(); ViewBag.txtTenBaiViet = xulyDuLieu.traVeKyTuGoc(bv.tenBaiViet); ViewBag.txtTomTat = xulyDuLieu.traVeKyTuGoc(bv.noiDungTomTat); ViewBag.txtLoaiTin = xulyDuLieu.traVeKyTuGoc(bv.loaiTin); ViewBag.txtGhiChu = xulyDuLieu.traVeKyTuGoc(bv.ghiChu); ViewBag.txtNoiDungBV = xulyDuLieu.traVeKyTuGoc(bv.noiDungBaiViet); if (bv.hinhDD != null) { ViewBag.HinhDD = string.Format("data:image/png;base64, {0}", Convert.ToBase64String(bv.hinhDD)); } }
/// <summary> /// hàm thực hiện lấy dữ liệu từ giao diện gán cho các thuộc tính của baiViet /// </summary> /// <param name="bv"></param> /// <param name="f"></param> /// <param name="fileUpLoad"></param> private void layDuLieuTuView(baiViet bv, FormCollection f, HttpPostedFileBase fileUpLoad) { string loi = ""; bv.tenBaiViet = xulyDuLieu.xulyKyTuHTML(f["txtTenBaiViet"]); if (bv.tenBaiViet.Length <= 0) { loi += "Vui lòng nhập tiêu đề bài viết<br/>"; } bv.noiDungTomTat = xulyDuLieu.xulyKyTuHTML(f["txtTomTat"]); if (bv.noiDungTomTat.Length <= 0) { loi += "Vui lòng nhập nội dung tóm tắt cho bài viết<br/>"; } bv.loaiTin = xulyDuLieu.xulyKyTuHTML(f["txtLoaiTin"]); if (bv.loaiTin.Length <= 0) { loi += "Vui lòng nhập loại bài viết cho bài viết<br/>"; } bv.ghiChu = xulyDuLieu.xulyKyTuHTML(f["txtGhiChu"]); bv.noiDungBaiViet = xulyDuLieu.xulyKyTuHTML(f["txtNoiDungBV"]); if (bv.noiDungBaiViet.Length <= 0) { loi += "Vui lòng nhập nội dung cho bài viết<br/>"; } bv.trangThai = 0; bv.ngayDang = null; if (fileUpLoad != null)//Nếu đã chọn hình ảnh { var fileName = Path.GetFileName(fileUpLoad.FileName); //Đường dẫn vào thư mục tạm trên host string folder = Server.MapPath("~/pages/temp/baiViet"); //Đường dẫn tới file hình trong thư mục tạm var path = Path.Combine(folder, fileName); //Lưu hình vào thư mục tạm chờ convert fileUpLoad.SaveAs(path); bv.hinhDD = xulyDuLieu.chuyenDoiHinhSangByteArray(path); //--Xóa tập hình trong thư mục tạm xulyFile.donDepTM(folder); } if (loi.Length > 0) { throw new Exception(loi); } }
/// <summary> ///Hàm chuyện trạng thái thuộc tính của viết thành đăng trang chủ /// </summary> public void dangTrangChu() { if (xulyChung.duocCapNhat(idOfPage, "7")) { try { int kqLuu = 0; string param = xulyChung.nhanThamSoTrongSession(); //----param = maBV if (param.Length > 0) { int maBV = xulyDuLieu.doiChuoiSangInteger(param); qlCaPheEntities db = new qlCaPheEntities(); baiViet bvSua = db.baiViets.SingleOrDefault(s => s.maBaiViet == maBV); if (bvSua != null) { if (bvSua.trangThai == 1) //------Kiểm tra bài viết đã được duyệt { bvSua.hienTrangChu = !bvSua.hienTrangChu; //-----Cập nhật trạng thái ngược với trạng thái hiện tại db.Entry(bvSua).State = System.Data.Entity.EntityState.Modified; kqLuu = db.SaveChanges(); if (kqLuu > 0) { xulyChung.ghiNhatKyDtb(4, "Cập nhật trạng thái hiện trang chủ của bài viết \"" + xulyDuLieu.traVeKyTuGoc(bvSua.tenBaiViet) + "\""); Response.Redirect(xulyChung.layTenMien() + "/BaiViet/bv_TableBaiVietDaDuyet"); } } } else { throw new Exception("Bài viết cần cập nhật không tồn tại"); } } else { throw new Exception("không nhận được tham số"); } } catch (Exception ex) { xulyFile.ghiLoi("Class: BaiVietController - Function: capNhatTrangThai", ex.Message); Response.Redirect(xulyChung.layTenMien() + "/Home/ServerError"); } } }
/// <summary> /// Giao diện chi tiết bài viết /// </summary> /// <returns>Object chứa thuộc tính của 1 bài viết để hiện lên view</returns> public ActionResult ChiTietBaiViet(int?id) { baiViet bv = new baiViet(); try { bv = new qlCaPheEntities().baiViets.SingleOrDefault(b => b.maBaiViet == id); if (bv != null) { ViewBag.NoiDungBaiViet = xulyDuLieu.traVeKyTuGoc(bv.noiDungBaiViet); return(View(bv)); } } catch (Exception ex) { xulyFile.ghiLoi("Class: PublicPageController - Function: DanhSachBaiViet", ex.Message); return(RedirectToAction("ServerError", "Home")); } return(RedirectToAction("PageNotFound")); }
/// <summary> /// Hàm thực hiện cập nhật trạng thái của bài viết /// </summary> public void capNhatTrangThai() { if (xulyChung.duocCapNhat(idOfPage, "7")) { try { int kqLuu = 0; string param = xulyChung.nhanThamSoTrongSession(); //----param = maBV&trangThai if (param.Length > 0) { int maBV = xulyDuLieu.doiChuoiSangInteger(param.Split('&')[0]); int trangThai = xulyDuLieu.doiChuoiSangInteger(param.Split('&')[1]); if (trangThai == 1 || trangThai == 2) //Chỉ chấp nhận tham số trạng thái cập nhật là 1 hoặc 2 { qlCaPheEntities db = new qlCaPheEntities(); baiViet bvSua = db.baiViets.SingleOrDefault(b => b.maBaiViet == maBV); if (bvSua != null) { int trangThaiCu = (int)bvSua.trangThai; //Lưu lại trạng thái cũ để chuyển đến danh sách tương ứng if (trangThai == 1) //Nếu là đã duyệt thì cập nhật thêm ngày đăng { bvSua.ngayDang = DateTime.Now; } bvSua.trangThai = trangThai; db.Entry(bvSua).State = System.Data.Entity.EntityState.Modified; kqLuu = db.SaveChanges(); if (kqLuu > 0) { xulyChung.ghiNhatKyDtb(4, "Cập nhật trạng thái bài viết \" " + xulyDuLieu.traVeKyTuGoc(bvSua.tenBaiViet) + " \""); if (trangThaiCu == 0)//Chuyển đến danh sách bài viết chờ duyệt { Response.Redirect(xulyChung.layTenMien() + "/BaiViet/bv_TableBaiVietChoDuyet"); } else if (trangThaiCu == 1)//Chuyển đến danh sách bài viết đã duyệt. { Response.Redirect(xulyChung.layTenMien() + "/BaiViet/bv_TableBaiVietDaDuyet"); } else if (trangThaiCu == 2) //Chuyển đến danh sách bài viết bị gở { Response.Redirect(xulyChung.layTenMien() + "/BaiViet/bv_TableBaiVietBiGoBo"); } } } else { throw new Exception("Bài viết cần cập nhật không tồn tại"); } } else { throw new Exception("Trạng thái cần cập nhật không chính xác"); } } else { throw new Exception("không nhận được tham số"); } } catch (Exception ex) { xulyFile.ghiLoi("Class: BaiVietController - Function: capNhatTrangThai", ex.Message); Response.Redirect(xulyChung.layTenMien() + "/Home/ServerError"); } } }