/// <summary> /// 基于jgGrid的分页 /// </summary> /// <param name="pg"></param> /// <param name="jq"></param> /// <returns></returns> public Tuple <int, List <SystemUser> > PageSystemUsers(PubPage pg, JqGridModel.JqGrid jq) { var queryable = BaseContext.Set <SystemUser>().AsQueryable(); if (!string.IsNullOrEmpty(pg.keyword)) { queryable = queryable.Where(c => c.Telephone == pg.keyword); } if (!string.IsNullOrEmpty(pg.startDate.ToString())) { queryable = queryable.Where(c => c.CreateTime >= pg.startDate); } if (!string.IsNullOrEmpty(pg.endDate.ToString())) { var dt = DateTimeHelper.EndDateTime(pg.endDate); queryable = queryable.Where(c => c.CreateTime <= dt); } var count = queryable.Count(); if (string.Equals(jq.sord, "ASC", StringComparison.CurrentCultureIgnoreCase)) { var list = queryable.OrderByz(jq.sidx).Skip(jq.rows * (jq.page - 1)).Take(jq.rows).ToList(); return(new Tuple <int, List <SystemUser> >(count, list)); } else { var list = queryable.OrderByDescendingz(jq.sidx).Skip(jq.rows * (jq.page - 1)).Take(jq.rows).ToList(); return(new Tuple <int, List <SystemUser> >(count, list)); } }
public ActionResult Restore(int id) { VerPage verPage = _db.Set <VerPage>().SingleOrDefault(e => e.VerId == id); if (verPage == null) { throw new Exception("Version is not found."); } CmsPage cmsPage = _db.Set <CmsPage>().SingleOrDefault(e => e.Id == verPage.Id); if (cmsPage != null) { CopyProperties(verPage, cmsPage); PubPage pubpage = _db.Set <PubPage>().SingleOrDefault(e => e.Id == verPage.Id); if (pubpage != null && pubpage.Modified == verPage.Modified) { cmsPage.Status = CmsPage.STATUS_NORMAL; } else { cmsPage.Status = CmsPage.STATUS_CHANGE_SAVED; } ((DbContext)_db).Entry(cmsPage).State = EntityState.Modified; _db.SaveChanges(); } return(Redirect(PageHelper.Goto(verPage.Id, _db))); }
public Tuple <int, List <SysLog> > PageBootstrap(PubPage pg, Bootstrap.BootstrapParams bbp) { var queryable = BaseContext.Set <SysLog>().AsQueryable(); if (!string.IsNullOrEmpty(pg.keyword)) { queryable = queryable.Where(c => c.LogMessage == pg.keyword); } if (!string.IsNullOrEmpty(pg.startDate.ToString())) { queryable = queryable.Where(c => c.CreateTime >= pg.startDate); } if (!string.IsNullOrEmpty(pg.endDate.ToString())) { var dt = DateTimeHelper.EndDateTime(pg.endDate); queryable = queryable.Where(c => c.CreateTime <= dt); } var count = queryable.Count(); if (string.Equals(bbp.order, "ASC", StringComparison.CurrentCultureIgnoreCase)) { var list = queryable.OrderByz(bbp.sort).Skip(bbp.offset).Take(bbp.limit).ToList(); return(new Tuple <int, List <SysLog> >(count, list)); } else { var list = queryable.OrderByDescendingz(bbp.sort).Skip(bbp.offset).Take(bbp.limit).ToList(); return(new Tuple <int, List <SysLog> >(count, list)); } }
public ActionResult RenderToExcel3(PubPage fg) { string sql = "select * from SystemUser"; var dt = _iSysUserServices.ToDataTable(sql, null); AsposeExcel.ToExcel(dt); return(Content("")); }
public ActionResult RenderToExcel2(PubPage fg) { string sql = "select * from SystemUser"; var dt = _iSysUserServices.ToDataTable(sql, null); NpoiHelper.ExportExcel(dt, "用户信息" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls"); return(Content("")); //return File("application/vnd.ms-excel", "用户信息" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls"); }
private void PublishDraft(CmsPage cmsPage) { int innerId = cmsPage.Id; PubPage pubPage = _db.Set <PubPage>().SingleOrDefault(e => e.Id == innerId); if (pubPage == null) { pubPage = new PubPage(); pubPage.Id = cmsPage.Id; _db.Set <PubPage>().Add(pubPage); } else { ((DbContext)_db).Entry(pubPage).State = EntityState.Modified; } pubPage.Type = cmsPage.Type; pubPage.Commentable = cmsPage.Commentable; pubPage.Hidden = cmsPage.Hidden; pubPage.Title = cmsPage.Title; pubPage.NaviTitle = cmsPage.NaviTitle; pubPage.Layout = cmsPage.Layout; pubPage.MenuOrder = cmsPage.MenuOrder; if (pubPage.Html == null) { pubPage.Html = new PubPageHtml(); } pubPage.Html.Content = cmsPage.Html.Content; pubPage.Html.Sidebar = cmsPage.Html.Sidebar; pubPage.Html.Header = cmsPage.Html.Header; pubPage.Description = cmsPage.Description; pubPage.Keywords = cmsPage.Keywords; pubPage.Layout = cmsPage.Layout; //pubPage.NaviNode = cmsPage.NaviNode; //don't save navi node to remove constraint pubPage.NaviNode = cmsPage.NaviNode; pubPage.NaviTitle = cmsPage.NaviTitle; pubPage.Modified = cmsPage.Modified; pubPage.ModifiedBy = cmsPage.ModifiedBy; pubPage.Created = cmsPage.Created; pubPage.CreatedBy = cmsPage.CreatedBy; pubPage.Url = cmsPage.Url; //db.SaveChanges(); //will be save later }
public ActionResult GetLogList(JqGridModel.JqGrid jq, PubPage fg) { if (jq.page == 0) { jq.page = 1; jq.rows = 10; jq.sidx = "CreateTime"; jq.sord = "DESC"; } var list = _iSysLogServices.PageSysLog(fg, jq); return(Json(JqGridModel.GridData(list.Item1, jq, list.Item2), JsonRequestBehavior.AllowGet)); }
public ActionResult GetLogList2(Bootstrap.BootstrapParams bbp, PubPage pg, string strParentID) { //var db = ContextFactory.GetCurrentContext(); //var queryable = db.Set<SysLog>().Where(c => c.CreateTime < DateTime.Now); //int total = queryable.Count(); //var list = queryable.OrderByz(bbp.sort) // .Skip(bbp.offset).Take(bbp.limit).ToList(); //bbp.order = "DESC"; //bbp.sort = "CreateTime"; //bbp.offset = 10; //bbp.limit = 10; var list = _iSysLogServices.PageBootstrap(pg, bbp); return(Json(Bootstrap.GridData(list.Item1, list.Item2), JsonRequestBehavior.AllowGet)); }
public ActionResult RenderToExcel(PubPage fg) { string sql = "select Telephone,Pwd from SystemUser"; var dt = _iSysUserServices.ToDataTable(sql, null); string[] Telephone = { "手机号", "密码" }; for (int i = 0; i < dt.Columns.Count; i++) { dt.Columns[i].ColumnName = Telephone[i]; } var ms = NpoiHelper.RenderToExcel(dt); var xlsx = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; var xls = "application/vnd.ms-excel"; return(File(ms, xls, "用户信息" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls")); }
private void PublishDraft(CmsPage cmsPage, CmsContext db) { int innerId = cmsPage.Id; PubPage pubPage = new PubPage(); pubPage.Id = cmsPage.Id; db.Set <PubPage>().Add(pubPage); pubPage.Title = cmsPage.Title; pubPage.NaviTitle = cmsPage.NaviTitle; pubPage.Layout = cmsPage.Layout; pubPage.MenuOrder = cmsPage.MenuOrder; if (pubPage.Html == null) { pubPage.Html = new PubPageHtml(); } pubPage.Html.Content = cmsPage.Html.Content; pubPage.Html.Sidebar = cmsPage.Html.Sidebar; pubPage.Html.Header = cmsPage.Html.Header; pubPage.Description = cmsPage.Description; pubPage.Keywords = cmsPage.Keywords; pubPage.Layout = cmsPage.Layout; pubPage.NaviNode = cmsPage.NaviNode; pubPage.NaviTitle = cmsPage.NaviTitle; pubPage.Modified = cmsPage.Modified; pubPage.ModifiedBy = cmsPage.ModifiedBy; pubPage.Created = cmsPage.Created; pubPage.CreatedBy = cmsPage.CreatedBy; pubPage.Url = cmsPage.Url; }
public ActionResult Do(string id, string act) { int internalId = CmsPage.FromFriendlyId(id); CmsPage page = _db.Set <CmsPage>().Single(e => e.Id == internalId); var accessMode = SecurityHelper.PageAccessMode(_db, page); bool isModified = false; switch (act) { #region delete case "delete": if (accessMode < PermissionType.Publish) { throw new Exception("Access Denided."); } NaviNode naviNode = page.NaviNode; int parentId = naviNode.Id; int numOfPages = _db.Set <CmsPage>().Where(x => x.NaviNode.Id == parentId).Count(); int numOfFolder = _db.Set <NaviNode>().Where(x => x.Parent.Id == parentId).Count(); if (numOfPages == 1 && numOfFolder == 0) { //delete both page and folder var pubPages = _db.Set <PubPage>().Where(e => e.NaviNode.Id == naviNode.Id).ToList(); var pages = _db.Set <CmsPage>().Where(e => e.NaviNode.Id == naviNode.Id).ToList(); ((DbSet <PubPage>)_db.Set <PubPage>()).RemoveRange(pubPages); ((DbSet <CmsPage>)_db.Set <CmsPage>()).RemoveRange(pages); _db.SaveChanges(); NaviNode toBeDeleted = naviNode; var naviParent = naviNode.Parent; _db.Set <NaviNode>().Remove(toBeDeleted); _db.SaveChanges(); naviNode = naviParent; } else { PubPage pubPage = _db.Set <PubPage>().SingleOrDefault(p => p.Id == page.Id); if (pubPage != null) { _db.Set <PubPage>().Remove(pubPage); } _db.Set <CmsPage>().Remove(page); _db.SaveChanges(); } CmsPage defaultPage = naviNode.Pages.OrderBy(pg => pg.MenuOrder).ThenBy(pg => pg.Id).FirstOrDefault(); while (defaultPage == null) { if (naviNode.Id == 1 || naviNode.Parent == null) { throw new Exception("Navigation Error"); } naviNode = naviNode.Parent; defaultPage = naviNode.Pages.OrderBy(pg => pg.MenuOrder).ThenBy(pg => pg.Id).FirstOrDefault(); } return(RedirectToAction("Page", "Cms", new { id = defaultPage.FriendlyId })); #endregion #region unlock case "unlock": if (accessMode < PermissionType.Edit) { throw new Exception("Access Denided."); } if (page.Status == CmsPage.STATUS_EDITING_START) { page.Status = CmsPage.STATUS_NORMAL; isModified = true; } else if (page.Status == CmsPage.STATUS_EDITING_AGAIN) { page.Status = CmsPage.STATUS_CHANGE_SAVED; isModified = true; } //db.Entry(page).State = EntityState.Modified; //db.SaveChanges(); //return RedirectToAction("Edit", new { id = id }); break; #endregion #region publish case "publish": if (accessMode < PermissionType.Publish) { throw new Exception("Access Denided."); } if (page.Status == CmsPage.STATUS_NORMAL || page.Status == CmsPage.STATUS_CHANGE_SAVED) { page.IsPublished = true; page.Status = CmsPage.STATUS_NORMAL; PublishDraft(page); SaveVersion(page); isModified = true; } break; #endregion #region unpublish case "unpublish": if (accessMode < PermissionType.Publish) { throw new Exception("Access Denided."); } // Remove the published page from public site if it exists. PubPage pageToUnpublish = _db.Set <PubPage>().SingleOrDefault(p => p.Id == page.Id); if (pageToUnpublish != null) { _db.Set <PubPage>().Remove(pageToUnpublish); _db.SaveChanges(); } // Label most recent live version in history to unpublished. VerPage currentLiveVer = _db.Set <VerPage>().SingleOrDefault(e => e.Id == page.Id && e.IsPublished); if (currentLiveVer != null) { currentLiveVer.IsPublished = false; currentLiveVer.Status = CmsPage.STATUS_UNPUBLISHED; _db.SaveChanges(); } // Change CmsPage status after remove PubPage and update VerPage page.IsPublished = false; page.Status = CmsPage.STATUS_CHANGE_SAVED; isModified = true; break; #endregion #region edit case "edit": bool allowEdit = false; if (page.Status == CmsPage.STATUS_NORMAL) { page.Status = CmsPage.STATUS_EDITING_START; allowEdit = true; } else if (page.Status == CmsPage.STATUS_CHANGE_SAVED) { page.Status = CmsPage.STATUS_EDITING_AGAIN; allowEdit = true; } else if (page.Status != CmsPage.STATUS_EDITING_START && page.Status != CmsPage.STATUS_EDITING_AGAIN) { page.Status = CmsPage.STATUS_EDITING_AGAIN; allowEdit = true; } if (User.Identity.Name.ToUpper() == page.ModifiedBy && accessMode >= PermissionType.Edit) { allowEdit = true; } if (allowEdit) { page.Modified = DateTime.Now; page.ModifiedBy = User.Identity.Name.ToUpper(); ((DbContext)_db).Entry(page).State = EntityState.Modified; _db.SaveChanges(); return(RedirectToAction("Edit", new { id = id })); } break; #endregion #region cancel case "cancel": // TODO Restore previous status if (page.Status == CmsPage.STATUS_EDITING_START) { page.Status = CmsPage.STATUS_NORMAL; isModified = true; } else if (page.Status == CmsPage.STATUS_EDITING_AGAIN) { page.Status = CmsPage.STATUS_CHANGE_SAVED; isModified = true; } break; #endregion #region restore case "restore": if (accessMode < PermissionType.Edit) { throw new Exception("Access Denided."); } RestoreLastVersion(page); isModified = true; break; #endregion } if (isModified) { ((DbContext)_db).Entry(page).State = EntityState.Modified; _db.SaveChanges(); } return(Redirect("/" + page.Url)); //return RedirectToAction("Page", "Cms", new { id = page.FriendlyId }); }
/// <summary> /// 基于bootstrap实现的分页 /// </summary> /// <param name="pg">查询参数</param> /// <param name="bbp">bootstrap table 的分页相关信息</param> /// <returns></returns> public Tuple <int, List <SysLog> > PageBootstrap(PubPage pg, Bootstrap.BootstrapParams bbp) { return(_sysUserRepository.PageBootstrap(pg, bbp)); }
public Tuple <int, List <SysLog> > PageSysLog(PubPage pg, JqGridModel.JqGrid jq) { return(_sysUserRepository.PageSysLog(pg, jq)); }