public static string UnifiedSearch(string sUnifiedSearch, IDbCommand cmd)
 {
     string sSQL = String.Empty;
     SearchBuilder sb = new SearchBuilder(sUnifiedSearch, cmd);
     sSQL += sb.BuildQuery("   and ", "NAME"        );
     sSQL += sb.BuildQuery("    or ", "ACCOUNT_NAME");
     return sSQL;
 }
 private void Page_Load(object sender, System.EventArgs e)
 {
     // 06/09/2006 Paul.  Remove data binding in the user controls.  Binding is required, but only do so in the ASPX pages.
     //Page.DataBind();
     string sUnifiedSearch = Sql.ToString(Request["txtUnifiedSearch"]);
     if ( !Sql.IsEmptyString(sUnifiedSearch.Trim()) )
     {
         DbProviderFactory dbf = DbProviderFactories.GetFactory();
         using ( IDbConnection con = dbf.CreateConnection() )
         {
             string sSQL;
             sSQL = "select *              " + ControlChars.CrLf
                  + "  from vwPROJECTS_List" + ControlChars.CrLf
                  + " where 1 = 1          " + ControlChars.CrLf;
             using ( IDbCommand cmd = con.CreateCommand() )
             {
                 cmd.CommandText = sSQL;
                 SearchBuilder sb = new SearchBuilder(sUnifiedSearch, cmd);
                 cmd.CommandText += sb.BuildQuery("   and ", "NAME");
     #if DEBUG
                 Page.RegisterClientScriptBlock("vwPROJECTS_List", Sql.ClientScriptBlock(cmd));
     #endif
                 try
                 {
                     using ( DbDataAdapter da = dbf.CreateDataAdapter() )
                     {
                         ((IDbDataAdapter)da).SelectCommand = cmd;
                         using ( DataTable dt = new DataTable() )
                         {
                             da.Fill(dt);
                             vwMain = dt.DefaultView;
                             grdMain.DataSource = vwMain ;
                             if ( !IsPostBack )
                             {
                                 grdMain.SortColumn = "NAME";
                                 grdMain.SortOrder  = "asc" ;
                                 grdMain.ApplySort();
                                 grdMain.DataBind();
                             }
                         }
                     }
                 }
                 catch(Exception ex)
                 {
                     SplendidError.SystemError(new StackTrace(true).GetFrame(0), ex.Message);
                     lblError.Text = ex.Message;
                 }
             }
         }
         ctlListHeader.Visible = true;
     }
     else
     {
         ctlListHeader.Visible = false;
     }
 }
 public static string UnifiedSearch(string sUnifiedSearch, IDbCommand cmd)
 {
     string sSQL = String.Empty;
     SearchBuilder sb = new SearchBuilder(sUnifiedSearch, cmd);
     sSQL += sb.BuildQuery("   and ", "NAME"        );
     sSQL += sb.BuildQuery("    or ", "ACCOUNT_NAME");
     // 12/06/2007 Paul.  Keep the numeric test here because the case number will be a true numeric.
     // We may want to fix this in the future if we change the case number to an alpha numeric.
     if ( Information.IsNumeric(sUnifiedSearch) )
         sSQL += sb.BuildQuery("    or ", "CASE_NUMBER" );
     return sSQL;
 }
 public static string UnifiedSearch(string sUnifiedSearch, IDbCommand cmd)
 {
     string sSQL = String.Empty;
     SearchBuilder sb = new SearchBuilder(sUnifiedSearch, cmd);
     sSQL += sb.BuildQuery("   and ", "NAME");
     if ( Information.IsNumeric(sUnifiedSearch) )
     {
         sSQL += sb.BuildQuery("    or ", "PHONE_ALTERNATE");
         sSQL += sb.BuildQuery("    or ", "PHONE_FAX"      );
         sSQL += sb.BuildQuery("    or ", "PHONE_OFFICE"   );
     }
     return sSQL;
 }
 public static string UnifiedSearch(string sUnifiedSearch, IDbCommand cmd)
 {
     string sSQL = String.Empty;
     SearchBuilder sb = new SearchBuilder(sUnifiedSearch, cmd);
     sSQL += sb.BuildQuery("   and ", "NAME"        );
     //sSQL += sb.BuildQuery("    or ", "LAST_NAME"   );
     //sSQL += sb.BuildQuery("    or ", "FIRST_NAME"  );
     sSQL += sb.BuildQuery("    or ", "ACCOUNT_NAME");
     sSQL += sb.BuildQuery("    or ", "EMAIL1"      );
     sSQL += sb.BuildQuery("    or ", "EMAIL2"      );
     if ( Information.IsNumeric(sUnifiedSearch) )
     {
         sSQL += sb.BuildQuery("    or ", "PHONE_HOME"  );
         sSQL += sb.BuildQuery("    or ", "PHONE_MOBILE");
         sSQL += sb.BuildQuery("    or ", "PHONE_WORK"  );
         sSQL += sb.BuildQuery("    or ", "PHONE_OTHER" );
         sSQL += sb.BuildQuery("    or ", "PHONE_FAX"   );
     }
     return sSQL;
 }
 public static string UnifiedSearch(string sUnifiedSearch, IDbCommand cmd)
 {
     string sSQL = String.Empty;
     SearchBuilder sb = new SearchBuilder(sUnifiedSearch, cmd);
     sSQL += sb.BuildQuery("   and ", "NAME"        );
     //sSQL += sb.BuildQuery("    or ", "LAST_NAME"   );
     //sSQL += sb.BuildQuery("    or ", "FIRST_NAME"  );
     sSQL += sb.BuildQuery("    or ", "ACCOUNT_NAME");
     sSQL += sb.BuildQuery("    or ", "EMAIL1"      );
     sSQL += sb.BuildQuery("    or ", "EMAIL2"      );
     // 12/06/2007 Paul.  Skip the attempt to be efficient.  Something as simple as 555-1212 will fail the IsNumeric test.
     // if ( Information.IsNumeric(sUnifiedSearch) )
     {
         sSQL += sb.BuildQuery("    or ", "PHONE_HOME"  );
         sSQL += sb.BuildQuery("    or ", "PHONE_MOBILE");
         sSQL += sb.BuildQuery("    or ", "PHONE_WORK"  );
         sSQL += sb.BuildQuery("    or ", "PHONE_OTHER" );
         sSQL += sb.BuildQuery("    or ", "PHONE_FAX"   );
     }
     return sSQL;
 }
示例#7
0
        protected void SetCustomSearchCriteria(ref SearchBuilder sb)
        {
            if (ContainingAssetsFromBrandId != 0)
            {
                string criteria = string.Format("{0}.OrderId IN (SELECT OrderId FROM [v_OrderItem] OI WHERE OI.AssetBrandId={1})", sb.TableAlias, ContainingAssetsFromBrandId);
                sb.Criteria.Add(criteria);
            }

            if (ContainingAssetsUploadedByUserId != 0)
            {
                string criteria = string.Format("{0}.OrderId IN (SELECT OrderId FROM [v_OrderItem] OI WHERE OI.AssetUploadUserId={1})", sb.TableAlias, ContainingAssetsUploadedByUserId);
                sb.Criteria.Add(criteria);
            }

            if (PendingOrdersOnly.HasValue)
            {
                sb.Criteria.Add(PendingOrdersOnly.Value ? "CompletionDate IS NULL" : "CompletionDate IS NOT NULL");
            }

            if (!StringUtils.IsBlank(GeneralKeyword))
            {
                JoinableList jList = new JoinableList(" OR ");

                if (NumericUtils.IsInt32(GeneralKeyword))
                {
                    jList.Add(string.Format("{0}={1}", Order.Columns.OrderId, GeneralKeyword));
                }
                else
                {
                    foreach (string column in new[] { "UserName", "UserEmail", "UserPrimaryBrandName" })
                    {
                        jList.Add(string.Format("{0} LIKE '%{1}%'", column, SqlUtils.SafeValue(GeneralKeyword)));
                    }
                }

                sb.Criteria.Add(jList);
            }
        }
