public RepositoryQueryArguments(PagingArgument paging) : base(paging) { this.Visibility = VisibilityArgument.Unused; this.Affiliation = AffiliationArgument.Unused; this.Type = TypeArgument.Unused; this.Sort = SortArgument.Unused; this.Direction = DirectionArgument.Unused; }
public Core.DomainModel.Business[] SearchBusiness(Func <IList <SearchingArgument>, object> QueryExpressionFunction, IList <SearchingArgument> SearchingArguments, PagingArgument PagingArgument, bool IsIncludingConfigurations) { List <Core.DomainModel.Business> businesses = new List <Core.DomainModel.Business>(); List <Core.DomainModel.Configuration> configurations = null; using (DataModelContainer container = new DataModelContainer()) { Core.DomainModel.Business business = null; //var bizArray = new Business[] { };//container.Businesses.ToArray(); //if (PagingArgument != null) //{ // PagingArgument.Reset(bizArray.Length); // var bizQueryResult = container.Businesses.OrderByDescending(b => b.CreationTime).Skip(PagingArgument.CurrentPageIndex * PagingArgument.EachPageSize).Take(PagingArgument.EachPageSize); // if (QueryExpressionFunction != null && SearchingArguments != null) // { // var filterExpression = QueryExpressionFunction(SearchingArguments); // if (filterExpression != null && filterExpression is Expression<Func<Business, bool>>) // { // bizQueryResult = bizQueryResult.Where((filterExpression as Expression<Func<Business, bool>>)); // } // } // bizArray = bizQueryResult.ToArray(); //} var bizQueryResult = container.Businesses.OrderByDescending(b => b.CreationTime).AsQueryable(); if (QueryExpressionFunction != null && SearchingArguments != null) { var filterExpression = QueryExpressionFunction(SearchingArguments); if (filterExpression != null && filterExpression is Expression <Func <Business, bool> > ) { bizQueryResult = bizQueryResult.Where((filterExpression as Expression <Func <Business, bool> >)); } } if (PagingArgument != null) { //PagingArgument.Reset(bizQueryResult.Count(b => true)); //bizQueryResult = bizQueryResult.Skip(PagingArgument.CurrentPageIndex * PagingArgument.EachPageSize).Take(PagingArgument.EachPageSize); var futureCount = bizQueryResult.FutureCount(); var futureResult = bizQueryResult.Skip(PagingArgument.CurrentPageIndex * PagingArgument.EachPageSize).Take(PagingArgument.EachPageSize).Future(); PagingArgument.Reset(futureCount.Value); bizQueryResult = futureResult.AsQueryable(); } var bizArray = bizQueryResult.ToArray(); foreach (var biz in bizArray)//foreach (var biz in container.Businesses) { business = new Core.DomainModel.Business() { ID = biz.Id, Name = biz.Name, //ReferenceID = cust.ReferenceId }; if (!String.IsNullOrEmpty(biz.ReferenceId)) { business.ReferenceID = biz.ReferenceId.Split(new string[] { "," }, StringSplitOptions.None); } if (IsIncludingConfigurations) { var confs = container.Configurations.Where((o) => (o.BusinessId.ToLower() == biz.Id.ToLower())).ToArray(); if ((confs != null) && (confs.Length > 0)) { configurations = new List <Core.DomainModel.Configuration>(); foreach (var conf in confs) { configurations.Add(new Core.DomainModel.Configuration() { ID = conf.Id, ConfigurationType = ((ConfigurationType)(conf.TypeId)), DbConnectionString = conf.DbConnectionString }); } business.Configurations = configurations.ToArray(); } } businesses.Add(business); } } return(businesses.ToArray()); }
public ReleaseQueryArguments(PagingArgument paging) : base(paging) { }
static void TestBusinessSearchPaging() { BusinessManager bizManager = new BusinessManager(); PagingArgument pagingArg = new PagingArgument() { CurrentPageIndex = 0, EachPageSize = 125 }; List <SearchingArgument> searchingArgs = new List <SearchingArgument>() { new SearchingArgument { FieldName = "Name", FieldValue = "New", LogicalOperator = LogicalOperatorEnum.And, Operator = OperatorEnum.StartsWith //OperatorEnum.NotInclude //OperatorEnum.Includes }, new SearchingArgument { FieldName = "Name", FieldValue = "New", LogicalOperator = LogicalOperatorEnum.Or, Operator = OperatorEnum.NotEndWith //OperatorEnum.NotInclude //OperatorEnum.Includes }, new SearchingArgument { FieldName = "Name", FieldValue = "New", LogicalOperator = LogicalOperatorEnum.Or, Operator = OperatorEnum.Includes //OperatorEnum.NotInclude //OperatorEnum.Includes }, new SearchingArgument { FieldName = "CreationTime", FieldValue = DateTime.Now, LogicalOperator = LogicalOperatorEnum.And, Operator = OperatorEnum.LessThan }, new SearchingArgument { FieldName = "Name", FieldValue = new string[] { "New", "-", "Business", "00" }, LogicalOperator = LogicalOperatorEnum.Or, Operator = OperatorEnum.In //OperatorEnum.NotInclude //OperatorEnum.Includes } }; //var bizArray = bizManager.SearchBusiness(null, null, pagingArg); var bizArray = bizManager.SearchBusiness(bizManager.CreateBusinessQueryExpression, searchingArgs, pagingArg, false); if (bizArray != null && bizArray.Length > 0) { foreach (var biz in bizArray) { Console.WriteLine(biz.ID); Console.WriteLine(biz.Name); } } else { Console.WriteLine("None!"); } }
public QueryArguments(PagingArgument paging) : base() { this.Separator = ","; this.Paging = paging; }