Exemple #1
0
        public RemoveHfSiteLink(List <Property> properties, World world) : base(properties, world)
        {
            foreach (Property property in properties)
            {
                switch (property.Name)
                {
                case "site_id": Site = world.GetSite(Convert.ToInt32(property.Value)); break;

                case "structure": StructureId = Convert.ToInt32(property.Value); break;

                case "civ": Civ = world.GetEntity(Convert.ToInt32(property.Value)); break;

                case "histfig": HistoricalFigure = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break;

                case "link_type":
                    switch (property.Value)
                    {
                    case "lair": LinkType = SiteLinkType.Lair; break;

                    case "hangout": LinkType = SiteLinkType.Hangout; break;

                    case "home_site_building": LinkType = SiteLinkType.HomeSiteBuilding; break;

                    case "home_site_underground": LinkType = SiteLinkType.HomeSiteUnderground; break;

                    case "home_structure": LinkType = SiteLinkType.HomeStructure; break;

                    case "seat_of_power": LinkType = SiteLinkType.SeatOfPower; break;

                    case "occupation": LinkType = SiteLinkType.Occupation; break;

                    case "home_site_realization_building": LinkType = SiteLinkType.HomeSiteRealizationBuilding; break;

                    case "home_site_abstract_building": LinkType = SiteLinkType.HomeSiteAbstractBuilding; break;

                    default:
                        property.Known = false;
                        break;
                    }
                    break;

                case "site": if (Site == null)
                    {
                        Site = world.GetSite(Convert.ToInt32(property.Value));
                    }
                    else
                    {
                        property.Known = true;
                    } break;
                }
            }
            if (Site != null)
            {
                Structure = Site.Structures.FirstOrDefault(structure => structure.Id == StructureId);
            }
            HistoricalFigure.AddEvent(this);
            Civ.AddEvent(this);
            Site.AddEvent(this);
            Structure.AddEvent(this);
        }
Exemple #2
0
        /// <summary>
        /// 链接列表
        /// </summary>
        public void List_GET()
        {
            SiteLinkType type = (SiteLinkType)Enum.Parse(typeof(SiteLinkType), HttpContext.Current.Request["type"], true);
            string       linkTypeName;

            switch (type)
            {
            case SiteLinkType.FriendLink: linkTypeName = "友情链接"; break;

            default:
            case SiteLinkType.CustomLink: linkTypeName = "自定义链接"; break;

            case SiteLinkType.Navigation: linkTypeName = "网站导航"; break;
            }


            //显示页面
            object data = new
            {
                linktype     = base.Request["type"],
                linkTypeName = linkTypeName
            };

            base.RenderTemplate(ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkList), data);
        }
Exemple #3
0
 /// <summary>
 /// 获取所有的友情链接
 /// </summary>
 /// <returns></returns>
 public void GetAllSiteLinks(int siteId,SiteLinkType type,DataReaderFunc func)
 {
     base.ExecuteReader(
         SqlQueryHelper.Format(DbSql.Link_GetSiteLinksByLinkType,new object[,]{
             {"@siteId",siteId},
             {"@linkType",(int)type}
         }), func);
 }
Exemple #4
0
 /// <summary>
 /// 获取所有的友情链接
 /// </summary>
 /// <returns></returns>
 public void GetAllSiteLinks(int siteId, SiteLinkType type, DataReaderFunc func)
 {
     base.ExecuteReader(
         SqlQueryHelper.Format(DbSql.Link_GetSiteLinksByLinkType, new object[, ] {
         { "@siteId", siteId },
         { "@linkType", (int)type }
     }), func);
 }
Exemple #5
0
        /// <summary>
        /// 获取所有的友情链接
        /// </summary>
        /// <returns></returns>
        public void GetAllSiteLinks(int siteId, SiteLinkType type, DataReaderFunc func)
        {
            var data = new object[, ]
            {
                { "@siteId", siteId },
                { "@linkType", (int)type }
            };
            var query = SqlQueryHelper.Format(DbSql.Link_GetSiteLinksByLinkType, data);

            ExecuteReader(query, func);
        }
Exemple #6
0
        public IEnumerable <ISiteLink> GetSiteLinks(int siteId, SiteLinkType type)
        {
            IList <ISiteLink> links = new List <ISiteLink>();

            linkDal.GetAllSiteLinks(siteId, type, rd =>
            {
                while (rd.Read())
                {
                    links.Add(this.ConvertToILink(siteId, rd));
                }
            });
            return(links);
        }
Exemple #7
0
        public IEnumerable <SiteLinkDto> GetLinksByType(int siteId, SiteLinkType type, bool ignoreDisabled)
        {
            var site  = _repo.GetSiteById(siteId);
            var links = site.GetLinkManager().GetLinks(type);

            foreach (var link in links)
            {
                if (!ignoreDisabled && !link.Visible)
                {
                    continue;
                }

                yield return(SiteLinkDto.ConvertFrom(link));
            }
        }