示例#8
0
        public static string UnifiedSearch(string sUnifiedSearch, IDbCommand cmd)
        {
            string        sSQL = String.Empty;
            SearchBuilder sb   = new SearchBuilder(sUnifiedSearch, cmd);

            sSQL += sb.BuildQuery("   and ", "NAME");
            //sSQL += sb.BuildQuery("    or ", "LAST_NAME"   );
            //sSQL += sb.BuildQuery("    or ", "FIRST_NAME"  );
            sSQL += sb.BuildQuery("    or ", "ACCOUNT_NAME");
            sSQL += sb.BuildQuery("    or ", "ASSISTANT");
            sSQL += sb.BuildQuery("    or ", "EMAIL1");
            sSQL += sb.BuildQuery("    or ", "EMAIL2");
            if (Information.IsNumeric(sUnifiedSearch))
            {
                sSQL += sb.BuildQuery("    or ", "PHONE_HOME");
                sSQL += sb.BuildQuery("    or ", "PHONE_MOBILE");
                sSQL += sb.BuildQuery("    or ", "PHONE_WORK");
                sSQL += sb.BuildQuery("    or ", "PHONE_OTHER");
                sSQL += sb.BuildQuery("    or ", "PHONE_FAX");
                sSQL += sb.BuildQuery("    or ", "ASSISTANT_PHONE");
            }
            return(sSQL);
        }
示例#9
0
        //public IEnumerable<laptop> getAll()
        //{
        //    var searchQuery = db.laptops;
        //    return searchQuery;
        //}
        //public IHttpActionResult GetProduct(string features_hash)
        //{
        //    SearchParameters seacrhParameters = new SearchParameters();
        //    string[] ListQuery;
        //    ListQuery = features_hash.Split('_');
        //    foreach (var item in ListQuery)
        //    {
        //        string typeQuery = item.Split('-')[0];
        //        string QueryData = item.Split('-')[1];
        //        switch (typeQuery)
        //        {
        //            case "1":
        //                seacrhParameters.SearchTerm = QueryData;
        //                break;
        //            case "2":
        //                seacrhParameters.Company.Add(QueryData);
        //                break;
        //            case "3":
        //                seacrhParameters.ScreenResolution.Add(QueryData);
        //                break;
        //            case "4":
        //                seacrhParameters.TypeName.Add(QueryData);
        //                break;
        //            case "5":
        //                seacrhParameters.Inches.Add(float.Parse(QueryData));
        //                break;
        //            case "6":
        //                seacrhParameters.CPU.Add(QueryData);
        //                break;
        //            case "7":
        //                seacrhParameters.Speed.Add(float.Parse(QueryData));
        //                break;
        //            case "8":
        //                seacrhParameters.Memory.Add(QueryData);
        //                break;
        //            case "9":
        //                seacrhParameters.Ram.Add(Int32.Parse(QueryData));
        //                break;
        //            case "10":
        //                seacrhParameters.GPU.Add(QueryData);
        //                break;
        //            case "11":
        //                seacrhParameters.OS.Add(QueryData);
        //                break;
        //            case "12":
        //                seacrhParameters.PriceLow = double.Parse(QueryData);
        //                break;
        //            case "13":
        //                seacrhParameters.PriceHigh = double.Parse(QueryData);
        //                break;
        //            case "14":
        //                seacrhParameters.Weight.Add(float.Parse(QueryData));
        //                break;
        //            case "15":
        //                switch (QueryData)
        //                {
        //                    case "1":
        //                        seacrhParameters.SortBy = SortCriteria.PriceHighToLow;
        //                        break;
        //                    case "2":
        //                        seacrhParameters.SortBy = SortCriteria.PriceLowToHigh;
        //                        break;
        //                    default:
        //                        seacrhParameters.SortBy = SortCriteria.Relevance;
        //                        break;
        //                }
        //                break;
        //            default:
        //                break;
        //        }
        //    }
        //    var searchQuery = new SearchBuilder().
        //    SetSearchTerm(seacrhParameters.SearchTerm).//1
        //    SetCompany(seacrhParameters.Company).//2
        //    SetScreenResolution(seacrhParameters.ScreenResolution).//3
        //    SetTypeName(seacrhParameters.TypeName).//4
        //    SetInch(seacrhParameters.Inches).//5
        //    SetCPU(seacrhParameters.CPU).//6
        //    SetSpeed(seacrhParameters.Speed).//7
        //    SetMemory(seacrhParameters.Memory).//8
        //    SetRam(seacrhParameters.Ram).//9
        //    SetGPU(seacrhParameters.GPU).//10
        //    SetOS(seacrhParameters.OS).//11
        //    SetPriceLow(seacrhParameters.PriceLow).//12
        //    SetPriceHigh(seacrhParameters.PriceHigh).//13
        //    SetWeight(seacrhParameters.Weight)//14
        //    .SetSortBy(SortCriteria.PriceHighToLow)//15
        //    .Build(db);
        //    return Ok(searchQuery);
        //}
        public IHttpActionResult Search(SearchParameters searchParameters)
        {
            FilterDbContext db = new FilterDbContext();

            var searchQuery = new SearchBuilder().
                              SetSearchTerm(searchParameters.SearchTerm).
                              SetCompany(searchParameters.Company).
                              SetScreenResolution(searchParameters.ScreenResolution).
                              SetTypeName(searchParameters.TypeName).
                              SetInch(searchParameters.Inches).
                              SetCPU(searchParameters.CPU).
                              SetSpeed(searchParameters.Speed).
                              SetMemory(searchParameters.Memory).
                              SetRam(searchParameters.Ram).
                              SetGPU(searchParameters.GPU).
                              SetOS(searchParameters.OS).
                              SetPriceLow(searchParameters.PriceLow).
                              SetPriceHigh(searchParameters.PriceHigh).
                              SetWeight(searchParameters.Weight)
                              .SetSortBy(SortCriteria.PriceHighToLow)
                              .Build(db);

            return(Ok(searchQuery));
        }
        public void SearchForEntity()
        {
            Search search = SearchBuilder.CreateSearch();

            search.AsOf = this.AsOf;
            search.AddSearchCriteria(SearchCombinator.And)
            .AddCriteria("Name", SearchCondition.Contains, this.EntitySearchText);

            search.SearchOptions.OrderBy = "Name";
            this.entityService.ExecuteAsyncSearch <PartyRole>(
                search,
                response =>
            {
                IList <PartyRole> searchResults = response;
                this.PartyRoles =
                    new ObservableCollection <SelectorViewModel>(
                        searchResults.Select(
                            x =>
                            new SelectorViewModel(
                                x.MdmId().Value,
                                x.Details.Name + " [" + x.PartyRoleType + "]")).OrderBy(y => y.Name));
            },
                this.eventAggregator);
        }
        public static string UnifiedSearch(string sUnifiedSearch, IDbCommand cmd)
        {
            string        sSQL = String.Empty;
            SearchBuilder sb   = new SearchBuilder(sUnifiedSearch, cmd);

            sSQL += sb.BuildQuery("   and ", "NAME");
            //sSQL += sb.BuildQuery("    or ", "LAST_NAME"   );
            //sSQL += sb.BuildQuery("    or ", "FIRST_NAME"  );
            sSQL += sb.BuildQuery("    or ", "ACCOUNT_NAME");
            sSQL += sb.BuildQuery("    or ", "ASSISTANT");
            sSQL += sb.BuildQuery("    or ", "EMAIL1");
            sSQL += sb.BuildQuery("    or ", "EMAIL2");
            // 12/06/2007 Paul.  Skip the attempt to be efficient.  Something as simple as 555-1212 will fail the IsNumeric test.
            // if ( Information.IsNumeric(sUnifiedSearch) )
            {
                sSQL += sb.BuildQuery("    or ", "PHONE_HOME");
                sSQL += sb.BuildQuery("    or ", "PHONE_MOBILE");
                sSQL += sb.BuildQuery("    or ", "PHONE_WORK");
                sSQL += sb.BuildQuery("    or ", "PHONE_OTHER");
                sSQL += sb.BuildQuery("    or ", "PHONE_FAX");
                sSQL += sb.BuildQuery("    or ", "ASSISTANT_PHONE");
            }
            return(sSQL);
        }
        private static Entity Search(string url)
        {
            var query = SearchUrlPattern.Match(HttpUtility.UrlDecode(url)).Groups[1].Value;

            var searchBuilder = new SearchBuilder().WithQuery(query);

            var nameValueCollection = HttpUtility.ParseQueryString(new Uri(RedditBaseAddress, url).Query);

            IEnumerable <Thing> things;

            if (nameValueCollection.AllKeys.Contains("type"))
            {
                var type = nameValueCollection["type"];

                var count = nameValueCollection.AllKeys.Contains("count") ? int.Parse(nameValueCollection["count"]) : 0;

                searchBuilder.WithCount(count);

                if (type == "subreddit")
                {
                    things = new Reddit().SearchSubreddits(query).Skip(count).Take(25);
                    searchBuilder.OnlySubreddit();
                }
                else
                {
                    things = new Reddit().Search <Thing>(query).Skip(count).Take(25);
                    searchBuilder.OnlyPost();
                }
            }
            else
            {
                things = new Reddit().SearchSubreddits(query).Take(3).Concat(new Reddit().Search <Thing>(query).Take(22));
            }

            return(searchBuilder.Build(things));
        }
