/// <summary> /// 產生該 site 的最高管理者 /// </summary> /// <param name="siteId"></param> /// <returns>1:新增完成;0:已存在最高管理員,不新增。</returns> public static int CreateSupremeAuthorityManagerForSite(long siteId) { WorkV3.Models.SitesModels site = WorkV3.Models.DataAccess.SitesDAO.GetInfo(siteId); string account = $"admin-{site.SN}"; using (var conn = new SqlConnection(WebInfo.Conn)) { Dictionary <string, object> param = new Dictionary <string, object>(); string sql = @" SELECT 1 FROM Member WHERE LoginID = @LoginID AND IsSupremeAuthority = 1 "; param.Add("@LoginID", account); string password = $"{site.SN}{DateTime.Now.ToString("yyyy")}"; param = new Dictionary <string, object>(); sql = $@" INSERT INTO [Member]([ID],[LoginID],[Name],[Email],[MStatus],[Password],[GroupID] , IsSupremeAuthority, isSysOnly, [AddDate]) VALUES({ WorkLib.GetItem.NewSN()},@LoginID,@Name, @Email, @MStatus,@Password ,@GroupID, 1, 1, getdate()) "; param.Add("@LoginID", account); param.Add("@Name", "最高管理員"); param.Add("@Email", ""); param.Add("@MStatus", 0); param.Add("@Password", password); param.Add("@GroupID", 1); return(conn.Query <int>(sql, param).SingleOrDefault()); } }
public static bool HasSupremeAuthorityManager(long siteId) { using (var conn = new SqlConnection(WebInfo.Conn)) { WorkV3.Models.SitesModels site = WorkV3.Models.DataAccess.SitesDAO.GetInfo(siteId); string account = $"admin-{site.SN}"; Dictionary <string, object> param = new Dictionary <string, object>(); string sql = @" SELECT 1 FROM Member WHERE LoginID = @LoginID AND IsSupremeAuthority = 1 "; param.Add("@LoginID", account); return(conn.Query <MemberModels>(sql, param).Count() > 0); } }
// GET: BackEnd public ActionResult Index(string SiteSN) { ViewBag.Member = Session[WebInfo.SysMemSkey] == null ?null:(Request.Cookies["sessionId"] != null? MemberDAO.Current(Request.Cookies["sessionId"].Value): null); ViewBag.UploadUrl = uploadUrl; if (ViewBag.Member != null) { WorkV3.Models.SitesModels SiteItem = WorkV3.Models.DataAccess.SitesDAO.GetSiteInfo(SiteSN); if (SiteItem != null) { MemberModels mem = MemberDAO.SysCurrent; PageCache.SiteID = SiteItem.Id; PageCache.SiteName = SiteItem.Title; ViewBag.SiteSN = SiteSN; ViewBag.SiteID = PageCache.SiteID; ViewBag.SiteName = PageCache.SiteName; List <MenusModels> mm = MenusDAO.GetData(PageCache.SiteID); long siteId = PageCache.SiteID; List <Menu> backendMenu = BackendMenuDAO.GetRoots(siteId).ToList(); List <CardsViewModel> cards = CardsDAO.GetBySiteID(PageCache.SiteID); MemberModels curUser = ViewBag.Member; GroupModels group = ViewBag.Member == null ? new GroupModels() : GroupDAO.GetItem(curUser.GroupId, siteId); ViewBag.MenuList = mm; ViewBag.Cards = cards; ViewBag.CardTypes = CardsTypeDAO.GetData(); ViewBag.BackendMenu = backendMenu; ViewBag.Permissions = group.GetPermissions(siteId); } else { Response.Redirect(Url.Action("Sites")); } return(View()); } else { Response.Redirect(Url.Action("Login")); return(View()); } }
// GET: Backend/Log public ActionResult Log(int?index, SysLogSearchModel search) { if (Request.HttpMethod == "GET") { if (index == null) { Utility.ClearSearchValue(); Session["LogSearch"] = null; } else { SysLogSearchModel prevSearch = Utility.GetSearchValue <SysLogSearchModel>(); if (prevSearch != null) { search = prevSearch; } } } else if (Request.HttpMethod == "POST") { Utility.SetSearchValue(search); Session["LogSearch"] = search; } string KW = search.KW ?? ""; Pagination pagination = new Pagination { PageIndex = index ?? 1, PageSize = WebInfo.PageSize }; string SDate = !string.IsNullOrEmpty(search.SDate) ? search.SDate : "1911/1/1"; string EDate = !string.IsNullOrEmpty(search.EDate) ? search.EDate : "9999/12/31"; int totalRecord; List <SysLogModels> items = SysLogDAO.GetItems(pagination.PageSize, pagination.PageIndex, out totalRecord, Convert.ToDateTime(SDate), Convert.ToDateTime(EDate), KW, search.Actions, search.MemberId); foreach (SysLogModels item in items) { string siteSN = "", pageSN = ""; if (item.SiteID.HasValue) { WorkV3.Models.SitesModels siteModel = WorkV3.Models.DataAccess.SitesDAO.GetInfo(item.SiteID.Value); if (siteModel != null) { siteSN = siteModel.SN; if (item.SourceID.HasValue) { WorkV3.Areas.Backend.Models.PagesModels pageModel = WorkV3.Areas.Backend.Models.DataAccess.PagesDAO.GetPageInfo(item.SiteID.Value, item.SourceID.Value); if (pageModel != null) { List <WorkV3.Areas.Backend.ViewModels.CardsViewModel> zoneModel = WorkV3.Areas.Backend.Models.DataAccess.CardsDAO.GetZoneByPageNo(item.SiteID.Value, item.SourceID.Value); if (zoneModel.Count > 0) { bool HasCardContent = true; foreach (WorkV3.Areas.Backend.ViewModels.CardsViewModel cardModel in zoneModel) { switch (cardModel.CardsType) { case "Article": var articleModel = WorkV3.Models.DataAccess.ArticleDAO.GetItemByCard(cardModel.No); if (articleModel == null) { HasCardContent = false; } break; } if (!HasCardContent) { break; } } if (HasCardContent) { pageSN = pageModel.SN; } else { item.IsDeleted = true; } } else { item.IsDeleted = true; } } else { if (item.MgrNo == (byte)WorkV3.Golbal.SysMgrNo.Page) { item.IsDeleted = true; } } } } } if (!string.IsNullOrEmpty(siteSN) && !string.IsNullOrEmpty(pageSN)) { item.PageUrl = Url.Action("Index", "Home", new { SiteSN = siteSN, PageSN = pageSN, area = string.Empty }); } } pagination.TotalRecord = totalRecord; ViewBag.Pagination = pagination; ViewBag.Search = search; return(View(items)); }