/// <summary> /// 根据栏目获取文章 /// </summary> /// <param name="ch">栏目</param> /// <param name="includechildren">包含子栏目</param> /// <param name="from"></param> /// <param name="PageSize">页大小</param> List <Article> QueryArticlesByChannel(Channel ch, bool includechildren, int from, int PageSize) { Criteria c = new Criteria(CriteriaType.None); if (includechildren) { c.Add(CriteriaType.Like, "ChannelFullUrl", ch.FullUrl + "%"); c.Add(CriteriaType.Equals, "State", 1); } else { c.Add(CriteriaType.Equals, "OwnerID", ch.ID); c.Add(CriteriaType.Equals, "State", 1); } if (!String.IsNullOrEmpty(Tags)) { c.Add(CriteriaType.Like, "Tags", "%'" + Tags + "'%"); } Order[] os = IsShow ? new Order[] { new Order("IsShow", OrderMode.Desc), new Order("Updated", OrderMode.Desc), new Order("ID", OrderMode.Desc) } : new Order[] { new Order("Updated", OrderMode.Desc), new Order("ID", OrderMode.Desc) }; return(Assistant.List <Article>(c, os, from, PageSize, new string[] { "ID", "Title", "ChannelFullUrl", "Created", "SN" })); }
Criteria CreateCriteriaByQuey(AccountQuery query) { Criteria c = new Criteria(CriteriaType.None); if (query.State != 100) { c.Add(CriteriaType.Equals, "State", query.State); } if (query.EmailValidate != 100) { c.Add(CriteriaType.Equals, "EmailValidate", query.EmailValidate); } if (query.ModelState != 100) { c.Add(CriteriaType.Equals, "ModelState", query.ModelState); } if (!string.IsNullOrEmpty(query.KeyWord)) { Criteria keyCriteria = new Criteria(CriteriaType.None); keyCriteria.Mode = CriteriaMode.Or; keyCriteria.AddOr(CriteriaType.Like, "LastName", "%" + query.KeyWord + "%"); keyCriteria.AddOr(CriteriaType.Like, "LoginName", "%" + query.KeyWord + "%"); keyCriteria.AddOr(CriteriaType.Like, "Email", "%" + query.KeyWord + "%"); c.Criterias.Add(keyCriteria); } if (!string.IsNullOrEmpty(query.SiteID)) { c.Add(CriteriaType.Equals, "FromSiteID", query.SiteID); } if (!string.IsNullOrEmpty(query.ModelName)) { c.Add(CriteriaType.Equals, "ModelName", query.ModelName); } if (!string.IsNullOrEmpty(query.DepartmentID)) { c.Add(CriteriaType.Equals, "DepartmentID", query.DepartmentID); } if (query.UserType != 100) { c.Add(CriteriaType.Equals, "UserType", query.UserType); } if (c.Criterias.Count == 0) { return(null); } else { return(c); } }
/// <summary> /// 处理分支 /// </summary> /// <param name="qf">字段数据</param> /// <param name="c">Criteria</param> /// <returns>是否继续执行</returns> protected override bool DoBranches(QueryField qf, Criteria c) { bool nextstep = true; if (qf.Column.Direction == ParameterDirection.Output || qf.Column.Direction == ParameterDirection.InputOutput) { string column = String.IsNullOrEmpty(qf.Column.Mapping) ? qf.Column.Name : qf.Column.Mapping; if (String.Compare(column, "State", true) == 0) { string state = qf.Value as string; if (!String.IsNullOrEmpty(state)) { int enumstate; Int32.TryParse(state, out enumstate); c.Add(CriteriaType.Equals, "State", enumstate); } nextstep = false; } else if (String.Compare(column, "OwnerID", true) == 0) { string oid = qf.Value as string; if (!String.IsNullOrEmpty(oid)) { Channel ch = ChannelHelper.GetChannel(oid, null); if (String.IsNullOrEmpty(ch.Parameter)) { c.Add(CriteriaType.Equals, "OwnerID", oid); } else { CriteriaExpressionHelper.Execute(c, ch.Parameter); } } nextstep = false; } } return(nextstep); }
protected virtual Criteria CreateListCriteria() { Criteria c = new Criteria(CriteriaType.None); if (UseColumn) { if (IncludeChildren) { Criteria c2 = new Criteria(CriteriaType.Equals, "OwnerID", BindColumnID); c2.Mode = CriteriaMode.Or; List <Channel> chs = ChannelHelper.GetChildren(BindColumnID); if (chs != null) { foreach (Channel ch in chs) { c2.AddOr(CriteriaType.Equals, "OwnerID", ch.ID); } } c.Criterias.Add(c2); } else { c.Add(CriteriaType.Equals, "OwnerID", BindColumnID); } } if (ShowAtHome) { c.Add(CriteriaType.Equals, "IsShow", 1); } if (!String.IsNullOrEmpty(Tag)) { c.Add(CriteriaType.Like, "Tags", "%" + Tag + "%"); } c.Add(CriteriaType.Equals, "State", 1); ProcessQueryParam(c); return(c); }
protected void AddCriteria(Expression <Func <T, bool> > criteria) { if (Criteria == null) { Criteria = new List <Expression <Func <T, bool> > > { criteria } } ; else { Criteria.Add(criteria); } }
public IList <MenuItemInfo> GetChildrenMenuList(string parentId) { try { ObjectPersistence persistence = new ObjectPersistence(DbAccess); Criteria cri = new Criteria(); cri.Add(Expression.Equal("ParentId", parentId)); return(persistence.GetList <MenuItemInfo>(cri, new SortInfo("Index"))); } catch (Exception ex) { throw HandleException("Page", "GetChildrenMenuList - " + parentId, ex); } }
public IList <HtmlItemInfo> GetHtmlItemsByParent(string listId) { try { ObjectPersistence persistence = new ObjectPersistence(DbAccess); Criteria cri = new Criteria(); if (string.IsNullOrEmpty(listId) || listId == Guid.Empty.ToString("N")) { cri.Add(Expression.Or( Expression.IsNull("ItsListId"), Expression.Equal("ItsListId", ""))); } else { cri.Add(Expression.Equal("ItsListId", listId)); } return(persistence.GetList <HtmlItemInfo>(cri, new SortInfo("LastUpdateTime", SortDirection.Desc))); } catch (Exception ex) { throw HandleException("Page", "GetHtmlItemsByParent - " + listId, ex); } }
protected override Criteria CreateCriteria() { Criteria c = new Criteria(); List <Order> os = new List <Order>(); os.Add(new Order("ID")); if (QueryByColumn) //按栏目查询 { if (String.IsNullOrEmpty(OwnerID)) { OwnerID = ChannelHelper.GetChannelIDFromURL(); } if (IncludeChildren) //按子栏目查询 { Criteria subC = new Criteria(); subC.Mode = CriteriaMode.Or; subC.Add(CriteriaType.Equals, "OwnerID", OwnerID); List <Channel> chs = ChannelHelper.GetChannels(OwnerID); if (chs != null && chs.Count > 0) { foreach (Channel ch in chs) { c.AddOr(CriteriaType.Equals, "OwnerID", ch.ID); } } } else { c.Add(CriteriaType.Equals, "OwnerID", OwnerID); } } if (ShowAtHome) //只显示置顶信息 { c.Add(CriteriaType.Equals, "IsShow", 1); } if (!String.IsNullOrEmpty(Tag)) //按标签查询 { c.Add(CriteriaType.Like, "Tags", "%'" + Tag + "'%"); } c.Add(CriteriaType.Equals, "State", 1); //只显示状态为可用的数据 ProcessQueryParam(c); //处理附加查询数据 return(c); }
/// <summary> /// 处理一个查询组的字符串信息 /// </summary> /// <param name="c"></param> /// <param name="k"></param> /// <param name="v"></param> protected void ProcessOrCriteria(Criteria c, string k, string v) { string[] ss = v.Split(','); Criteria c2 = new Criteria(CriteriaType.None); c2.Mode = CriteriaMode.Or; foreach (string s in ss) { c2.Add(CriteriaType.Equals, k, s); } if (c2.Criterias.Count > 0) { c.Criterias.Add(c2); } }
void ProcessQueryParam(Criteria c) { if (!String.IsNullOrEmpty(QueryParam)) { string[] groups = QueryParam.Split('&'); foreach (string s in groups) { string[] kvp = s.Split('='); if (kvp.Length > 1) { if (kvp[1].Contains(",")) { ProcessOrCriteria(c, kvp[0], kvp[1]); } else { c.Add(CriteriaType.Equals, kvp[0], kvp[1]); } } else { string v = EncodeQueryParam ? HttpUtility.UrlDecode(Request[kvp[0]]) : Request[kvp[0]]; if (!String.IsNullOrEmpty(v) && !String.IsNullOrEmpty(v.Trim())) { if (v.Contains(",")) { ProcessOrCriteria(c, kvp[0], v.Trim()); } else { c.Add(CriteriaType.Equals, kvp[0], ConvertValue(ModelName, kvp[0], v.Trim())); } } } } } }
public override void CreateFilter() { var filterParams = FilterParams as DocumentFilterParams; if (filterParams == null) { return; } Criteria = DetachedCriteria.For <Document>(); Criteria.CreateAlias("Owner", "owner") .CreateAlias("DocumentType", "documentType"); var owners = filterParams.Owner.Cast <EntityBase>().ToList(); var docTypes = filterParams.DocumentType.Cast <EntityBase>().ToList(); var ownersCriterion = CreateCriterion(owners, "owner"); var docTypesCriterion = CreateCriterion(docTypes, "documentType"); if (!string.IsNullOrEmpty(SearchString)) { SetSearchString(SearchString); } ICriterion result = ownersCriterion; if (result == null && docTypesCriterion != null) { result = docTypesCriterion; } if (result != null && docTypesCriterion != null) { result = Restrictions.And(docTypesCriterion, result); } if (result == null && SearchStringCriterion != null) { result = SearchStringCriterion; } if (result != null && SearchStringCriterion != null) { result = Restrictions.And(SearchStringCriterion, result); } if (result != null) { Criteria.Add(result); } }
public T GetLotteryInfoByCode <T>(string code) where T : LotteryInfoBase, new() { ObjectPersistence persistence = new ObjectPersistence(DbAccess); Criteria cri = new Criteria(); cri.Add(Expression.Equal("Code", code)); IList <T> list = persistence.GetList <T>(cri); if (list.Count > 0) { return(list[0]); } return(null); }
/// <summary> /// 如果有子分类就显示子分类,如果没有就显示同级分类 /// </summary> /// <returns></returns> public ActionResult NavigationMenu() { ViewBag.CurrentCategory = CurrentCategory; // var model = new Category { ID = CId, Conditaion = "parent_id=[ID]" }; var criteria = new Criteria("ParentID", CId); criteria.Add(LOP.AND, "Status", 1); var list = CategoryService.GetList(criteria, new Order("sequence")); if (list.Count == 0) //有子类就显示子类,没有子类就显示同级节点。 { list = CategoryService.GetBrotherNode(CId); } return(View(list)); }
public void ShouldTranslateWhereClauseWithEmptyRoot() { const string target = "WHERE (n.name = 'Peter' OR p.release >= 20) XOR ID(a) = 100"; var c = new Criteria(); c.Add(new Criteria("n", "name", Operator.Equal, "Peter") .Or(new Criteria("p", "release", Operator.Gte, 20))); c.Xor(new Criteria("a", Criteria.ID, Operator.Equal, 100)); var whereClause = CypherTranslator.ToWhereClause(c, "n"); Assert.AreEqual(target, whereClause); }
public IList <RequestGetMoneyInfo> GetUnhandleRequestMoneyList() { try { ObjectPersistence persistence = new ObjectPersistence(DbAccess); Criteria cri = new Criteria(); cri.Add(Expression.Equal("Status", MoneyGetStatus.Requesting)); return(persistence.GetList <RequestGetMoneyInfo>(cri, new SortInfo("RequestTime", SortDirection.Desc))); } catch (Exception ex) { string errMsg = "获取用户请求提款失败!"; throw HandleException(LogCategory.Money, errMsg, ex); } }
Criteria CreateQueryCriteria(QueryFieldCollection qfc, PanelContext data) { Criteria ct = new Criteria(CriteriaType.None); //if (data.Model.Type == ModelType.ARTICLE && !data.Model.AuthorityType && // Security.CurrentAccountID != We7Helper.EmptyGUID) ////if (!GeneralConfigs.GetConfig().ShowAllInfo && Security.CurrentAccountID != We7Helper.EmptyGUID && !String.IsNullOrEmpty(Security.CurrentAccountID)) //{ // ct.Add(CriteriaType.Equals, "AccountID", Security.CurrentAccountID); //} foreach (QueryField qf in qfc) { if (qf.Operator == OperationType.LIKE) { ct.Add(ModelDBHelper.ConvertOperationType(qf.Operator), qf.Column.Name, "%" + qf.Value + "%"); } else { ct.Add(ModelDBHelper.ConvertOperationType(qf.Operator), qf.Column.Name, qf.Value); } } return(ct); }
public void Execute(Criteria c, string expr) { StringReader sr = new StringReader(expr); string s = null; while (!string.IsNullOrEmpty(s = sr.ReadLine())) { s = s.Trim(); Match m = regex.Match(s); if (m != null || m.Success) { c.Add(CriteriaType.Like, m.Groups["field"].Value, m.Groups["value"].Value); } } }
public void AddCriterion(CriterionStatement criterion) { if (Criteria.Contains(criterion)) { throw new InvalidOperationException("Cannot add criterion, it already exists in criteria."); } Criteria.Add(criterion); criterion.CriterionChanged += CriteriaChanged; criterion.RemovalRequested += HandleCriterionRemovalRequested; CriterionAdded(criterion); }
public override void CreateFilter() { var filterParams = FilterParams as CardFilterParams; if (filterParams == null) { return; } Criteria = DetachedCriteria.For <Card>(); Criteria.CreateAlias("Staff", "staff"); var staff = filterParams.Staff.Cast <EntityBase>().ToList(); var department = filterParams.Department.ToList(); var staffCriterion = CreateCriterion(staff, "staff"); var departmentCriterion = CreateCriterion(department, "staff", "Department"); if (!string.IsNullOrEmpty(SearchString)) { SetSearchString(SearchString); } ICriterion result = staffCriterion; if (result == null && departmentCriterion != null) { result = departmentCriterion; } if (result != null && departmentCriterion != null) { result = Restrictions.And(departmentCriterion, result); } if (result == null && SearchStringCriterion != null) { result = SearchStringCriterion; } if (result != null && SearchStringCriterion != null) { result = Restrictions.And(SearchStringCriterion, result); } if (result != null) { Criteria.Add(result); } }
/// <summary> /// Counts all with letter. /// </summary> /// <param name="letter">The letter.</param> /// <param name="mode">The mode.</param> /// <returns></returns> public static int CountAllWithLetter(string letter, MatchMode mode) { try { Criteria criteria = Criteria.For <Person>(); criteria .Add(criteria.Like("Name", letter, mode)); return(Person.Count(criteria)); } catch (Exception ex) { //Do something throw ex; } }
DataRow QueryRow(PanelContext ctx) { ModelDBHelper DbHelper = ModelDBHelper.Create(ctx.ModelName); Criteria c = new Criteria(CriteriaType.None); foreach (string key in ctx.DataKey.Values.Keys) { c.Add(CriteriaType.Equals, key, ctx.DataKey.Values[key]); } DataTable dt = DbHelper.Query(c, new List <Order>() { new Order("ID") }, 0, 0); return(dt != null && dt.Rows.Count > 0 ? dt.Rows[0] : null); }
public IList <MenuItemInfo> GetTopMenuList() { try { ObjectPersistence persistence = new ObjectPersistence(DbAccess); Criteria cri = new Criteria(); cri.Add(Expression.Or( Expression.IsNull("ParentId"), Expression.Equal("ParentId", ""))); return(persistence.GetList <MenuItemInfo>(cri, new SortInfo("Index"))); } catch (Exception ex) { throw HandleException("Page", "GetTopMenuList", ex); } }
public override void ReadFrom(XElement xE) { base.ReadFrom(xE); CampaignId = null; AdGroupEstimateRequests = null; Criteria = null; NetworkSetting = null; DailyBudget = null; foreach (var xItem in xE.Elements()) { var localName = xItem.Name.LocalName; if (localName == "campaignId") { CampaignId = long.Parse(xItem.Value); } else if (localName == "adGroupEstimateRequests") { if (AdGroupEstimateRequests == null) { AdGroupEstimateRequests = new List <AdGroupEstimateRequest>(); } var adGroupEstimateRequestsItem = new AdGroupEstimateRequest(); adGroupEstimateRequestsItem.ReadFrom(xItem); AdGroupEstimateRequests.Add(adGroupEstimateRequestsItem); } else if (localName == "criteria") { if (Criteria == null) { Criteria = new List <Criterion>(); } var criteriaItem = InstanceCreator.CreateCriterion(xItem); criteriaItem.ReadFrom(xItem); Criteria.Add(criteriaItem); } else if (localName == "networkSetting") { NetworkSetting = new NetworkSetting(); NetworkSetting.ReadFrom(xItem); } else if (localName == "dailyBudget") { DailyBudget = new Money(); DailyBudget.ReadFrom(xItem); } } }
private void OnClear() { Criteria.Clear(); OrderByProperty = null; OrderByDescending = false; MaxTracks = null; Criteria.Add(new CriteriaGroupViewModel(new List <CriteriaViewModel> { new CriteriaViewModel() }) { IsLastGroup = true }); Results = new List <Track>(); }
/// <summary> /// Finds the random people. /// </summary> /// <param name="numberOfPeople">The number of people.</param> /// <returns></returns> public static List <Person> FindRandomPeople(int numberOfPeople) { try { Criteria criteria = Criteria.For <Person>(); criteria .Add(Criteria.Order.Random()); return(Person.SlicedFindAll(criteria, 0, numberOfPeople)); } catch (Exception ex) { //Do something throw ex; } }
IDatabaseQuery WhereSubquery(string myField, IDatabaseQuery subquery, string targetField, string @operator) { subquery.AliasPrefix = "Subq" + Guid.NewGuid().ToString().Remove("-").Substring(0, 6); var sql = subquery.Provider .GenerateSelectCommand(subquery, subquery.MapColumn(targetField)); sql = $"{MapColumn(myField)} {@operator} ({sql})"; Criteria.Add(Criterion.FromSql(sql)); foreach (var subQueryParam in subquery.Parameters) { Parameters.Add(subQueryParam.Key, subQueryParam.Value); } return(this); }
/// <summary> /// Finds some random names. /// </summary> /// <param name="numberOfNames">The number of names.</param> /// <returns></returns> public static List <String> FindRandomNames(int numberOfNames) { try { Criteria criteria = Criteria.For <PeopleNames>(); criteria .Add(Criteria.Order.Random()); return(PeopleNames.SlicedProjectionFindAll <String>(criteria, "Name", 0, numberOfNames)); } catch (Exception ex) { //Do something throw ex; } }
/// <summary> /// 获得所有者列表 /// </summary> /// <param name="typeID">所有者类型</param> /// <param name="objectID">栏目ID或反馈类型ID</param> /// <returns>所有者列表</returns> public List <string> GetPermissionOwners(int typeID, string objectID) { List <string> ownerIds = new List <string>(); Criteria c = new Criteria(CriteriaType.Equals, "ObjectID", objectID); c.Add(CriteriaType.Equals, "OwnerType", typeID); List <Permission> plist = Assistant.List <Permission>(c, null); foreach (Permission p in plist) { if (!ownerIds.Contains(p.OwnerID)) { ownerIds.Add(p.OwnerID); } } return(ownerIds); }
/// <summary> /// 查询条件来筛选模型类别 /// </summary> /// <param name="name"></param> /// <param name="ids"></param> /// <param name="accountName"></param> /// <param name="from"></param> /// <param name="count"></param> /// <returns></returns> public List <AdviceType> SearchAdviceTypeByName(string name, List <string> ids, bool accountName, int from, int count) { try { Order[] o = new Order[] { new Order("Updated", OrderMode.Desc) }; if (name != "" || accountName == true) { Criteria c = new Criteria(CriteriaType.None); if (name != null && name != "") { c.Add(CriteriaType.Like, "Title", "%" + name + "%"); } if (accountName == true) { if (ids != null && ids.Count > 0) { Criteria keyCriteria = new Criteria(CriteriaType.None); foreach (string id in ids) { keyCriteria.Mode = CriteriaMode.Or; keyCriteria.AddOr(CriteriaType.Equals, "AccountID", id); c.Criterias.Add(keyCriteria); } } } if (c.Criterias.Count > 0) { return(Assistant.List <AdviceType>(c, o, from, count)); } else { return(null); } } else { return(Assistant.List <AdviceType>(null, o, from, count)); } } catch (Exception ex) { throw ex; } }
public void SetCriteria(BlogPostSc sc) { AddInclude(x => x.Author); if (!string.IsNullOrWhiteSpace(sc.Title)) { Criteria.Add(x => x.Title.Contains(sc.Title)); } if (!string.IsNullOrWhiteSpace(sc.AuthorLastname)) { Criteria.Add(x => x.Author.LastName.Contains(sc.AuthorLastname)); } #region PublishedAt if (sc.PublishedAtFrom.HasValue && sc.PublishedAtTo.HasValue) { Criteria.Add(x => x.PublishedAt.HasValue && x.PublishedAt.Value.Date >= sc.PublishedAtFrom.Value.Date && x.PublishedAt.Value.Date <= sc.PublishedAtTo.Value.Date); } if (sc.PublishedAtFrom.HasValue && !sc.PublishedAtTo.HasValue) { Criteria.Add(x => x.PublishedAt.HasValue && x.PublishedAt.Value.Date >= sc.PublishedAtFrom.Value.Date); } if (!sc.PublishedAtFrom.HasValue && sc.PublishedAtTo.HasValue) { Criteria.Add(x => x.PublishedAt.HasValue && x.PublishedAt.Value.Date <= sc.PublishedAtTo.Value.Date); } #endregion if (sc.Status.HasValue) { Criteria.Add(x => x.Status == sc.Status); } ApplyPagingAndOrder(sc); }
private List<Channel> GetChildren() { Criteria c = new Criteria(CriteriaType.Like, "FullUrl", Channel.FullUrl + "%"); c.Add(CriteriaType.Equals, "State", 1); c.Add(CriteriaType.NotEquals, "ID", Channel.ID); return Assistant.List<Channel>(c, new Order[] { new Order("ID") }); }
private List<Channel> GetChildren(string ID) { Criteria c = new Criteria(CriteriaType.Equals, "ParentID", ID); c.Add(CriteriaType.Equals, "State", 1); //c.Add(CriteriaType.NotEquals, "ID", Channel.ID); return Assistant.List<Channel>(c, new Order[] {new Order("index"), new Order("ID") }); }
protected bool IsOnSchedule () { IEnumerable<ScheduledSessionEntity> sessions = null; if (UnitOfWork.IsUnitOfWorkStarted ()) { var repo = new LocalScheduledSessionsRepository (); var criteria = new Criteria (); criteria.Add (Condition.Equal<ScheduledSessionEntity> (x => x.Title, _session.Title)); sessions = repo.Find (criteria); } else { using (UnitOfWork.Start()) { var repo = new LocalScheduledSessionsRepository (); var criteria = new Criteria (); criteria.Add (Condition.Equal<ScheduledSessionEntity> (x => x.Title, _session.Title)); sessions = repo.Find (criteria); } } if (sessions != null && sessions.Count () > 0) { return true; } else { return false; } }
/// <summary> /// 获取真实数据 /// </summary> private List<Article> GetRealData() { Criteria c = new Criteria(CriteriaType.None); if (IncludeChildren) { c.Add(CriteriaType.Like, "ChannelFullUrl", Channel.FullUrl + "%"); } else { c.Add(CriteriaType.Equals, "OwnerID", OwnerID); } c.Add(CriteriaType.Equals, "State", 1); if (!String.IsNullOrEmpty(Tags)) { c.Add(CriteriaType.Like, "Tags", "%'" + Tags + "'%"); } Order[] os = new Order[] { new Order("IsShow", OrderMode.Desc), new Order("Updated", OrderMode.Desc) }; articles = Assistant.List<Article>(c, os, 0, PageSize, new string[] { "ID", "Title", "ChannelFullUrl", "Created", "SN" }); return articles; }
private void InitCriteria() { criteria = new Criteria(CriteriaType.None); if (string.IsNullOrEmpty(KeyWord)) { if (IncludeChildren && Channel != null) { criteria.Add(CriteriaType.Like, "ChannelFullUrl", Channel.FullUrl + "%"); } else { criteria.Add(CriteriaType.Equals, "OwnerID", Channel.ID); } } string tag = We7Helper.RemoveHtml(System.Web.HttpUtility.UrlDecode(Request["tag"])); if (!String.IsNullOrEmpty(tag)) { criteria.Add(CriteriaType.Like, "Tags", "%" + HttpUtility.UrlDecode(tag) + "%"); } string title = We7Helper.RemoveHtml(System.Web.HttpUtility.UrlDecode(Request["title"])); if (!String.IsNullOrEmpty(title)) { criteria.Add(CriteriaType.Like, "Title", "%" + title + "%"); } string channel = We7Helper.RemoveHtml(System.Web.HttpUtility.UrlDecode(Request["channel"])); if (!String.IsNullOrEmpty(channel)) { Channel ch = HelperFactory.Instance.GetHelper<ChannelHelper>().GetChannel(channel, null); if (ch != null) { criteria.Add(CriteriaType.Like, "ChannelFullUrl", ch.FullUrl + "%"); } } string author = We7Helper.RemoveHtml(System.Web.HttpUtility.UrlDecode(Request["author"])); if (!String.IsNullOrEmpty(author)) { criteria.Add(CriteriaType.Equals, "Author", author); } if (!string.IsNullOrEmpty(KeyWord)) { Criteria keyCriteria = new Criteria(CriteriaType.None); keyCriteria.Mode = CriteriaMode.Or; keyCriteria.AddOr(CriteriaType.Like, "Title", "%" + KeyWord + "%"); keyCriteria.AddOr(CriteriaType.Like, "Description", "%" + KeyWord + "%"); criteria.Criterias.Add(keyCriteria); } criteria.Add(CriteriaType.Equals, "State", 1); }
/// <summary> /// 根据栏目获取文章 /// </summary> /// <param name="ch">栏目</param> /// <param name="includechildren">包含子栏目</param> /// <param name="from"></param> /// <param name="PageSize">页大小</param> List<Article> QueryArticlesByChannel(Channel ch, int from, int PageSize) { Criteria c = new Criteria(CriteriaType.None); if (HasChildrenChannel) { c.Add(CriteriaType.Like, "ChannelFullUrl", ch.FullUrl + "%"); c.Add(CriteriaType.Equals, "State", 1); } else { c.Add(CriteriaType.Equals, "OwnerID", ch.ID); c.Add(CriteriaType.Equals, "State", 1); } if (!String.IsNullOrEmpty(Tags)) { c.Add(CriteriaType.Like, "Tags", "%'" + Tags + "'%"); } Order[] os = IsShow ? new Order[] { new Order("IsShow", OrderMode.Desc), new Order("Updated", OrderMode.Desc) } : new Order[] { new Order("Updated", OrderMode.Desc) }; return Assistant.List<Article>(c, os, from, PageSize, new string[] { "ID", "Title", "Updated", "ChannelFullUrl", "Created", "SN" }); }
/// <summary> /// 获得当前栏目下的第一篇文章 /// </summary> /// <returns></returns> protected Article GetThisArticle() { string id = ChannelHelper.GetChannelIDFromURL(); Channel ch = ChannelHelper.GetChannel(id, null); Criteria c = new Criteria(CriteriaType.Equals, "ChannelFullUrl", ch.FullUrl); c.Add(CriteriaType.Equals, "State", 1); Order[] os = new Order[] { new Order("Updated", OrderMode.Desc) }; List<Article> aList = Assistant.List<Article>(c, os, 0, 1, new string[] { "ID", "Title", "ChannelFullUrl", "Created","Clicks", "SN","Content","OwnerID","Updated","State" }); if (aList != null && aList.Count > 0) { return aList[0]; } else { return new Article(); } }
/// <summary> /// 根据栏目获取文章 /// </summary> protected List<Article> QueryArticlesByChannels() { #region 将非空的栏目ID添加到 ListOwnerID List<string> ListOwnerID = new List<string>(); ; if (!string.IsNullOrEmpty(OwnerID1)) ListOwnerID.Add(OwnerID1); if (!string.IsNullOrEmpty(OwnerID2)) ListOwnerID.Add(OwnerID2); if (!string.IsNullOrEmpty(OwnerID3)) ListOwnerID.Add(OwnerID3); if (!string.IsNullOrEmpty(OwnerID4)) ListOwnerID.Add(OwnerID4); if (!string.IsNullOrEmpty(OwnerID5)) ListOwnerID.Add(OwnerID5); if (!string.IsNullOrEmpty(OwnerID6)) ListOwnerID.Add(OwnerID6); if (!string.IsNullOrEmpty(OwnerID7)) ListOwnerID.Add(OwnerID7); if (!string.IsNullOrEmpty(OwnerID8)) ListOwnerID.Add(OwnerID8); if (!string.IsNullOrEmpty(OwnerID9)) ListOwnerID.Add(OwnerID9); if (!string.IsNullOrEmpty(OwnerID10)) ListOwnerID.Add(OwnerID10); #endregion Criteria c = new Criteria(CriteriaType.None); //c.Add(CriteriaType.Like, "ChannelFullUrl", ch.FullUrl + "%"); c.Add(CriteriaType.Equals, "State", 1); if (!String.IsNullOrEmpty(Tags)) { c.Add(CriteriaType.Like, "Tags", "%'" + Tags + "'%"); } if (ListOwnerID.Count > 0) { Criteria cOr = new Criteria(CriteriaType.None); cOr.Mode = CriteriaMode.Or; foreach (string chID in ListOwnerID) { cOr.AddOr(CriteriaType.Equals, "OwnerID", chID); } c.Criterias.Add(cOr); } Order[] os = IsShow ? new Order[] { new Order("IsShow", OrderMode.Desc), new Order("Updated", OrderMode.Desc), new Order("ID", OrderMode.Desc) } : new Order[] { new Order("Updated", OrderMode.Desc), new Order("ID", OrderMode.Desc) }; return Assistant.List<Article>(c, os, 0, PageSize, new string[] {"ID", "Title", "ChannelFullUrl", "Created", "SN"}); }