示例#13
0
        static void Main(string[] args)
        {
            string     password, answer;
            Searchable category;

            //check password
            do
            {
                Console.Write("Password: "******"Password: "******"Password correct!");
            GreetTheUser();

            //TODO: make it less ugly pls
            //main program loop
            while (!EXIT)
            {
                do
                {
                    Console.WriteLine($"What are you looking for?");
                    Console.WriteLine("[c] - character");
                    Console.WriteLine("[l] - location");
                    Console.Write(SHELL_TEXT);
                    answer = Console.ReadLine().Replace(SHELL_TEXT, string.Empty);
                    if (answer.ToLower().Equals("c"))
                    {
                        category = Searchable.Character;
                    }
                    else if (answer.ToLower().Equals("l"))
                    {
                        category = Searchable.Location;
                    }
                    else if (answer.ToLower().Equals("exit"))
                    {
                        EXIT     = true;
                        category = Searchable.ABANDON;
                    }
                    else
                    {
                        category = Searchable.Null;
                    }
                } while (category.Equals(Searchable.Null));

                if (EXIT)
                {
                    continue;
                }
                //get filters
                Dictionary <string, string> filters = GetUserDefinedFilters(category);

                Console.WriteLine("Search pending...");

                Search_ search = SearchBuilder.Init()
                                 .WithSearchCategory(category)
                                 .WithSearchFilters(filters)
                                 .Build();
                try
                {
                    List <dynamic> results = search.GetResult();
                    if (category.Equals(Searchable.Character))
                    {
                        List <Character> characters = new List <Character>();
                        foreach (var result in results)
                        {
                            Character character = CharacterBuilder.Init()
                                                  .WithName(result.name)
                                                  .WithStatus(result.status)
                                                  .OfGender(result.gender)
                                                  .From(result.origin.name)
                                                  .SpeciesOf(result.species)
                                                  .PlayedIn((ushort)result.episode.Count)
                                                  .LastSeenAt(result.location.name)
                                                  .Build();
                            characters.Add(character);
                        }
                        _ = new PDFCreator($"characters.pdf", characters);
                        Console.WriteLine("Enjoy your results, nerd!\n");
                    }
                    else
                    {
                        List <Location> locations = new List <Location>();
                        foreach (var result in results)
                        {
                            Location location = LocationBuilder.Init()
                                                .WithName(result.name)
                                                .FromDimension(result.dimension)
                                                .OfType(result.type)
                                                .WithThatManyResidents((ushort)result.residents.Count)
                                                .Build();
                            locations.Add(location);
                        }
                        _ = new PDFCreator($"locations.pdf", locations);
                    }
                }
                catch (System.Net.Http.HttpRequestException)
                {
                    Console.WriteLine("There were no results for the search with your filters. Try again or exit. \n");
                }
            }
            Console.WriteLine("Thanks for using the app!");
        }
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (AssetWorkflowUserIdList != null && AssetWorkflowUserIdList.Count > 0)
            {
                JoinableList list = new JoinableList(AssetWorkflowUserIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", AssetWorkflowUser.Columns.AssetWorkflowUserId));
            }

            if (AssetWorkflowUserId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@assetWorkflowUserId", AssetWorkflowUser.Columns.AssetWorkflowUserId));
                sb.AddDataParameter("@assetWorkflowUserId", AssetWorkflowUserId.Value);
            }

            if (AssetWorkflowId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@assetWorkflowId", AssetWorkflowUser.Columns.AssetWorkflowId));
                sb.AddDataParameter("@assetWorkflowId", AssetWorkflowId);
            }

            if (UserId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@userId", AssetWorkflowUser.Columns.UserId));
                sb.AddDataParameter("@userId", UserId);
            }

            if (Position != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@position", AssetWorkflowUser.Columns.Position));
                sb.AddDataParameter("@position", Position);
            }

            if (Comments != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@comments", AssetWorkflowUser.Columns.Comments));
                sb.AddDataParameter("@comments", Comments);
            }

            if (AssetWorkflowUserStatusId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@assetWorkflowUserStatusId", AssetWorkflowUser.Columns.AssetWorkflowUserStatusId));
                sb.AddDataParameter("@assetWorkflowUserStatusId", AssetWorkflowUserStatusId);
            }

            if (CreateDate != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@createDate", AssetWorkflowUser.Columns.CreateDate));
                sb.AddDataParameter("@createDate", CreateDate);
            }

            if (LastUpdate != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@lastUpdate", AssetWorkflowUser.Columns.LastUpdate));
                sb.AddDataParameter("@lastUpdate", LastUpdate);
            }

            if (IsDeleted.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@isDeleted", AssetWorkflowUser.Columns.IsDeleted));
                sb.AddDataParameter("@isDeleted", SqlUtils.BitValue(IsDeleted.Value));
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#15
0
 public void TestInitialize()
 {
     target = new SearchBuilder<SampleClass>();
 }
 /// <summary>
 ///   Begins Fluent Builder chain for Sql Server searches
 /// </summary>
 /// <param name="sb">The sb.</param>
 /// <param name="connection">The connection.</param>
 /// <returns></returns>
 public static SqlServerCollectorBuilder Targeting(this SearchBuilder sb, IDbConnection connection)
 {
     return(new SqlServerCollectorBuilder(connection));
 }
示例#17
0
 public SearchBuilderConfig(SearchBuilder searchBuilder)
 {
     SearchBuilder = searchBuilder;
 }
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (AuditAssetSearchIdList != null && AuditAssetSearchIdList.Count > 0)
            {
                JoinableList list = new JoinableList(AuditAssetSearchIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", AuditAssetSearch.Columns.AuditAssetSearchId));
            }

            if (AuditAssetSearchId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@auditAssetSearchId", AuditAssetSearch.Columns.AuditAssetSearchId));
                sb.AddDataParameter("@auditAssetSearchId", AuditAssetSearchId.Value);
            }

            if (SessionId != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@sessionId", AuditAssetSearch.Columns.SessionId));
                sb.AddDataParameter("@sessionId", SessionId);
            }

            if (IpAddress != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@ipAddress", AuditAssetSearch.Columns.IpAddress));
                sb.AddDataParameter("@ipAddress", IpAddress);
            }

            if (UserId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@userId", AuditAssetSearch.Columns.UserId));
                sb.AddDataParameter("@userId", UserId);
            }

            if (Date != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@date", AuditAssetSearch.Columns.Date));
                sb.AddDataParameter("@date", Date);
            }

            if (SearchKeyword != String.Empty)
            {
                sb.Criteria.Add("SearchKeyword=@searchKeyword");
                sb.AddDataParameter("@searchKeyword", SearchKeyword);
            }

            if (AssetId.HasValue)
            {
                if (AssetId.Value == 0)
                {
                    sb.Criteria.Add("AssetId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("AssetId=@assetId");
                    sb.AddDataParameter("@assetId", AssetId.Value);
                }
            }

            if (UserName != String.Empty)
            {
                sb.Criteria.Add("UserName=@userName");
                sb.AddDataParameter("@userName", UserName);
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#19
0
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (AssetOrderHistoryId.HasValue)
            {
                sb.Criteria.Add("AssetOrderHistoryId=@auditAssetHistoryId");
                sb.AddDataParameter("@auditAssetHistoryId", AssetOrderHistoryId.Value);
            }

            if (AssetId.HasValue)
            {
                sb.Criteria.Add("AssetId=@assetId");
                sb.AddDataParameter("@assetId", AssetId.Value);
            }

            if (OrderId.HasValue)
            {
                sb.Criteria.Add("OrderId=@orderId");
                sb.AddDataParameter("@orderId", OrderId.Value);
            }

            if (OrderDate.HasValue)
            {
                sb.Criteria.Add("OrderDate=@orderDate");
                sb.AddDataParameter("@orderDate", OrderDate.Value);
            }

            if (DeadlineDate.HasValue)
            {
                sb.Criteria.Add("DeadlineDate=@deadlineDate");
                sb.AddDataParameter("@deadlineDate", DeadlineDate.Value);
            }

            if (UserEmail != String.Empty)
            {
                sb.Criteria.Add("UserEmail=@userEmail");
                sb.AddDataParameter("@userEmail", UserEmail);
            }

            if (UserId.HasValue)
            {
                sb.Criteria.Add("UserId=@userId");
                sb.AddDataParameter("@userId", UserId.Value);
            }

            if (UserName != String.Empty)
            {
                sb.Criteria.Add("UserName=@userName");
                sb.AddDataParameter("@userName", UserName);
            }

            if (Notes != String.Empty)
            {
                sb.Criteria.Add("Notes=@notes");
                sb.AddDataParameter("@notes", Notes);
            }

            if (OrderItemStatusDate.HasValue)
            {
                sb.Criteria.Add("OrderItemStatusDate=@orderItemStatusDate");
                sb.AddDataParameter("@orderItemStatusDate", OrderItemStatusDate.Value);
            }

            if (OrderItemStatusId.HasValue)
            {
                sb.Criteria.Add("OrderItemStatusId=@orderItemStatusId");
                sb.AddDataParameter("@orderItemStatusId", OrderItemStatusId);
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#20
0
        protected void SetCustomSearchCriteria(ref SearchBuilder sb)
        {
            if (UserIdFinder != null)
            {
                sb.Criteria.Add("UserId IN (" + UserIdFinder.FindQuery + ")");
            }

            if (!StringUtils.IsBlank(Keyword))
            {
                JoinableList jList = new JoinableList(" OR ");

                if (NumericUtils.IsInt32(Keyword))
                {
                    jList.Add(string.Format("({0}={1})", AuditUserHistory.Columns.UserId, Keyword));
                }

                string safeSector = SqlUtils.SafeValue(Keyword);

                jList.Add(string.Format("({0} LIKE '%{1}%')", AuditUserHistory.Columns.SessionId, safeSector));
                jList.Add(string.Format("({0} LIKE '%{1}%')", AuditUserHistory.Columns.IpAddress, safeSector));
                jList.Add(string.Format("({0} LIKE '%{1}%')", AuditUserHistory.Columns.Notes, safeSector));
                jList.Add(string.Format("(Description LIKE '%{0}%')", safeSector));
                jList.Add(string.Format("(UserName LIKE '%{0}%')", safeSector));
                jList.Add(string.Format("(UserEmail LIKE '%{0}%')", safeSector));

                sb.Criteria.Add(jList.ToString());
            }

            if (StartDate.HasValue)
            {
                string criteria = string.Format("[Date] >= '{0}'", StartDate.Value.ToString("yyyy-MM-dd"));
                sb.Criteria.Add(criteria);
            }

            if (EndDate.HasValue)
            {
                string criteria = string.Format("[Date] <= '{0}'", EndDate.Value.ToString("yyyy-MM-dd"));
                sb.Criteria.Add(criteria);
            }

            if (SuccessfulLogins)
            {
                // TODO: Doing a LIKE query is not very efficient.  Need to change this... seperate login events perhaps
                // and add an AuditUserAction for Successful Login and Login Errors

                string criteria = string.Format("(([{0}]={1}) AND ([Notes] LIKE 'Login Successful.%'))", AuditUserHistory.Columns.AuditUserActionId, Convert.ToInt32(AuditUserAction.UserLogin));
                sb.Criteria.Add(criteria);
            }

            if (AuditUserActionList.Count > 0)
            {
                JoinableList jList = new JoinableList();

                foreach (AuditUserAction action in AuditUserActionList)
                {
                    jList.Add(Convert.ToInt32(action));
                }

                sb.Criteria.Add("AuditUserActionId IN (" + jList + ")");
            }

            Debug.WriteLine(sb.GetCountQuery());
        }
示例#21
0
 protected void SetCustomSearchCriteria(ref SearchBuilder sb)
 {
     // Put custom search criteria here
 }
示例#22
0
 public SearchCriteriaBuilder<TResult> Where<T>(DataServiceCriteria criteria, T value)
 {
     return SearchBuilder.And(criteria, value);
 }
示例#23
0
 public void Setup()
 {
     this._sb = new SearchBuilder();
 }
示例#24
0
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (OrderIdList != null && OrderIdList.Count > 0)
            {
                JoinableList list = new JoinableList(OrderIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", Order.Columns.OrderId));
            }

            if (OrderId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@orderId", Order.Columns.OrderId));
                sb.AddDataParameter("@orderId", OrderId.Value);
            }

            if (UserId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@userId", Order.Columns.UserId));
                sb.AddDataParameter("@userId", UserId);
            }

            if (OrderDate != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@orderDate", Order.Columns.OrderDate));
                sb.AddDataParameter("@orderDate", OrderDate);
            }

            if (CompletionDate != null)
            {
                sb.Criteria.Add(string.Format("{0}=@completionDate", Order.Columns.CompletionDate));
                sb.AddDataParameter("@completionDate", CompletionDate.Value);
            }

            if (UserName != String.Empty)
            {
                sb.Criteria.Add("UserName=@userName");
                sb.AddDataParameter("@userName", UserName);
            }

            if (UserEmail != String.Empty)
            {
                sb.Criteria.Add("UserEmail=@userEmail");
                sb.AddDataParameter("@userEmail", UserEmail);
            }

            if (UserPrimaryBrandId.HasValue)
            {
                if (UserPrimaryBrandId.Value == 0)
                {
                    sb.Criteria.Add("UserPrimaryBrandId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("UserPrimaryBrandId=@userPrimaryBrandId");
                    sb.AddDataParameter("@userPrimaryBrandId", UserPrimaryBrandId.Value);
                }
            }

            if (UserPrimaryBrandName != String.Empty)
            {
                sb.Criteria.Add("UserPrimaryBrandName=@userPrimaryBrandName");
                sb.AddDataParameter("@userPrimaryBrandName", UserPrimaryBrandName);
            }

            if (AssetCount.HasValue)
            {
                if (AssetCount.Value == 0)
                {
                    sb.Criteria.Add("AssetCount IS NULL");
                }
                else
                {
                    sb.Criteria.Add("AssetCount=@assetCount");
                    sb.AddDataParameter("@assetCount", AssetCount.Value);
                }
            }

            if (IsPending.HasValue)
            {
                sb.Criteria.Add("IsPending=@isPending");
                sb.AddDataParameter("@isPending", SqlUtils.BitValue(IsPending.Value));
            }

            if (DeadlineDate != null)
            {
                sb.Criteria.Add("DeadlineDate=@deadlineDate");
                sb.AddDataParameter("@deadlineDate", DeadlineDate.Value);
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#25
0
        public SearchConfiguration(IElasticClient elasticClient, ICoreOperations esCoreOperation, ISearchOperations esSearchOperation, IOptions <EsConfigOptions> options, SearchBuilder searchBuilder) :
            base(elasticClient, esCoreOperation, esSearchOperation, options, searchBuilder)
        {
            var mappingRequrest = new PutMappingRequest("customer");

            mappingRequrest.Properties = SearchBuilder.Entity <CustomerModel>().Descriptor;


            elasticClient.Map(mappingRequrest);
        }
示例#26
0
 public void TestInitialize()
 {
     var builder = new SearchBuilder<SampleClass>();
     target = builder["StringProperty"];
 }
 protected override Search CreateSearch()
 {
     this.s = SearchBuilder.CreateSearch().NotMultiPage().NoMaxPageSize();
     this.s.AddSearchCriteria(SearchCombinator.Or).AddCriteria("Name", SearchCondition.Equals, "TestParty");
     return(this.s);
 }
示例#28
0
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (AssetWorkflowCommenterIdList != null && AssetWorkflowCommenterIdList.Count > 0)
            {
                JoinableList list = new JoinableList(AssetWorkflowCommenterIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", AssetWorkflowCommenter.Columns.AssetWorkflowCommenterId));
            }

            if (AssetWorkflowCommenterId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@assetWorkflowCommenterId", AssetWorkflowCommenter.Columns.AssetWorkflowCommenterId));
                sb.AddDataParameter("@assetWorkflowCommenterId", AssetWorkflowCommenterId.Value);
            }

            if (UserId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@userId", AssetWorkflowCommenter.Columns.UserId));
                sb.AddDataParameter("@userId", UserId);
            }

            if (InvitingAssetWorkflowUserId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@invitingAssetWorkflowUserId", AssetWorkflowCommenter.Columns.InvitingAssetWorkflowUserId));
                sb.AddDataParameter("@invitingAssetWorkflowUserId", InvitingAssetWorkflowUserId);
            }

            if (InvitingUserMessage != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@invitingUserMessage", AssetWorkflowCommenter.Columns.InvitingUserMessage));
                sb.AddDataParameter("@invitingUserMessage", InvitingUserMessage);
            }

            if (Comments != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@comments", AssetWorkflowCommenter.Columns.Comments));
                sb.AddDataParameter("@comments", Comments);
            }

            if (CreateDate != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@createDate", AssetWorkflowCommenter.Columns.CreateDate));
                sb.AddDataParameter("@createDate", CreateDate);
            }

            if (LastUpdate != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@lastUpdate", AssetWorkflowCommenter.Columns.LastUpdate));
                sb.AddDataParameter("@lastUpdate", LastUpdate);
            }

            if (InvitingUserId.HasValue)
            {
                if (InvitingUserId.Value == 0)
                {
                    sb.Criteria.Add("InvitingUserId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("InvitingUserId=@invitingUserId");
                    sb.AddDataParameter("@invitingUserId", InvitingUserId.Value);
                }
            }

            if (AssetWorkflowId.HasValue)
            {
                if (AssetWorkflowId.Value == 0)
                {
                    sb.Criteria.Add("AssetWorkflowId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("AssetWorkflowId=@assetWorkflowId");
                    sb.AddDataParameter("@assetWorkflowId", AssetWorkflowId.Value);
                }
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#29
0
 public void Setup()
 {
     this._sb = new SearchBuilder();
 }
 /// <summary>
 ///   Begins Fluent Builder chain for Sql Server searches (fine-control over dependencies)
 /// </summary>
 /// <param name="sb">The sb.</param>
 /// <param name="dataReaderFactory">The data reader factory.</param>
 /// <param name="statementProvider">The statement provider.</param>
 /// <returns></returns>
 public static SqlServerCollectorBuilder Targeting(this SearchBuilder sb, ISqlDataReaderFactory dataReaderFactory,
                                                   IConsolidatedSqlStatementProvider statementProvider)
 {
     return(new SqlServerCollectorBuilder(dataReaderFactory, statementProvider));
 }
示例#31
0
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (OrderItemIdList != null && OrderItemIdList.Count > 0)
            {
                JoinableList list = new JoinableList(OrderItemIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", OrderItem.Columns.OrderItemId));
            }

            if (OrderItemId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@orderItemId", OrderItem.Columns.OrderItemId));
                sb.AddDataParameter("@orderItemId", OrderItemId.Value);
            }

            if (OrderId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@orderId", OrderItem.Columns.OrderId));
                sb.AddDataParameter("@orderId", OrderId);
            }

            if (AssetId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@assetId", OrderItem.Columns.AssetId));
                sb.AddDataParameter("@assetId", AssetId);
            }

            if (Notes != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@notes", OrderItem.Columns.Notes));
                sb.AddDataParameter("@notes", Notes);
            }

            if (RequiredByDate != null)
            {
                sb.Criteria.Add(string.Format("{0}=@requiredByDate", OrderItem.Columns.RequiredByDate));
                sb.AddDataParameter("@requiredByDate", RequiredByDate.Value);
            }

            if (OrderItemStatusId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@orderItemStatusId", OrderItem.Columns.OrderItemStatusId));
                sb.AddDataParameter("@orderItemStatusId", OrderItemStatusId);
            }

            if (OrderItemStatusDate != null)
            {
                sb.Criteria.Add(string.Format("{0}=@orderItemStatusDate", OrderItem.Columns.OrderItemStatusDate));
                sb.AddDataParameter("@orderItemStatusDate", OrderItemStatusDate.Value);
            }

            if (OrderItemStatusUserId != null)
            {
                sb.Criteria.Add(string.Format("{0}=@orderItemStatusUserId", OrderItem.Columns.OrderItemStatusUserId));
                sb.AddDataParameter("@orderItemStatusUserId", OrderItemStatusUserId.Value);
            }

            if (AssignedToUserId != null)
            {
                sb.Criteria.Add(string.Format("{0}=@assignedToUserId", OrderItem.Columns.AssignedToUserId));
                sb.AddDataParameter("@assignedToUserId", AssignedToUserId.Value);
            }

            if (CreateDate != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@createDate", OrderItem.Columns.CreateDate));
                sb.AddDataParameter("@createDate", CreateDate);
            }

            if (UserId.HasValue)
            {
                if (UserId.Value == 0)
                {
                    sb.Criteria.Add("UserId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("UserId=@userId");
                    sb.AddDataParameter("@userId", UserId.Value);
                }
            }

            if (AssetUploadUserId.HasValue)
            {
                if (AssetUploadUserId.Value == 0)
                {
                    sb.Criteria.Add("AssetUploadUserId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("AssetUploadUserId=@assetUploadUserId");
                    sb.AddDataParameter("@assetUploadUserId", AssetUploadUserId.Value);
                }
            }

            if (AssetBrandId.HasValue)
            {
                if (AssetBrandId.Value == 0)
                {
                    sb.Criteria.Add("AssetBrandId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("AssetBrandId=@assetBrandId");
                    sb.AddDataParameter("@assetBrandId", AssetBrandId.Value);
                }
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#32
0
 private IQueryResponse<Tweet> ExecuteRaw(string query, int maxDocuments)
 {
     var searchBuilder = new SearchBuilder();
     searchBuilder.Query(query).Size(maxDocuments);
     return _client.Search<Tweet>(searchBuilder);
 }
示例#33
0
        public IHttpActionResult GetProduct(string features_hash)
        {
            SearchParameters seacrhParameters = new SearchParameters();

            string[] ListQuery;
            ListQuery = features_hash.Split('_');
            foreach (var item in ListQuery)
            {
                string typeQuery = item.Split('-')[0];
                string QueryData = item.Split('-')[1];
                switch (typeQuery)
                {
                case "1":
                    seacrhParameters.SearchTerm = QueryData;
                    break;

                case "2":
                    seacrhParameters.Company.Add(QueryData);
                    break;

                case "3":
                    seacrhParameters.ScreenResolution.Add(QueryData);
                    break;

                case "4":
                    seacrhParameters.TypeName.Add(QueryData);
                    break;

                case "5":
                    seacrhParameters.Inches.Add(float.Parse(QueryData));
                    break;

                case "6":
                    seacrhParameters.CPU.Add(QueryData);
                    break;

                case "7":
                    seacrhParameters.Speed.Add(float.Parse(QueryData));
                    break;

                case "8":
                    seacrhParameters.Memory.Add(QueryData);
                    break;

                case "9":
                    seacrhParameters.Ram.Add(Int32.Parse(QueryData));
                    break;

                case "10":
                    seacrhParameters.GPU.Add(QueryData);
                    break;

                case "11":
                    seacrhParameters.OS.Add(QueryData);
                    break;

                case "12":
                    seacrhParameters.PriceLow = double.Parse(QueryData);
                    break;

                case "13":
                    seacrhParameters.PriceHigh = double.Parse(QueryData);
                    break;

                case "14":
                    seacrhParameters.Weight.Add(float.Parse(QueryData));
                    break;

                case "15":
                    switch (QueryData)
                    {
                    case "1":
                        seacrhParameters.SortBy = SortCriteria.PriceHighToLow;
                        break;

                    case "2":
                        seacrhParameters.SortBy = SortCriteria.PriceLowToHigh;
                        break;

                    default:
                        seacrhParameters.SortBy = SortCriteria.Relevance;
                        break;
                    }
                    break;

                default:
                    break;
                }
            }


            var searchQuery = new SearchBuilder().
                              SetSearchTerm(seacrhParameters.SearchTerm).             //1
                              SetCompany(seacrhParameters.Company).                   //2
                              SetScreenResolution(seacrhParameters.ScreenResolution). //3
                              SetTypeName(seacrhParameters.TypeName).                 //4
                              SetInch(seacrhParameters.Inches).                       //5
                              SetCPU(seacrhParameters.CPU).                           //6
                              SetSpeed(seacrhParameters.Speed).                       //7
                              SetMemory(seacrhParameters.Memory).                     //8
                              SetRam(seacrhParameters.Ram).                           //9
                              SetGPU(seacrhParameters.GPU).                           //10
                              SetOS(seacrhParameters.OS).                             //11
                              SetPriceLow(seacrhParameters.PriceLow).                 //12
                              SetPriceHigh(seacrhParameters.PriceHigh).               //13
                              SetWeight(seacrhParameters.Weight)                      //14
                              .SetSortBy(SortCriteria.PriceHighToLow)                 //15
                              .Build(db);

            return(Ok(searchQuery));
        }
示例#34
0
        protected void SetCustomSearchCriteria(ref SearchBuilder sb)
        {
            sb.Table = "[v_User]";

            if (CompanyName.ToLower() == "all")
            {
                sb.Criteria.Remove(string.Format("{0}=@companyName", User.Columns.CompanyName));
            }

            if (MinimumUserRoleId > 0)
            {
                string sql = string.Format("{0} >= {1}", User.Columns.UserRoleId, MinimumUserRoleId);
                sb.Criteria.Add(sql);
            }

            if (MaximumUserRoleId > 0)
            {
                string sql = string.Format("{0} <= {1}", User.Columns.UserRoleId, MaximumUserRoleId);
                sb.Criteria.Add(sql);
            }

            if (FuzzyEmail != string.Empty)
            {
                string sql = string.Format("{0} LIKE '%{1}%'", User.Columns.Email, FuzzyEmail.Replace("'", "''"));
                sb.Criteria.Add(sql);
            }

            if (ExpiredAndSuspendedAccountsOnly)
            {
                sb.Criteria.Add("((IsAccountExpired = 1) OR (IsSuspended = 1))");
            }

            if (PrimaryBrandId == Int32.MinValue)
            {
                // -------------------------------------------------------------
                // Criteria checks
                // -------------------------------------------------------------
                // null				= ignore	(automatic)
                // int				= int		(automatic)
                // Int32.MinValue	= IS NULL	(handled below)
                // -------------------------------------------------------------

                sb.Criteria.Remove(string.Format("{0}=@primaryBrandId", User.Columns.PrimaryBrandId));
                sb.Criteria.Add(string.Format("{0} IS NULL", User.Columns.PrimaryBrandId));
            }

            if (!RegisterDateRange.IsNull)
            {
                if (RegisterDateRange.StartDate.HasValue)
                {
                    string criteria = string.Format("{0} >= @RegisterDateRangeStartDate", User.Columns.RegisterDate);
                    sb.Criteria.Add(criteria);
                    sb.AddDataParameter("@RegisterDateRangeStartDate", RegisterDateRange.StartDate);
                }

                if (RegisterDateRange.EndDate.HasValue)
                {
                    string criteria = string.Format("{0} <= @RegisterDateRangeEndDate", User.Columns.RegisterDate);
                    sb.Criteria.Add(criteria);
                    sb.AddDataParameter("@RegisterDateRangeEndDate", RegisterDateRange.EndDate);
                }
            }

            //--------------------------------------------------------------------
            // Brand Admins are restricted to seeing users in their own BU
            // or from companies they have created, so we modify the where clause
            // accordingly to reflect this.
            //--------------------------------------------------------------------
            if (BrandAdministratorId != 0)
            {
                // Ensure that the primary brand ID is specified
                if (!sb.Criteria.Contains(string.Format("{0}=@primaryBrandId", User.Columns.PrimaryBrandId)))
                {
                    throw new SystemException("PrimaryBrandId must be specified when BrandAdministratorId is specified");
                }

                // Create list to hold criteria
                JoinableList jList = new JoinableList(" AND ");

                // Remove primary brand ID from SQL
                sb.Criteria.Remove(string.Format("{0}=@primaryBrandId", User.Columns.PrimaryBrandId));

                // Update with correct syntax
                jList.Add(PrimaryBrandId == 0 ? string.Format("{0} IS NULL", User.Columns.PrimaryBrandId) : string.Format("{0}={1}", User.Columns.PrimaryBrandId, PrimaryBrandId));

                // Add the criteria
                sb.Criteria.Add(jList.ToString());
            }
        }
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (AuditUserHistoryIdList != null && AuditUserHistoryIdList.Count > 0)
            {
                JoinableList list = new JoinableList(AuditUserHistoryIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", AuditUserHistory.Columns.AuditUserHistoryId));
            }

            if (AuditUserHistoryId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@auditUserHistoryId", AuditUserHistory.Columns.AuditUserHistoryId));
                sb.AddDataParameter("@auditUserHistoryId", AuditUserHistoryId.Value);
            }

            if (SessionId != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@sessionId", AuditUserHistory.Columns.SessionId));
                sb.AddDataParameter("@sessionId", SessionId);
            }

            if (IpAddress != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@ipAddress", AuditUserHistory.Columns.IpAddress));
                sb.AddDataParameter("@ipAddress", IpAddress);
            }

            if (AuditUserActionId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@auditUserActionId", AuditUserHistory.Columns.AuditUserActionId));
                sb.AddDataParameter("@auditUserActionId", AuditUserActionId);
            }

            if (UserId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@userId", AuditUserHistory.Columns.UserId));
                sb.AddDataParameter("@userId", UserId);
            }

            if (Notes != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@notes", AuditUserHistory.Columns.Notes));
                sb.AddDataParameter("@notes", Notes);
            }

            if (Date != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@date", AuditUserHistory.Columns.Date));
                sb.AddDataParameter("@date", Date);
            }

            if (Description != String.Empty)
            {
                sb.Criteria.Add("Description=@description");
                sb.AddDataParameter("@description", Description);
            }

            if (UserName != String.Empty)
            {
                sb.Criteria.Add("UserName=@userName");
                sb.AddDataParameter("@userName", UserName);
            }

            if (UserEmail != String.Empty)
            {
                sb.Criteria.Add("UserEmail=@userEmail");
                sb.AddDataParameter("@userEmail", UserEmail);
            }

            if (PrimaryBrandId.HasValue)
            {
                if (PrimaryBrandId.Value == 0)
                {
                    sb.Criteria.Add("PrimaryBrandId IS NULL");
                }
                else
                {
                    sb.Criteria.Add("PrimaryBrandId=@primaryBrandId");
                    sb.AddDataParameter("@primaryBrandId", PrimaryBrandId.Value);
                }
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#36
0
    protected void ParseSearchCriteria(List <FieldMetadata> targetCriteriaFields, MemberSuiteObject criteria, SearchBuilder sb)
    {
        foreach (var fieldMetadata in targetCriteriaFields)
        {
            string fieldName = Formats.GetSafeFieldName(fieldMetadata.Name);
            bool   found     = false;

            if (_isValidRange(criteria.SafeGetValue(fieldName + "__from")))
            {
                // let's create a greater than
                sb.AddOperation(Expr.IsGreaterThanOrEqualTo(fieldMetadata.Name, criteria[fieldName + "__from"]), SearchOperationGroupType.And);
                found = true;
            }

            if (_isValidRange(criteria.SafeGetValue(fieldName + "__to")))
            {
                // let's create a less than
                sb.AddOperation(Expr.IsLessThanOrEqual(fieldMetadata.Name, criteria[fieldName + "__to"]), SearchOperationGroupType.And);
                found = true;
            }

            if (found || !criteria.Fields.ContainsKey(fieldName))
            {
                continue;
            }

            var fieldValue = criteria.Fields[fieldName];
            if (fieldValue == null)
            {
                continue;
            }

            SearchOperation so = new Equals(); //default
            so.ValuesToOperateOn = new List <object> {
                fieldValue
            };

            if (fieldValue is string)
            {
                string fieldValueAsString = (string)fieldValue;
                if (String.IsNullOrWhiteSpace(fieldValueAsString))
                {
                    continue;
                }

                if (fieldMetadata.DataType == FieldDataType.Boolean)
                {
                    bool b = false;
                    if (Boolean.TryParse(fieldValueAsString, out b))
                    {
                        so.ValuesToOperateOn = new List <object>()
                        {
                            b
                        }
                    }
                    ;
                }
                else
                {
                    so = new Contains(); //string should use contains instead of equals
                    so.ValuesToOperateOn = new List <object>()
                    {
                        fieldValueAsString.Trim()
                    };
                }
            }

            if (fieldValue is List <string> )
            {
                List <string> fieldValueAsList = fieldValue as List <string>;
                if (fieldValueAsList.Count == 0)
                {
                    continue;
                }

                so = new ContainsOneOfTheFollowing(); //Lists just look for one hit
                List <object> values = new List <object>();
                values.AddRange(fieldValueAsList);

                so.ValuesToOperateOn = values;
            }

            so.FieldName = fieldMetadata.Name;

            sb.AddOperation(so, SearchOperationGroupType.And);
        }
    }
        private void OnIsActiveChanged(object sender, EventArgs eventArgs)
        {
            if (this.isActive)
            {
                Search search = SearchBuilder.CreateSearch();

                var context = MyRegion(this.regionManager.Regions).Context as Tuple <int, DateTime?, string>;
                search.AsOf = context.Item2;

                string field;
                switch (context.Item3)
                {
                case "LegalEntity":
                    field = "Parent.Id";
                    break;

                case "Party":
                    field = "PartyRole.Party.Id";
                    break;

                default:
                    field = context.Item3 + ".Id";
                    break;
                }

                if (field.Contains("|"))
                {
                    search.SearchFields.Combinator = SearchCombinator.Or;
                    var fields = field.Split(new[] { '|' });

                    foreach (string f in fields)
                    {
                        search.AddSearchCriteria(SearchCombinator.And)
                        .AddCriteria(f, SearchCondition.NumericEquals, context.Item1.ToString());
                    }
                }
                else
                {
                    search.AddSearchCriteria(SearchCombinator.And)
                    .AddCriteria(field, SearchCondition.NumericEquals, context.Item1.ToString());
                }

                this.entityService.ExecuteAsyncSearch <LegalEntity>(
                    this.search = search,
                    response =>
                {
                    IList <LegalEntity> searchResults = response;
                    this.LegalEntitys =
                        new ObservableCollection <LegalEntityViewModel>(
                            searchResults.Select(
                                x =>
                                new LegalEntityViewModel(
                                    new EntityWithETag <LegalEntity>(x, null),
                                    this.eventAggregator)).OrderBy(y => y.Name));
                },
                    this.eventAggregator,
                    false);
                return;
            }

            this.LegalEntitys = new ObservableCollection <LegalEntityViewModel>();
        }
示例#38
0
        protected override void SetSearchCriteria(ref SearchBuilder sb)
        {
            if (HomepageIdList != null && HomepageIdList.Count > 0)
            {
                JoinableList list = new JoinableList(HomepageIdList);
                sb.Criteria.Add(string.Format("{0} IN (" + list + ")", Homepage.Columns.HomepageId));
            }

            if (HomepageId.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@homepageId", Homepage.Columns.HomepageId));
                sb.AddDataParameter("@homepageId", HomepageId.Value);
            }

            if (BrandId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@brandId", Homepage.Columns.BrandId));
                sb.AddDataParameter("@brandId", BrandId);
            }

            if (IntroText != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@introText", Homepage.Columns.IntroText));
                sb.AddDataParameter("@introText", IntroText);
            }

            if (Url1 != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@url1", Homepage.Columns.Url1));
                sb.AddDataParameter("@url1", Url1);
            }

            if (Url2 != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@url2", Homepage.Columns.Url2));
                sb.AddDataParameter("@url2", Url2);
            }

            if (Url3 != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@url3", Homepage.Columns.Url3));
                sb.AddDataParameter("@url3", Url3);
            }

            if (Url4 != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@url4", Homepage.Columns.Url4));
                sb.AddDataParameter("@url4", Url4);
            }

            if (BumperPageHtml != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@bumperPageHtml", Homepage.Columns.BumperPageHtml));
                sb.AddDataParameter("@bumperPageHtml", BumperPageHtml);
            }

            if (BumperPageSkip.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@bumperPageSkip", Homepage.Columns.BumperPageSkip));
                sb.AddDataParameter("@bumperPageSkip", SqlUtils.BitValue(BumperPageSkip.Value));
            }

            if (CustomHtml != String.Empty)
            {
                sb.Criteria.Add(string.Format("{0}=@customHtml", Homepage.Columns.CustomHtml));
                sb.AddDataParameter("@customHtml", CustomHtml);
            }

            if (HomepageTypeId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@homepageTypeId", Homepage.Columns.HomepageTypeId));
                sb.AddDataParameter("@homepageTypeId", HomepageTypeId);
            }

            if (IsPublished.HasValue)
            {
                sb.Criteria.Add(string.Format("{0}=@isPublished", Homepage.Columns.IsPublished));
                sb.AddDataParameter("@isPublished", SqlUtils.BitValue(IsPublished.Value));
            }

            if (LastModifiedByUserId != 0)
            {
                sb.Criteria.Add(string.Format("{0}=@lastModifiedByUserId", Homepage.Columns.LastModifiedByUserId));
                sb.AddDataParameter("@lastModifiedByUserId", LastModifiedByUserId);
            }

            if (LastModifiedDate != DateTime.MinValue)
            {
                sb.Criteria.Add(string.Format("{0}=@lastModifiedDate", Homepage.Columns.LastModifiedDate));
                sb.AddDataParameter("@lastModifiedDate", LastModifiedDate);
            }

            if (BrandName != String.Empty)
            {
                sb.Criteria.Add("BrandName=@brandName");
                sb.AddDataParameter("@brandName", BrandName);
            }

            SetCustomSearchCriteria(ref sb);
        }
示例#39
0
 protected void SetCustomSearchCriteria(ref SearchBuilder sb)
 {
 }
示例#40
0
        public async Task <(IEnumerable <Cl_ProductForList>, int)> GetProducts(FilterModel features_hash)
        {
            SearchParameters seacrhParameters = new SearchParameters();

            string[] ListQuery;
            //Lấy danh sách sản phẩm (services)
            //Nếu có filter và search
            if (features_hash.filter != null)
            {
                ListQuery = features_hash.filter.Split('_');
                foreach (var item in ListQuery)
                {
                    string typeQuery = item.Split('-')[0];
                    string QueryData = item.Split('-')[1];
                    switch (typeQuery)
                    {
                    case "1":
                        seacrhParameters.SearchTerm = QueryData;

                        break;

                    case "2":
                        seacrhParameters.Company.Add(QueryData);

                        break;

                    case "3":
                        seacrhParameters.PriceLow = int.Parse(QueryData);

                        break;

                    case "4":
                        seacrhParameters.PriceHigh = int.Parse(QueryData);

                        break;

                    case "5":
                        seacrhParameters.Weight.Add(float.Parse(QueryData));

                        break;

                    case "6":
                        switch (QueryData)
                        {
                        case "1":
                            seacrhParameters.SortBy = SortCriteria.PriceHighToLow;

                            break;

                        case "2":
                            seacrhParameters.SortBy = SortCriteria.PriceLowToHigh;

                            break;

                        default:
                            seacrhParameters.SortBy = SortCriteria.Relevance;
                            break;
                        }
                        break;

                    default:
                        break;
                    }
                }
                var searchQuery = new SearchBuilder().
                                  SetSearchTerm(seacrhParameters.SearchTerm). //1
                                  SetCompany(seacrhParameters.Company).       //2

                                  SetPriceLow(seacrhParameters.PriceLow).     //3
                                  SetPriceHigh(seacrhParameters.PriceHigh).   //4
                                  SetWeight(seacrhParameters.Weight).
                                  SetSortBy(seacrhParameters.SortBy)          //15

                                  .BuildProducts(_db, features_hash);
                return(searchQuery.Item1, searchQuery.Item2);
            }
            //nếu không có filter và search mặc định sẽ chỉ phân trang và chỉ có thể sort
            else
            {
                var countProductsByCateId = _db.Products.Count();
                var productsByCateId      = _db.Products.Include(p => p.Category)
                                            .Select(p => new Cl_ProductForList
                {
                    Id           = p.Id,
                    ProductName  = p.ProductName,
                    CategoryId   = p.CategoryId,
                    CategoryName = p.Category.CategoryName,
                    Price        = (int)p.Price,
                    Company      = p.Company,
                    Weight       = p.Weight,
                    UrlSeo       = p.UrlSeo,
                    PhotoUrl     = p.Photos.First().Url,
                });
                var query = new SearchBuilder().BuildProducts(_db, features_hash);
                return(query.Item1, query.Item2);
            }
        }