Exemple #8
0
        public IEnumerable <SiteLinkDto> GetLinksByType(int siteId, SiteLinkType type, bool ignoreDisabled)
        {
            ISite site = this._resp.GetSiteById(siteId);
            IEnumerable <ISiteLink> links = site.LinkManager.GetLinks(type);

            foreach (ISiteLink link in links)
            {
                if (!ignoreDisabled && !link.Visible)
                {
                    continue;
                }

                yield return(SiteLinkDto.ConvertFrom(link));
            }
        }
Exemple #9
0
        /// <summary>
        /// 链接列表
        /// </summary>
        public string List_GET()
        {
            SiteLinkType type = (SiteLinkType)Enum.Parse(typeof(SiteLinkType), HttpContext.Current.Request["type"], true);
            string       linkTypeName;

            switch (type)
            {
            case SiteLinkType.FriendLink: linkTypeName = "友情链接"; break;

            default:
            case SiteLinkType.CustomLink: linkTypeName = "自定义链接"; break;

            case SiteLinkType.Navigation: linkTypeName = "网站导航"; break;
            }


            ViewData["link_type"] = base.Request["type"];
            ViewData["type_name"] = linkTypeName;
            return(base.RequireTemplate(ResourceMap.GetPageContent(ManagementPage.Link_List)));
        }
Exemple #10
0
 public IEnumerable <ISiteLink> GetLinks(SiteLinkType type)
 {
     return(_siteRep.GetSiteLinks(_site.GetAggregateRootId(), type));
 }
Exemple #11
0
 public IEnumerable<ISiteLink> GetSiteLinks(int siteId, SiteLinkType type)
 {
     IList<ISiteLink> links = new List<ISiteLink>();
     linkDal.GetAllSiteLinks(siteId, type, rd =>
     {
         while(rd.Read())
         {
             links.Add( this.ConvertToILink(siteId,rd));
         }
     });
     return links;
 }
Exemple #12
0
        /// <summary>
        /// 数据
        /// </summary>
        public void Data_GET()
        {
            SiteLinkType type = (SiteLinkType)Enum.Parse(typeof(SiteLinkType), HttpContext.Current.Request["type"], true);

            string linkRowsHtml;
            //链接列表
            StringBuilder sb = new StringBuilder();
            int           i  = 0;

            string      bindTitle = String.Empty;
            ArchiveDto  archive   = default(ArchiveDto);
            CategoryDto cate      = default(CategoryDto);

            IList <SiteLinkDto> links = new List <SiteLinkDto>(
                ServiceCall.Instance.SiteService.GetLinksByType(this.SiteId, type, true));


            #region 链接拼凑

            LinkBehavior bh = (link) =>
            {
                i++;
                sb.Append("<tr visible=\"").Append(link.Visible ? "1" : "0").Append("\" indent=\"").Append(link.Id.ToString())
                .Append("\"><td class=\"hidden\">").Append(link.Id.ToString()).Append("</td>")
                .Append("<td class=\"")
                .Append(link.Pid != 0 ? "child" : "parent")
                .Append("\">")
                .Append(link.Visible ? link.Text : "<span style=\"color:#d0d0d0\">" + link.Text + "</span>")
                .Append("<span class=\"micro\">(");

                if (String.IsNullOrEmpty(link.Bind))
                {
                    if (link.Uri == "")
                    {
                        sb.Append("<span style=\"color:red\">未设置</span>");
                    }
                    else
                    {
                        sb.Append(link.Uri);
                    }
                }
                else
                {
                    string[] binds = (link.Bind ?? "").Split(':');
                    if (binds.Length != 2 || binds[1] == String.Empty)
                    {
                        binds = null;
                    }
                    else
                    {
                        if (binds[0] == "category")
                        {
                            cate      = ServiceCall.Instance.SiteService.GetCategory(this.SiteId, int.Parse(binds[1]));
                            bindTitle = cate.ID > 0 ?
                                        String.Format("绑定栏目:{0}", cate.Name) :
                                        null;
                        }
                        else if (binds[0] == "archive")
                        {
                            int archiveId;
                            int.TryParse(binds[1], out archiveId);

                            archive = ServiceCall.Instance.ArchiveService
                                      .GetArchiveById(this.SiteId, archiveId);

                            if (archive.Id <= 0)
                            {
                                binds = null;
                            }
                            else
                            {
                                bindTitle = String.Format("绑定文档:{0}", archive.Title);
                            }
                        }
                    }

                    sb.Append(bindTitle);
                }

                sb.Append(")</span></td>")
                .Append("</tr>");

                return("");
            };


            #endregion

            IList <SiteLinkDto> links2;
            for (int j = 0; j < links.Count; j++)
            {
                if (links[j].Pid == 0)
                {
                    bh(links[j]);

                    //设置子类
                    links2 = new List <SiteLinkDto>(links.Where(a => a.Pid == links[j].Id));
                    for (int k = 0; k < links2.Count; k++)
                    {
                        bh(links2[k]);
                        //links.Remove(links2[k]);
                    }
                }
            }



            linkRowsHtml = sb.Length != 0 ?
                           String.Concat("<table cellspacing=\"0\" class=\"ui-table\">", sb.ToString(), "</table>") :
                           "<div style=\"text-align:center\">暂无链接,请点击右键添加!</div>";

            //输出分页数据
            base.PagerJson2("<div style=\"display:none\">for ie6</div>" + linkRowsHtml, String.Format("共{0}条", i.ToString()));
        }
