Example #1
0
        /// <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());
            }
        }
Example #2
0
        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);
            }
        }
Example #3
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());
            }
        }
Example #4
0
        // 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));
        }