public ActionResult Edit(int id) { var sql = $@"SELECT * FROM dbo.Tags"; var dtTags = DBLibs.GetDataBy_DataAdapter(sql, _cnn); ViewBag.DsTags = dtTags; sql = $@"SELECT id, title FROM News WHERE id <> {id} AND id NOT IN (SELECT related_news FROM News WHERE id = {id}) AND PublishAt BETWEEN {CLibs.DatetimeToTimestampOrgin(DateTime.Now.AddMonths(-1))} AND {CLibs.DatetimeToTimestampOrgin(DateTime.Now)}"; var dtDsBaiViet = DBLibs.GetDataBy_DataAdapter(sql, _cnn); ViewBag.DsBaiViet = dtDsBaiViet; sql = $@"SELECT id, title FROM News WHERE id IN (SELECT related_news FROM News WHERE id = {id})"; var dtRelatedNews = DBLibs.GetDataBy_DataAdapter(sql, _cnn); ViewBag.DsBaiVietLienQuan = dtRelatedNews; #region Get item infos var dtInfos = DBLibs.GetDataBy_DataAdapter($@"SELECT TOP 1 * FROM News WHERE id = {id}", _cnn); ViewBag.Infos = dtInfos.Rows[0]; #endregion ViewBag.Images = $"{Server.MapPath(@"\")}UserData\\{SysBaseInfor.GetIdNguoiDung()}\\{id}"; ViewBag.Cates = Request["_cates"]; ViewBag.Id = id; return(View()); }
/// <summary> /// /// </summary> /// <param name="type">0: Images; 1: Documents</param> /// <param name="id"></param> /// <returns></returns> public ActionResult UploadFile(int type = 0, int id = 0) { bool isSavedSuccessfully = true; string fName = ""; var msg = ""; try { foreach (string fileName in Request.Files) { HttpPostedFileBase file = Request.Files[fileName]; //Save file content goes here //fName = file.FileName; if (file != null && file.ContentLength > 0) { var path = ""; if (type == 0) // images { path = Server.MapPath("~") + $"UserData/{SysBaseInfor.GetIdNguoiDung()}/{id}/"; } else if (type == 1) // documents { path = Server.MapPath("~") + $"TaiLieu/{id}/"; } var ext = Path.GetExtension(file.FileName); fName = file.FileName;// "FileDiemChuanBiDongBo" + ext; if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } if (System.IO.File.Exists(fName)) { System.IO.File.Delete(fName); } var fullpath = string.Format("{0}\\{1}", path, fName); file.SaveAs(fullpath); } } } catch (Exception ex) { isSavedSuccessfully = false; msg = ex.Message; } if (isSavedSuccessfully) { return(Json(new { Message = fName })); } else { return(Json(new { Message = msg })); } }
public ActionResult Index() { var dtBaiGiang = DBLibs.GetDataBy_DataAdapter($@" SELECT bg.*, dt.TenDotThi FROM dbo.BaiGiang bg LEFT OUTER JOIN DotThi dt ON dt.id = bg.idDotThi WHERE idGvienChinh = {SysBaseInfor.GetIdNguoiDung()} ORDER BY updated_at DESC", _cnn); ViewBag.DsBaiGiang = dtBaiGiang; return(View()); }
public JsonResult ChamBaiGiang(int _idbg = 0, int _diem = -1) { var stt = false; var msg = ""; #region Phân tích request/submit form (nếu có) if (_idbg == 0 || _diem < 0 || _diem > 100) { msg = "Sai ID bài giảng hoặc điểm sai định dạng!"; } else { #region Update var sql = $@" UPDATE BaiGiang SET Diem1 = {_diem} , -- Diem1 - int NgayChamDiem1 = '{CLibs.DatetimeToTimestampOrgin(DateTime.Now)}' -- NgayChamDiem1 - datetime WHERE id = {_idbg} AND idGiamKhao1 = {SysBaseInfor.GetIdNguoiDung()} UPDATE BaiGiang SET Diem2 = {_diem} , -- Diem2 - int NgayChamDiem2 = '{CLibs.DatetimeToTimestampOrgin(DateTime.Now)}' -- NgayChamDiem2 - datetime WHERE id = {_idbg} AND idGiamKhao2 = {SysBaseInfor.GetIdNguoiDung()}"; var eff = DBLibs.ExecuteNonQuery(sql, _cnn); if (eff > 0) { stt = true; } else { msg = "Không cập nhật dữ liệu được!"; } #endregion } #endregion return(Json(new { status = stt, message = msg })); }
public ActionResult Edit(int id) { #region Lấy ra các danh mục cho vào box chọn var sql = "SELECT * FROM DanhMucChung WHERE LoaiDanhMuc IN (3,4,5)"; var dtDanhMuc = DBLibs.GetDataBy_DataAdapter(sql, _cnn); var dtCoQuan = dtDanhMuc.Clone(); var dtLoaiVb = dtDanhMuc.Clone(); var dtLinhVuc = dtDanhMuc.Clone(); foreach (DataRow dr in dtDanhMuc.Rows) { if (dr["LoaiDanhMuc"].ToString() == "3") { dtCoQuan.ImportRow(dr); } else if (dr["LoaiDanhMuc"].ToString() == "4") { dtLoaiVb.ImportRow(dr); } else if (dr["LoaiDanhMuc"].ToString() == "5") { dtLinhVuc.ImportRow(dr); } } ViewBag.DsCoQuanBh = dtCoQuan; ViewBag.DsLoaiVanBan = dtLoaiVb; ViewBag.DsLinhVuc = dtLinhVuc; #endregion #region Get item infos var dtInfos = DBLibs.GetDataBy_DataAdapter($@"SELECT TOP 1 * FROM News WHERE id = {id}", _cnn); ViewBag.Infos = dtInfos.Rows[0]; #endregion ViewBag.Files = $"{Server.MapPath(@"\")}UserData\\{SysBaseInfor.GetIdNguoiDung()}\\{id}"; ViewBag.Id = id; return(View()); }
public ActionResult BaiGiangChuaCham() { var dtBaiGiang = DBLibs.GetDataBy_DataAdapter($@" SELECT bg.id, bg.TenBaiGiang, bg.submit_at, bg.FilePathBaiGiang, CASE WHEN bg.idGiamKhao1 = {SysBaseInfor.GetIdNguoiDung()} THEN bg.Diem1 ELSE CASE WHEN bg.idGiamKhao2 = {SysBaseInfor.GetIdNguoiDung()} THEN bg.Diem2 ELSE '' END END Diem, CASE WHEN bg.idGiamKhao1 = {SysBaseInfor.GetIdNguoiDung()} THEN bg.idGiamKhao1 ELSE CASE WHEN bg.idGiamKhao2 = {SysBaseInfor.GetIdNguoiDung()} THEN bg.idGiamKhao2 ELSE '' END END idGiamKhao, CASE WHEN bg.idGiamKhao1 = {SysBaseInfor.GetIdNguoiDung()} THEN bg.NgayChamDiem1 ELSE CASE WHEN bg.idGiamKhao2 = {SysBaseInfor.GetIdNguoiDung()} THEN bg.NgayChamDiem2 ELSE '' END END NgayChamDiem, dt.TenDotThi FROM dbo.BaiGiang bg LEFT OUTER JOIN DotThi dt ON dt.id = bg.idDotThi WHERE bg.idGiamKhao1 = {SysBaseInfor.GetIdNguoiDung()} OR bg.idGiamKhao2 = {SysBaseInfor.GetIdNguoiDung()} ORDER BY bg.updated_at DESC", _cnn); ViewBag.DsBaiGiang = dtBaiGiang; return(View()); }
public JsonResult Save( int id = 0, int status = 0, string _title = "", string _slug = "", string _thumbnail = "", string _sapo = "", string _content = "", string _related = "", string _cates = "", string _cates_slug = "", string _tags = "", string _tags_slug = "", string _meta_keywords = "", string _meta_description = "") { var stt = false; var msg = ""; #region Phân tích request/submit form (nếu có) if (_title == null || _title.Trim() == "") { msg = "Tên gian hàng không được để trống"; } if (_slug == null || _slug.Trim() == "") { msg = "Slug không được để trống"; } else { if (id < 1) { #region Thêm bài viết var exited = DBLibs.ExecuteScalar($"SELECT COUNT(*) FROM News WHERE slug = N'{_slug.Replace("'", "''").Trim()}' OR title = N'{_title.Replace("'", "''").Trim()}'", _cnn); if (exited != null && int.Parse(exited.ToString()) > 0) { return(Json(new { status = false, message = "Đã có bài viết có cùng tiêu đề hoặc url!" })); } var newid = DBLibs.ExecuteScalar($@" INSERT INTO dbo.News ( Slug , UnitId , Title , Thumbnail , Summary , FullContent , related_news , Cates , Tags , Status , CreatedAt , CreatedBy , PublishAt, meta_keywords , meta_descriptions ) VALUES ( '{_slug.Replace("'", "''").Trim()}' , -- Slug - varchar(250) {SysBaseInfor.GetCurrentUnitId()} , -- UnitId - int N'{_title.Replace("'", "''").Trim()}' , -- Title - nvarchar(200) N'{_thumbnail.Replace("'", "''").Trim()}' , -- Thumbnail - nvarchar(500) N'{_sapo.Replace("'", "''").Trim()}' , -- Summary - nvarchar(1000) N'{_content.Replace("'", "''").Trim()}' , -- FullContent - ntext N'{_related.Replace("'", "''").Trim()}' , -- related_news - nvarchar(45) N'{_cates.Replace("'", "''").Trim()}' , -- Cates - nvarchar(1000) N'{_tags.Replace("'", "''").Trim()}' , -- Tags - nvarchar(1000) {status} , -- Status - tinyint {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} , -- CreatedAt - int {(status == 1 ? CLibs.DatetimeToTimestampOrgin(DateTime.Now) : 0)} , -- PublishAt - int {SysBaseInfor.GetIdNguoiDung()} , -- CreatedBy - int N'{_meta_keywords.Replace("'", "''").Trim()}' , -- meta_keywords - nvarchar(50) N'{_meta_description.Replace("'", "''").Trim()}' -- meta_descriptions - nvarchar(550) ) SELECT SCOPE_IDENTITY() ", _cnn); int.TryParse(newid == null ? "0" : newid.ToString(), out id); if (newid != null) { stt = true; } else { msg = "Không thêm dữ liệu vào được!"; } #endregion } else { #region Update bài viết var exited = DBLibs.ExecuteScalar($"SELECT COUNT(*) FROM News WHERE id <> {id} AND (slug = N'{_slug.Replace("'", "''").Trim()}' OR title = N'{_title.Replace("'", "''").Trim()}')", _cnn); if (exited != null && int.Parse(exited.ToString()) > 0) { return(Json(new { status = false, message = "Đã có bài viết có cùng tiêu đề hoặc url!" })); } var eff = DBLibs.ExecuteNonQuery($@" UPDATE News SET Slug = '{_slug.Replace("'", "''").Trim()}' , -- Slug - varchar(250) Title = N'{_title.Replace("'", "''").Trim()}' , -- Title - nvarchar(200) Thumbnail = N'{_thumbnail.Replace("'", "''").Trim()}' , -- Thumbnail - nvarchar(500) Summary = N'{_sapo.Replace("'", "''").Trim()}' , -- Summary - nvarchar(1000) FullContent = N'{_content.Replace("'", "''").Trim()}' , -- FullContent - ntext related_news = N'{_related.Replace("'", "''").Trim()}' , -- related_news - nvarchar(45) Cates = N'{_cates.Replace("'", "''").Trim()}' , -- Cates - nvarchar(1000) Tags = N'{_tags.Replace("'", "''").Trim()}' , -- Tags - nvarchar(1000) Status = {status} , -- Status - tinyint UpdatedAt = {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} , -- UpdatedAt - int PublishAt = {(status == 1 ? CLibs.DatetimeToTimestampOrgin(DateTime.Now) : 0)} , -- PublishAt - int UpdatedBy = {SysBaseInfor.GetIdNguoiDung()} , -- UpdatedBy - int meta_keywords = N'{_meta_keywords.Replace("'", "''").Trim()}' , -- meta_keywords - nvarchar(50) meta_descriptions = N'{_meta_description.Replace("'", "''").Trim()}' -- meta_descriptions - nvarchar(550) WHERE id = {id}", _cnn); if (eff > 0) { stt = true; } else { msg = "Không cập nhật dữ liệu được!"; } #endregion } #region Cache lại ảnh trong bài viết var h = new WebLibs.HttpRequest(); foreach (Match m in Regex.Matches(_content, "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { string src = m.Groups[1].Value.Trim(); if (src.StartsWith("/UserData/")) { continue; } if (!src.ToLower().StartsWith(Request.Url.Host.ToLower())) { var path = Server.MapPath("~") + $"UserData/{SysBaseInfor.GetIdNguoiDung()}/{id}/"; var fullpath = path + CLibs.GenPassCode(false, 12); fullpath += (src.Contains(".jpg") || src.Contains(".jpeg") || src.Contains(".gif") || src.Contains(".png") ? src.Substring(src.LastIndexOf('.')).Trim() : ".jpg"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } h.DownloadFileFullToDisk(src.Replace("&", "&"), fullpath); var dest = fullpath.Replace(Server.MapPath("~"), "/"); _content = _content.Replace(src, dest); } } foreach (Match m in Regex.Matches(_content, "<img.+?rel=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { string src = m.Groups[1].Value.Trim(); if (src.StartsWith("/UserData/")) { continue; } if (!src.ToLower().StartsWith(Request.Url.Host.ToLower())) { var path = Server.MapPath("~") + $"UserData/{SysBaseInfor.GetIdNguoiDung()}/{id}/"; var fullpath = path + CLibs.GenPassCode(false, 12); fullpath += (src.Contains(".jpg") || src.Contains(".jpeg") || src.Contains(".gif") || src.Contains(".png") ? src.Substring(src.LastIndexOf('.')).Trim() : ".jpg"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } h.DownloadFileFullToDisk(src.Replace("&", "&"), fullpath); var dest = fullpath.Replace(Server.MapPath("~"), "/"); _content = _content.Replace(src, dest); } } foreach (Match m in Regex.Matches(_content, "<img.+?data-original=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { string src = m.Groups[1].Value.Trim(); if (src.StartsWith("/UserData/")) { continue; } if (!src.ToLower().StartsWith(Request.Url.Host.ToLower())) { var path = Server.MapPath("~") + $"UserData/{SysBaseInfor.GetIdNguoiDung()}/{id}/"; var fullpath = path + CLibs.GenPassCode(false, 12); fullpath += (src.Contains(".jpg") || src.Contains(".jpeg") || src.Contains(".gif") || src.Contains(".png") ? src.Substring(src.LastIndexOf('.')).Trim() : ".jpg"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } h.DownloadFileFullToDisk(src.Replace("&", "&"), fullpath); var dest = fullpath.Replace(Server.MapPath("~"), "/"); _content = _content.Replace(src, dest); } } DBLibs.ExecuteNonQuery($"UPDATE News SET FullContent = N'{_content.Replace("'", "''").Trim()}' WHERE id = {id}", _cnn); #endregion #region Update/Insert tags var tags = _tags.Split(','); var tags_slug = _tags_slug.Split(','); var cates = (_cates == "0" ? "" : _cates).Split(','); var cates_slug = (_cates_slug == "0" ? "" : _cates_slug).Split(','); for (int i = 0; i < tags.Length; i++) { if (tags_slug[i].Trim(" -".ToCharArray()).ToLower() == "") { continue; } DBLibs.ExecuteNonQuery($@" BEGIN TRAN UPDATE Tags WITH (SERIALIZABLE) SET [used] = ([used] + 1) WHERE slug = '{tags_slug[i].Trim(" -".ToCharArray()).ToLower()}' IF @@rowcount = 0 BEGIN INSERT INTO Tags ([name], [slug], created_at) VALUES (N'{tags[i].Trim(" -".ToCharArray()).ToLower()}', '{tags_slug[i].Trim(" -".ToCharArray()).ToLower()}', {CLibs.DatetimeToTimestampOrgin(DateTime.Now)}) END COMMIT TRAN ", _cnn); } for (int i = 0; i < cates.Length; i++) { if (cates_slug[i].Trim(" -".ToCharArray()).ToLower() == "") { continue; } DBLibs.ExecuteNonQuery($@" BEGIN TRAN UPDATE Tags WITH (SERIALIZABLE) SET [used] = ([used] + 1) WHERE slug = '{cates_slug[i].Trim(" -".ToCharArray()).ToLower()}' IF @@rowcount = 0 BEGIN INSERT INTO Tags ([name], [slug], created_at) VALUES (N'{cates[i].Trim(" -".ToCharArray()).ToLower()}', '{cates_slug[i].Trim(" -".ToCharArray()).ToLower()}', {CLibs.DatetimeToTimestampOrgin(DateTime.Now)}) END COMMIT TRAN ", _cnn); } #endregion } #endregion return(Json(new { status = stt, message = msg })); }
public JsonResult Save( int id = 0, int _coquan = 0, int _status = 1, int _loaivb = 0, int _linhvuc = 0, int _tinhtrang = 0, string _trichyeu = "", string _summary = "", string _trichyeu_slug = "", string _sovb = "", string _kyhieu = "", string _ngaybanhanh = "") { var stt = false; var msg = ""; var new_id = 0; #region Phân tích request/submit form (nếu có) if (_trichyeu == null || _trichyeu.Trim() == "" || _trichyeu_slug == null || _trichyeu_slug.Trim() == "") { msg = "Nội dung trích yếu cho văn bản không được để trống"; } else { if (_ngaybanhanh == "") { _ngaybanhanh = DateTime.Now.ToString("dd/MM/yyyy"); } var tmp = DateTime.Now; if (!DateTime.TryParseExact(_ngaybanhanh, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out tmp)) { _ngaybanhanh = DateTime.Now.ToString("dd/MM/yyyy"); } if (id < 1) { #region Thêm thông tin văn bản //var exited = DBLibs.ExecuteScalar($"SELECT COUNT(*) FROM News WHERE slug = N'{_slug.Replace("'", "''").Trim()}' OR title = N'{_title.Replace("'", "''").Trim()}'", _cnn); //if (exited != null && int.Parse(exited.ToString()) > 0) //{ // return Json(new // { // status = false, // message = "Đã có văn bản có cùng nội dung trích yếu hoặc url!" // }); //} var newid = DBLibs.ExecuteScalar($@" INSERT INTO dbo.News ( Slug , UnitId , Title , Summary , Cates , Type , Status , CreatedAt , CreatedBy , PublishAt , vb_coquan , vb_loaivb , vb_linhvuc , vb_tinhtrang , vb_sovb , vb_kyhieu , vb_ngaybanhanh ) VALUES ( '{_trichyeu_slug.Replace("'", "''").Trim()}' , -- Slug - varchar(250) {SysBaseInfor.GetCurrentUnitId()} , -- UnitId - int N'{_trichyeu.Replace("'", "''").Trim()}' , -- Title - nvarchar(200) N'{_summary.Replace("'", "''").Trim()}' , -- Summary - nvarchar(1000) N'Văn bản' , -- Cates - nvarchar(1000) 1 , -- Type - tinyint 1 , -- Status - tinyint {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} , -- CreatedAt - int {SysBaseInfor.GetIdNguoiDung()} , -- CreatedBy - int {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} , -- PublishAt - int {_coquan} , -- vb_coquan - int {_loaivb} , -- vb_loaivb - int {_linhvuc} , -- vb_linhvuc - int {_tinhtrang} , -- vb_tinhtrang - int N'{_sovb.Replace("'", "''").Trim()}' , -- vb_sovb - nvarchar(200) N'{_kyhieu.Replace("'", "''").Trim()}' , -- vb_kyhieu - nvarchar(200) {CLibs.DatetimeToTimestampOrgin(DateTime.ParseExact(_ngaybanhanh, "dd/MM/yyyy", CultureInfo.InvariantCulture))} -- vb_ngaybanhanh - int ) SELECT SCOPE_IDENTITY() ", _cnn); int.TryParse(newid == null ? "0" : newid.ToString(), out id); if (newid != null) { stt = true; new_id = id; } else { msg = "Không thêm dữ liệu vào được!"; } #endregion } else { #region Update thông tin văn bản //var exited = DBLibs.ExecuteScalar($"SELECT COUNT(*) FROM News WHERE id <> {id} AND (slug = N'{_slug.Replace("'", "''").Trim()}' OR title = N'{_title.Replace("'", "''").Trim()}')", _cnn); //if (exited != null && int.Parse(exited.ToString()) > 0) //{ // return Json(new // { // status = false, // message = "Đã có bài viết có cùng tiêu đề hoặc url!" // }); //} var eff = DBLibs.ExecuteNonQuery($@" UPDATE News SET Slug = '{_trichyeu_slug.Replace("'", "''").Trim()}' , -- Slug - varchar(250) Title = N'{_trichyeu.Replace("'", "''").Trim()}' , -- Title - nvarchar(200) Summary = N'{_summary.Replace("'", "''").Trim()}' , -- Summary - nvarchar(1000) Status = {_status} , -- Status - tinyint UpdatedAt = {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} , -- UpdatedAt - int PublishAt = {CLibs.DatetimeToTimestampOrgin(DateTime.Now)} , -- PublishAt - int UpdatedBy = {SysBaseInfor.GetIdNguoiDung()} , -- UpdatedBy - int vb_coquan = {_coquan} , -- vb_coquan - int vb_loaivb = {_loaivb} , -- vb_loaivb - int vb_linhvuc = {_linhvuc} , -- vb_linhvuc - int vb_tinhtrang = {_tinhtrang} , -- vb_tinhtrang - int vb_sovb = N'{_sovb.Replace("'", "''").Trim()}' , -- vb_sovb - nvarchar(200) vb_kyhieu = N'{_kyhieu.Replace("'", "''").Trim()}' , -- vb_kyhieu - nvarchar(200) vb_ngaybanhanh = {CLibs.DatetimeToTimestampOrgin(DateTime.ParseExact(_ngaybanhanh, "dd/MM/yyyy", CultureInfo.InvariantCulture))} -- vb_ngaybanhanh - int WHERE id = {id}", _cnn); if (eff > 0) { stt = true; } else { msg = "Không cập nhật dữ liệu được!"; } #endregion } } #endregion return(Json(new { status = stt, newid = new_id, message = msg })); }
public JsonResult Delete(int id) { var stt = false; var msg = ""; #region Kiểm tra quyền được xóa (chỉ admin & người tạo mới xóa được) if ( SysBaseInfor.GetCurrentUserName().StartsWith("admin@") || int.Parse(DBLibs.ExecuteScalar($"SELECT COUNT(*) FROM TaiLieu WHERE id = {id} AND CreatedBy = '{SysBaseInfor.GetCurrentUserId()}'", _cnn).ToString()) > 0) { #region Xóa các file ảnh try { var path_imgs = Server.MapPath("~") + $"UserData/{SysBaseInfor.GetIdNguoiDung()}/{id}/"; var di = new DirectoryInfo(path_imgs); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); } } catch { } #endregion #region Xóa các file tài liệu try { var path_docs = Server.MapPath("~") + $"TaiLieu/{id}/"; var di = new DirectoryInfo(path_docs); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); } } catch { } #endregion var eff = DBLibs.ExecuteNonQuery($"DELETE TaiLieu WHERE id = {id}", _cnn); if (eff < 1) { msg = "Lỗi không xác định, không xóa được tài liệu"; } else { stt = true; } } else { msg = "Không có quyền xóa tài liệu"; } #endregion return(Json(new { status = stt, message = msg }, JsonRequestBehavior.AllowGet)); }
public JsonResult Save( int id = 0, string _title = "", string _DateShow = "", string _DateHide = "", string _content = "", int status = 0) { var stt = false; var msg = ""; #region Phân tích request/submit form (nếu có) if (_title == null || _title.Trim() == "") { msg = "Tên tiêu đề không được để trống"; } else { if (id < 1) { #region Thêm bài viết var newid = DBLibs.ExecuteScalar($@" INSERT INTO dbo.NotifiPopup ( Title , DateShow , DateHide , FullContent , Status , ) VALUES ( N'{_title.Replace("'", "''").Trim()}' , '{ _DateShow.MapDate().ToString("yyyy-dd-MM")}' , '{_DateHide.MapDate().ToString("yyyy-dd-MM")}' , N'{_content.Replace("'", "''").Trim()}' , {status} ) SELECT SCOPE_IDENTITY() ", _cnn); int.TryParse(newid == null ? "0" : newid.ToString(), out id); if (newid != null) { stt = true; } else { msg = "Không thêm dữ liệu vào được!"; } #endregion } else { #region Update bài viết var exited = DBLibs.ExecuteScalar($"SELECT COUNT(*) FROM News WHERE id <> {id} AND (title = N'{_title.Replace("'", "''").Trim()}')", _cnn); if (exited != null && int.Parse(exited.ToString()) > 0) { return(Json(new { status = false, message = "Đã có bài viết có cùng tiêu đề !" })); } var eff = DBLibs.ExecuteNonQuery($@" UPDATE NotifiPopup SET Title = N'{_title.Replace("'", "''").Trim()}' , DateShow = '{_DateShow.MapDate().ToString("yyyy-dd-MM")}' , -- Title - nvarchar(200) DateHide = '{_DateHide.MapDate().ToString("yyyy-dd-MM")}' , -- Thumbnail - nvarchar(500) FullContent = N'{_content.Replace("'", "''").Trim()}' , -- FullContent - ntext Status = {status} WHERE id = {id}", _cnn); if (eff > 0) { stt = true; } else { msg = "Không cập nhật dữ liệu được!"; } #endregion } #region Cache lại ảnh trong bài viết var h = new WebLibs.HttpRequest(); foreach (Match m in Regex.Matches(_content, "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { string src = m.Groups[1].Value.Trim(); if (src.StartsWith("/UserData/")) { continue; } if (!src.ToLower().StartsWith(Request.Url.Host.ToLower())) { var path = Server.MapPath("~") + $"UserData\\{SysBaseInfor.GetIdNguoiDung()}\\{id}\\"; var fullpath = path + CLibs.GenPassCode(false, 12); fullpath += (src.Contains(".jpg") || src.Contains(".jpeg") || src.Contains(".gif") || src.Contains(".png") ? src.Substring(src.LastIndexOf('.')).Trim() : ".jpg"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } var base64Data = Regex.Match(src.Replace("&", "&"), @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value; var binData = Convert.FromBase64String(base64Data); using (var stream = new MemoryStream(binData)) { Bitmap bitmap = new Bitmap(stream); bitmap.Save(fullpath); } var dest = fullpath.Replace(Server.MapPath("~"), "\\").Replace("\\", "/"); _content = _content.Replace(src, dest); } } foreach (Match m in Regex.Matches(_content, "<input.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { string src = m.Groups[1].Value.Trim(); if (src.StartsWith("/UserData/")) { continue; } if (!src.ToLower().StartsWith(Request.Url.Host.ToLower())) { var path = Server.MapPath("~") + $"UserData\\{SysBaseInfor.GetIdNguoiDung()}\\{id}\\"; var fullpath = path + CLibs.GenPassCode(false, 12); fullpath += (src.Contains(".jpg") || src.Contains(".jpeg") || src.Contains(".gif") || src.Contains(".png") ? src.Substring(src.LastIndexOf('.')).Trim() : ".jpg"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } var base64Data = Regex.Match(src.Replace("&", "&"), @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value; var binData = Convert.FromBase64String(base64Data); using (var stream = new MemoryStream(binData)) { Bitmap bitmap = new Bitmap(stream); bitmap.Save(fullpath); } var dest = fullpath.Replace(Server.MapPath("~"), "\\").Replace("\\", "/"); _content = _content.Replace(src, dest); } } foreach (Match m in Regex.Matches(_content, "<img.+?rel=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { string src = m.Groups[1].Value.Trim(); if (src.StartsWith("/UserData/")) { continue; } if (!src.ToLower().StartsWith(Request.Url.Host.ToLower())) { var path = Server.MapPath("~") + $"UserData/{SysBaseInfor.GetIdNguoiDung()}/{id}/"; var fullpath = path + CLibs.GenPassCode(false, 12); fullpath += (src.Contains(".jpg") || src.Contains(".jpeg") || src.Contains(".gif") || src.Contains(".png") ? src.Substring(src.LastIndexOf('.')).Trim() : ".jpg"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } var base64Data = Regex.Match(src.Replace("&", "&"), @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value; var binData = Convert.FromBase64String(base64Data); using (var stream = new MemoryStream(binData)) { Bitmap bitmap = new Bitmap(stream); bitmap.Save(fullpath); } var dest = fullpath.Replace(Server.MapPath("~"), "\\").Replace("\\", "/"); _content = _content.Replace(src, dest); } } foreach (Match m in Regex.Matches(_content, "<img.+?data-original=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase | RegexOptions.Multiline)) { string src = m.Groups[1].Value.Trim(); if (src.StartsWith("/UserData/")) { continue; } if (!src.ToLower().StartsWith(Request.Url.Host.ToLower())) { var path = Server.MapPath("~") + $"UserData/{SysBaseInfor.GetIdNguoiDung()}/{id}/"; var fullpath = path + CLibs.GenPassCode(false, 12); fullpath += (src.Contains(".jpg") || src.Contains(".jpeg") || src.Contains(".gif") || src.Contains(".png") ? src.Substring(src.LastIndexOf('.')).Trim() : ".jpg"); if (!System.IO.Directory.Exists(path)) { System.IO.Directory.CreateDirectory(path); } var base64Data = Regex.Match(src.Replace("&", "&"), @"data:image/(?<type>.+?),(?<data>.+)").Groups["data"].Value; var binData = Convert.FromBase64String(base64Data); using (var stream = new MemoryStream(binData)) { Bitmap bitmap = new Bitmap(stream); bitmap.Save(fullpath); } var dest = fullpath.Replace(Server.MapPath("~"), "\\").Replace("\\", "/"); _content = _content.Replace(src, dest); } } DBLibs.ExecuteNonQuery($"UPDATE News SET FullContent = N'{_content.Replace("'", "''").Trim()}' WHERE id = {id}", _cnn); #endregion } #endregion return(Json(new { status = stt, message = msg }, JsonRequestBehavior.AllowGet)); }
public JsonResult Xoa_FileBaiGiang(string _filename = "") { var stt = false; var msg = ""; var fullPath = Path.Combine(Server.MapPath(@"\"), _diruploadpath.ToString(), SysBaseInfor.GetIdNguoiDung(), _filename); if (System.IO.File.Exists(fullPath)) { try { System.IO.File.Delete(fullPath); stt = true; } catch (Exception ex) { msg = ex.Message; } } return(Json(new { status = stt, message = msg })); }
public ActionResult UploadFiles(int id = 0) { if (id == 0) { return(Json(new { Message = "File bài giảng phải được gắn kết vào bài giảng cụ thể!" })); } bool isSavedSuccessfully = true; var fName = ""; try { foreach (string fileName in Request.Files) { HttpPostedFileBase file = Request.Files[fileName]; //Save file content goes here fName = file.FileName; if (file != null && file.ContentLength > 0) { var pathString = Path.Combine(Server.MapPath(@"\"), _diruploadpath.ToString(), SysBaseInfor.GetIdNguoiDung(), id.ToString()); if (!Directory.Exists(pathString)) { Directory.CreateDirectory(pathString); } var fullPath = string.Format("{0}\\{1}", pathString, file.FileName); try { if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } } catch { } file.SaveAs(fullPath); } } } catch (Exception ex) { isSavedSuccessfully = false; } if (isSavedSuccessfully) { return(Json(new { Message = "Đăng thành công bài giảng: " + fName })); } else { return(Json(new { Message = "Không đăng bài giảng lên được!" })); } }
public ActionResult Edit(int id) { #region Get item infos var dtInfos = DBLibs.GetDataBy_DataAdapter($@"SELECT TOP 1 * FROM BaiGiang WHERE id = {id}", _cnn); ViewBag.Infos = dtInfos.Rows[0]; #endregion #region Lấy danh sách các đợt thi còn hạn nộp var dtDotThi = DBLibs.GetDataBy_DataAdapter($@"SELECT * FROM DotThi WHERE ThoiHanNop > '{DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")}' ORDER BY ThoiHanNop DESC", _cnn); ViewBag.DotThi = dtDotThi; #endregion #region Lay danh sach file bai giang da duoc upload var pathString = Path.Combine(Server.MapPath(@"\"), _diruploadpath.ToString(), SysBaseInfor.GetIdNguoiDung(), id.ToString()); var dtFiles = new DataTable(); dtFiles.Columns.Add("TenFile"); dtFiles.Columns.Add("FilePath"); if (Directory.Exists(pathString)) { var dir = new DirectoryInfo(pathString); FileInfo[] files = dir.GetFiles(); foreach (FileInfo f in files) { var dr = dtFiles.NewRow(); dr["TenFile"] = f.Name; dr["FilePath"] = f.FullName.Replace(Server.MapPath(@"\"), "/"); dtFiles.Rows.Add(dr); } } ViewBag.DsFile = dtFiles; #endregion ViewBag.IdDm = id; return(View()); }