Exemple #13
0
        /// <summary>
        /// 创建链接
        /// </summary>
        public void Create_GET()
        {
            object data;
            string plinks = "";


            SiteLinkType type = (SiteLinkType)Enum.Parse(typeof(SiteLinkType), base.Request["type"], true);
            string       linkTypeName,
                         resouce;

            switch (type)
            {
            case SiteLinkType.FriendLink: linkTypeName = "友情链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit); break;

            default:
            case SiteLinkType.CustomLink: linkTypeName = "自定义链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit); break;

            case SiteLinkType.Navigation: linkTypeName = "网站导航"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_SiteLinkEdit_Navigator); break;
            }


            //plinks
            StringBuilder sb     = new StringBuilder();
            int           siteID = base.CurrentSite.SiteId;

            IEnumerable <SiteLinkDto> parentLinks = ServiceCall.Instance.SiteService
                                                    .GetLinksByType(this.SiteId, type, true);

            foreach (SiteLinkDto _link in parentLinks)
            {
                if (_link.Pid == 0)
                {
                    sb.Append("<option value=\"").Append(_link.Id.ToString())
                    .Append("\">").Append(_link.Text).Append("</option>");
                }
            }
            plinks = sb.ToString();

            string json = JsonSerializer.Serialize(
                new
            {
                Id         = 0,
                Text       = String.Empty,
                Uri        = String.Empty,
                OrderIndex = "0",
                Btn        = "添加",
                BindId     = String.Empty,
                BindType   = String.Empty,
                BindTitle  = "未绑定",
                Target     = String.Empty,
                Type       = Request["type"],
                ImgUrl     = String.Empty,
                pid        = '0',
                Visible    = "True"
            });

            base.RenderTemplate(resouce, new
            {
                entity        = json,
                LinkType      = Request["type"],
                linkTypeName  = linkTypeName,
                categoryNodes = this.GetCategorySelector(siteID, -1),
                plinks        = plinks
            });
        }
Exemple #14
0
 public IEnumerable <ISiteLink> GetLinks(SiteLinkType type)
 {
     return(this._siteRep.GetSiteLinks(this._site.Id, type));
 }
Exemple #15
0
        public IEnumerable<SiteLinkDto> GetLinksByType(int siteId,SiteLinkType type,bool ignoreDisabled)
        {
            ISite site = this._resp.GetSiteById(siteId);
            IEnumerable<ISiteLink> links = site.LinkManager.GetLinks(type);
            foreach(ISiteLink link in links)
            {
                if (!ignoreDisabled && !link.Visible) continue;

                yield return SiteLinkDto.ConvertFrom(link);
            }
        }
Exemple #16
0
        /// <summary>
        /// 创建链接
        /// </summary>
        public string Create_GET()
        {
            object data;
            string plinks = "";


            SiteLinkType type = (SiteLinkType)Enum.Parse(typeof(SiteLinkType), base.Request["type"], true);
            string       linkTypeName,
                         resouce;

            switch (type)
            {
            case SiteLinkType.FriendLink: linkTypeName = "友情链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_Edit); break;

            default:
            case SiteLinkType.CustomLink: linkTypeName = "自定义链接"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_Edit); break;

            case SiteLinkType.Navigation: linkTypeName = "网站导航"; resouce = ResourceMap.GetPageContent(ManagementPage.Link_Edit_Navigator); break;
            }


            //plinks
            StringBuilder sb     = new StringBuilder();
            int           siteId = base.CurrentSite.SiteId;

            IEnumerable <SiteLinkDto> parentLinks = ServiceCall.Instance.SiteService
                                                    .GetLinksByType(this.SiteId, type, true);

            foreach (SiteLinkDto _link in parentLinks)
            {
                if (_link.Pid == 0)
                {
                    sb.Append("<option value=\"").Append(_link.Id.ToString())
                    .Append("\">").Append(_link.Text).Append("</option>");
                }
            }
            plinks = sb.ToString();

            string json = JsonSerializer.Serialize(
                new
            {
                Id         = 0,
                Text       = String.Empty,
                Uri        = String.Empty,
                SortNumber = "0",
                Btn        = "添加",
                BindId     = String.Empty,
                BindType   = String.Empty,
                BindTitle  = "未绑定",
                Target     = String.Empty,
                Type       = Request["type"],
                ImgUrl     = String.Empty,
                pid        = '0',
                Visible    = "True"
            });

            ViewData["entity"]        = json;
            ViewData["link_type"]     = (int)type;
            ViewData["form_title"]    = "创建" + linkTypeName;
            ViewData["category_opts"] = Helper.GetCategoryIdSelector(this.SiteId, -1);
            ViewData["parent_opts"]   = plinks;
            ViewData["site_id"]       = siteId;

            return(base.RequireTemplate(resouce));
        }
Exemple #17
0
 public IEnumerable<ISiteLink> GetLinks(SiteLinkType type)
 {
     return this._siteRep.GetSiteLinks(this._site.ID, type);
 }