Exemplo n.º 1
0
        public async Task <ActionResult <MatchResponse> > MatchRequest(MatchRequest request)
        {
            var matchResponse = new MatchResponse();

            try
            {
                using var channel = GrpcChannel.ForAddress(FrontendUrl);
                var client = new FrontendServiceClient(channel);

                var searchFields = new SearchFields();
                searchFields.Tags.Add(request.GameMode.ToString());
                var ticket = new Ticket();
                ticket.SearchFields = searchFields;

                CreateTicketRequest createTicketRequest = new CreateTicketRequest();
                createTicketRequest.Ticket = ticket;

                var response = await client.CreateTicketAsync(createTicketRequest);

                matchResponse.TicketId = response.Id;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            return(matchResponse);
        }
Exemplo n.º 2
0
        public void AddSearchField(SearchField searchField)
        {
            if (searchField.Options != null)
            {
                Translations[searchField.Name] = searchField.Options;

                foreach (SelectListItem option in searchField.Options)
                {
                    if (option.Text == null || option.Text == "")
                    {
                        option.Text = option.Value != null ? option.Value : "[null]";
                    }
                }
            }
            if (string.IsNullOrWhiteSpace(searchField.Label))
            {
                searchField.Label = TextService.Title(searchField.Name);
            }

            if (string.IsNullOrWhiteSpace(searchField.Placeholder))
            {
                searchField.Placeholder = TextService.Title(searchField.Comparator).ToLower();
            }
            SearchFields.Add(searchField);
        }
Exemplo n.º 3
0
        public SearchResultArticleItemModel(SearchFields fields, Article article)
            : base(fields, article)
        {
            var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);

            Url = urlHelper.Action("Show", "Articles", new { id = article.NodeID });
        }
Exemplo n.º 4
0
        public SearchResultAboutUsSectionItemModel(SearchFields fields, AboutUsSection aboutUsSection)
            : base(fields, aboutUsSection)
        {
            var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);

            Url = urlHelper.Action("Index", "About");
        }
Exemplo n.º 5
0
        public void AddColumn(string column)
        {
            bool addIt = false;

            if (rbDataFields.Checked)
            {
                if (!DataFields.Any(x => x.ColumnName.Equals(column)))
                {
                    DataFields.Add(new DataField(column));
                    addIt = true;
                }
            }
            else
            {
                if (!SearchFields.Any(x => x.Equals(column)))
                {
                    SearchFields.Add(new SearchField(column, GetCurrentLogic()));
                    addIt = true;
                }
            }

            if (addIt)
            {
                chkSelection.Items.Add(column);
            }
        }
Exemplo n.º 6
0
 private static void ParseRequest(SearchRequest request, ref List <string> words)
 {
     foreach (var field in SearchFields.GetSearchFields())
     {
         AddWordsIfPresent(request, field, ref words);
     }
 }
        public SearchResultCafeItemModel(SearchFields fields, Cafe cafe)
            : base(fields, cafe)
        {
            var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);

            Url = urlHelper.Action("Index", "Cafes");
        }
Exemplo n.º 8
0
        public void AddCondition(SearchFields field, Condition condition)
        {
            if (! Conditions.ContainsKey(field))
                Conditions.Add(field, new List<Condition>());

            Conditions[field].Add(condition);
        }
        public SearchResultPageItemModel(SearchFields fields, TreeNode treeNode)
            : base(fields)
        {
            var className     = treeNode.ClassName;
            var dataClassInfo = DataClassInfoProvider.GetDataClassInfo(className);

            Type = dataClassInfo.ClassDisplayName;
        }
Exemplo n.º 10
0
 public SearchResultItemModel(SearchFields fields)
 {
     Title      = fields.Title;
     Content    = fields.Content;
     Date       = fields.Date;
     ImagePath  = fields.ImagePath;
     ObjectType = fields.ObjectType;
 }
Exemplo n.º 11
0
 public SearchResultItemModel(SearchFields fields)
 {
     Title      = fields.Title;
     Content    = HTMLHelper.StripTags(fields.Content, false);
     Date       = fields.Date;
     ImagePath  = fields.ImagePath;
     ObjectType = fields.ObjectType;
 }
Exemplo n.º 12
0
 public IFilter <P> WithSearchFields(params string[] fields)
 {
     foreach (var f in fields)
     {
         if (!SearchFields.Contains(f))
         {
             SearchFields.Add(f);
         }
     }
     return(this);
 }
Exemplo n.º 13
0
        public SearchResultProductItemModel(SearchFields fields, SKUTreeNode skuTreeNode, ProductPrice priceDetail)
            : base(fields, skuTreeNode)
        {
            Description      = skuTreeNode.DocumentSKUDescription;
            ShortDescription = HTMLHelper.StripTags(skuTreeNode.DocumentSKUShortDescription, false);
            PriceDetail      = priceDetail;

            var urlHelper = new UrlHelper(HttpContext.Current.Request.RequestContext);

            Url = urlHelper.Action("Detail", "Product",
                                   new { id = skuTreeNode.NodeID, productAlias = skuTreeNode.NodeAlias });
        }
Exemplo n.º 14
0
        public MainWindowViewModel(IWebApiService webApiService, SearchSortService searchService)
        {
            this.webApiService = webApiService;
            this.searchService = searchService;

            CurrentPageCount   = Settings.Default.CountPerPage <= 0 ? 100 : Settings.Default.CountPerPage;
            CurrentSearchField = SearchFields.FirstOrDefault(x => x.FieldName == Settings.Default.SearchFieldName) ?? SearchFields[0];
            LastPage           = 1;
            CurrentPage        = 1;

            CurrentPrinter = Printers.FirstOrDefault(x => x.PrinterName == Settings.Default.DefaultPrinter);
        }
Exemplo n.º 15
0
 internal AutocompleteRequest ToRequest(string searchText, string suggesterName) =>
 new AutocompleteRequest()
 {
     AutocompleteMode = AutocompleteMode,
     Filter           = Filter,
     HighlightPostTag = HighlightPostTag,
     HighlightPreTag  = HighlightPreTag,
     MinimumCoverage  = MinimumCoverage,
     SearchFields     = SearchFields.ToCommaSeparatedString(),
     SearchText       = searchText,
     SuggesterName    = suggesterName,
     Top = Top,
     UseFuzzyMatching = UseFuzzyMatching
 };
Exemplo n.º 16
0
 /// <summary>
 /// Gives the GET argument key for each search field.
 /// </summary>
 /// <param name="field"></param>
 /// <returns></returns>
 private static String SearchFieldUrlArg(SearchFields field)
 {
     switch (field)
     {
         case SearchFields.Name:
             return "name";
         case SearchFields.RulesText:
             return "text";
         case SearchFields.Expansion:
             return "set";
         case SearchFields.Format:
             return "format";
         case SearchFields.Colors:
             return "color";
         case SearchFields.Types:
             return "type";
         case SearchFields.Subtypes:
             return "subtype";
         case SearchFields.CMC:
             return "cmc";
         case SearchFields.Power:
             return "power";
         case SearchFields.Toughness:
             return "tough";
         case SearchFields.FlavorText:
             return "flavor";
         case SearchFields.Mark:
             return "mark";
         case SearchFields.Artist:
             return "artist";
         case SearchFields.UserComment:
             return "discussion";
         //case SearchFields.UserName:
         //    return UNKNOWN;
         case SearchFields.CommunityRating:
             return "rating";
         case SearchFields.ManaCost:
             return "mana";
         case SearchFields.Block:
             return "block";
         case SearchFields.Rarity:
             return "rarity";
         case SearchFields.HandModifier:
             return "handBonus";
         case SearchFields.LifeModifier:
             return "lifeBonus";
     }
     throw new ArgumentException("Unkown argument");
 }
Exemplo n.º 17
0
 internal SuggestParametersPayload ToPayload(string searchText, string suggesterName) =>
 new SuggestParametersPayload()
 {
     Filter           = Filter,
     Fuzzy            = UseFuzzyMatching,
     HighlightPostTag = HighlightPostTag,
     HighlightPreTag  = HighlightPreTag,
     MinimumCoverage  = MinimumCoverage,
     OrderBy          = OrderBy.ToCommaSeparatedString(),
     Search           = searchText,
     SearchFields     = SearchFields.ToCommaSeparatedString(),
     Select           = (Select != null && Select.Any()) ? Select.ToCommaSeparatedString() : "*",
     SuggesterName    = suggesterName,
     Top = Top
 };
Exemplo n.º 18
0
 internal SuggestRequest ToRequest(string searchText, string suggesterName) =>
 new SuggestRequest()
 {
     Filter           = Filter,
     UseFuzzyMatching = UseFuzzyMatching,
     HighlightPostTag = HighlightPostTag,
     HighlightPreTag  = HighlightPreTag,
     MinimumCoverage  = MinimumCoverage,
     OrderBy          = OrderBy.ToCommaSeparatedString(),
     SearchText       = searchText,
     SearchFields     = SearchFields.ToCommaSeparatedString(),
     Select           = EnsureSelect(Select).ToCommaSeparatedString(),
     SuggesterName    = suggesterName,
     Top = Top
 };
Exemplo n.º 19
0
        private IEnumerable <QueryOption> GetAllOptions()
        {
            if (Filter != null)
            {
                yield return(new QueryOption("$filter", Uri.EscapeDataString(Filter)));
            }

            if (HighlightPreTag != null)
            {
                yield return(new QueryOption("highlightPreTag", Uri.EscapeDataString(HighlightPreTag)));
            }

            if (HighlightPostTag != null)
            {
                yield return(new QueryOption("highlightPostTag", Uri.EscapeDataString(HighlightPostTag)));
            }

            if (MinimumCoverage != null)
            {
                yield return(new QueryOption("minimumCoverage", MinimumCoverage.ToString()));
            }

            if (OrderBy.Any())
            {
                yield return(new QueryOption("$orderby", OrderBy));
            }

            if (SearchFields.Any())
            {
                yield return(new QueryOption("searchFields", SearchFields));
            }

            if (Select.Any())
            {
                yield return(new QueryOption("$select", Select));
            }
            else
            {
                yield return(new QueryOption("$select", "*"));
            }

            if (Top != null)
            {
                yield return(new QueryOption("$top", Top.ToString()));
            }

            yield return(new QueryOption("fuzzy", UseFuzzyMatching.ToString().ToLowerInvariant()));
        }
Exemplo n.º 20
0
        public static ValidationErrors TestFieldValue(SearchFields field, String value)
        {
            if (value.Contains('[') || value.Contains(']'))
                return ValidationErrors.ContainsBraces;

            String[] colours = { "Black", "White", "Blue", "Green", "Red" };
            switch (field)
            {
                // Generic text-fields
                case SearchFields.Name:
                case SearchFields.RulesText:
                case SearchFields.Expansion:
                case SearchFields.Format:
                case SearchFields.Types:
                case SearchFields.Subtypes:
                case SearchFields.FlavorText:
                case SearchFields.Mark:
                case SearchFields.Artist:
                case SearchFields.UserComment:
              //case SearchFields.UserName:
                case SearchFields.Block:
                case SearchFields.Rarity:
                    if (value.Contains(' ') && (!value.StartsWith("\"") || !value.EndsWith("\"")))
                        return ValidationErrors.UnquotedString;
                    else
                        return ValidationErrors.NoErrors;

                case SearchFields.CMC:
                case SearchFields.Power:
                case SearchFields.Toughness:
                case SearchFields.CommunityRating:
                case SearchFields.ManaCost:
                case SearchFields.HandModifier:
                case SearchFields.LifeModifier:
                    Double tmp;
                    if (!Double.TryParse(value, out tmp))
                        return ValidationErrors.NonNumericValue;
                    else
                        return ValidationErrors.NoErrors;

                case SearchFields.Colors:
                    if (colours.Contains(value))
                        return ValidationErrors.NoErrors;
                    else
                        return ValidationErrors.UnknownColour;
            }
            throw new ArgumentException("Unknown field");
        }
Exemplo n.º 21
0
        private static CreateTicketRequest MakeTicket()
        {
            var mode = "mode.standard";

            var sf = new SearchFields();

            sf.Tags.Add(mode);

            return(new CreateTicketRequest()
            {
                Ticket = new Ticket()
                {
                    SearchFields = sf
                }
            });
        }
Exemplo n.º 22
0
 internal SearchParametersPayload ToPayload(string searchText) =>
 new SearchParametersPayload()
 {
     Count             = IncludeTotalResultCount,
     Facets            = Facets ?? Empty,
     Filter            = Filter,
     Highlight         = HighlightFields.ToCommaSeparatedString(),
     HighlightPostTag  = HighlightPostTag,
     HighlightPreTag   = HighlightPreTag,
     MinimumCoverage   = MinimumCoverage,
     OrderBy           = OrderBy.ToCommaSeparatedString(),
     QueryType         = QueryType,
     ScoringParameters = ScoringParameterStrings,
     ScoringProfile    = ScoringProfile,
     Search            = searchText,
     SearchFields      = SearchFields.ToCommaSeparatedString(),
     SearchMode        = SearchMode,
     Select            = Select.ToCommaSeparatedString(),
     Skip = Skip,
     Top  = Top
 };
Exemplo n.º 23
0
 internal SearchRequest ToRequest(string searchText) =>
 new SearchRequest()
 {
     IncludeTotalResultCount = IncludeTotalResultCount,
     Facets            = Facets ?? Empty,
     Filter            = Filter,
     HighlightFields   = HighlightFields.ToCommaSeparatedString(),
     HighlightPostTag  = HighlightPostTag,
     HighlightPreTag   = HighlightPreTag,
     MinimumCoverage   = MinimumCoverage,
     OrderBy           = OrderBy.ToCommaSeparatedString(),
     QueryType         = QueryType,
     ScoringParameters = ScoringParameters?.Select(p => p.ToString())?.ToList() ?? Empty,
     ScoringProfile    = ScoringProfile,
     SearchText        = searchText,
     SearchFields      = SearchFields.ToCommaSeparatedString(),
     SearchMode        = SearchMode,
     Select            = Select.ToCommaSeparatedString(),
     Skip = Skip,
     Top  = Top
 };
Exemplo n.º 24
0
        public (string SearchText, SearchOptions Options) GenerateSearchQuery()
        {
            var searchTerms = SearchText.TransformSegments(s => s
                                                           .TransformWhen(s => s.EndsWith("'s"), s => s.Substring(0, s.Length - 2))
                                                           .TransformWhen(s => s.EndsWith("s'"), s => s.Substring(0, s.Length - 2))
                                                           .TransformWhen(s => s.EndsWith("s"), s => s.Substring(0, s.Length - 1))
                                                           .RemoveNonAlphanumericChars()
                                                           .AppendWildcardWhenLastCharIsAlphanumeric());

            var searchText = searchTerms.Any()
                ? $"\"{SearchText.Trim().EscapeSimpleQuerySearchOperators()}\" | ({searchTerms})"
                : !string.IsNullOrWhiteSpace(SearchText)
                    ? $"{SearchText.Trim().EscapeSimpleQuerySearchOperators()}*"
                    : "*";

            var builder = new AzureSearchQueryBuilder(searchText)
                          .WithSearchMode(SearchMode.All)
                          .WithSearchFields(SearchFields?.ToArray())
                          .WithSearchInFilter(nameof(Lars.NotionalNVQLevelv2), NotionalNVQLevelv2Filters)
                          .WithSearchInFilter(nameof(Lars.AwardOrgCode), AwardOrgCodeFilters)
                          .WithSearchInFilter(nameof(Lars.AwardOrgAimRef), AwardOrgAimRefFilters)
                          .WithSearchInFilter(nameof(Lars.SectorSubjectAreaTier1), SectorSubjectAreaTier1Filters)
                          .WithSearchInFilter(nameof(Lars.SectorSubjectAreaTier2), SectorSubjectAreaTier2Filters)
                          .WithFacets(Facets?.ToArray())
                          .WithSize(PageSize)
                          .WithIncludeTotalCount();

            if (CertificationEndDateFilter.HasValue)
            {
                builder.WithFilters($"({nameof(Lars.CertificationEndDate)} ge {CertificationEndDateFilter.Value:O} or {nameof(Lars.CertificationEndDate)} eq null)");
            }

            if (PageNumber.HasValue)
            {
                builder.WithSkip(PageSize * (PageNumber - 1));
            }

            return(builder.Build());
        }
Exemplo n.º 25
0
        private Uri BuildUri(SearchFields fields, int page)
        {
            var builder = new UriBuilder(SchoolSearchUri);
            var query   = HttpUtility.ParseQueryString(builder.Query);

            query["SearchFields.Region"]             = fields.Region;
            query["SearchFields.Country"]            = fields.Country;
            query["SearchFields.Keywords"]           = fields.Keywords;
            query["SearchFields.Language"]           = fields.Language;
            query["SearchFields.BoardingFacilities"] = fields.BoardingFacilities;
            query["SearchFields.SchoolGender"]       = fields.SchoolGender;
            if (page > 1)
            {
                query[PartialParameterName] = QueryTrue;
                query[PageParameterName]    = page.ToString();
            }

            query[PartialPageParameterName] = QueryFalse;

            builder.Query = query.ToString();
            return(builder.Uri);
        }
        /// <summary>
        /// Search for a contact or group
        /// </summary>
        /// <param name="searchName">string. Name of contact or group to search for</param>
        /// <param name="numResults">uint. Number of results to return.</param>
        void SearchForGroupOrContact(string searchName, uint numResults)
        {
            try
            {
                // Initiate search for entity based on name.
                if (lyncClient.State == ClientState.SignedIn)
                {
                    // Get the search fields from the contact manager.
                    SearchFields searchFields = lyncClient.ContactManager.GetSearchFields();
                    object[]     asyncState   = { lyncClient.ContactManager, searchName };

                    dt.Clear();

                    if (ExpertSearch.Checked)
                    {
                        // Get the Sharepoint expert search URL with the user's search string query parameter.
                        string sharePointSearchQueryString = lyncClient.ContactManager.GetExpertSearchQueryString(searchName);

                        lyncClient.ContactManager.BeginSearch(sharePointSearchQueryString
                                                              , SearchProviders.Expert
                                                              , searchFields
                                                              , SearchOptions.Default
                                                              , numResults
                                                              , SearchResultsCallback
                                                              , asyncState);
                    }
                    else
                    {
                        // Perform the search which uses any of the search providers that a Lync
                        // server admin has configured to accept a name search.
                        lyncClient.ContactManager.BeginSearch(searchName, SearchResultsCallback, asyncState);
                    }
                }
            }

            catch (Exception ex) { MessageBox.Show("Error:    " + ex.Message); }
        }
Exemplo n.º 27
0
 private SearchResultItemModel GetViewModelForSearchItem(SearchFields fields, AboutUsSection aboutUsSection)
 {
     return(new SearchResultAboutUsSectionItemModel(fields, aboutUsSection));
 }
Exemplo n.º 28
0
 public void AddSearchFiled(TableField field)
 {
     SearchFields.Add(field);
 }
Exemplo n.º 29
0
 private SearchResultItemModel GetViewModelForSearchItem(SearchFields fields, TreeNode treeNode)
 {
     return(new SearchResultPageItemModel(fields, treeNode));
 }
Exemplo n.º 30
0
 public static ValidationErrors TestFieldValue(SearchFields field, Condition cond)
 {
     return TestFieldValue(field, cond.BaseValue);
 }
Exemplo n.º 31
0
 public static bool IsValid(SearchFields field, Condition cond)
 {
     return TestFieldValue(field, cond) == ValidationErrors.NoErrors;
 }
Exemplo n.º 32
0
 public static bool IsValid(SearchFields field, String value)
 {
     return TestFieldValue(field, value) == ValidationErrors.NoErrors;
 }
Exemplo n.º 33
0
        private SearchResultItemModel GetViewModelForSearchItem(SearchFields fields, SKUTreeNode skuTreeNode)
        {
            var price = mCalculationService.CalculateListingPrice(skuTreeNode.SKU);

            return(new SearchResultProductItemModel(fields, skuTreeNode, price));
        }
Exemplo n.º 34
0
 private SearchResultItemModel GetViewModelForSearchItem(SearchFields fields, Article article)
 {
     return(new SearchResultArticleItemModel(fields, article));
 }
        private IEnumerable <QueryOption> GetAllOptions()
        {
            yield return(new QueryOption("$count", IncludeTotalResultCount.ToString().ToLowerInvariant()));

            foreach (string facetExpr in Facets)
            {
                yield return(new QueryOption("facet", Uri.EscapeDataString(facetExpr)));
            }

            if (Filter != null)
            {
                yield return(new QueryOption("$filter", Uri.EscapeDataString(Filter)));
            }

            if (HighlightFields.Any())
            {
                yield return(new QueryOption("highlight", HighlightFields));
            }

            if (HighlightPreTag != null)
            {
                yield return(new QueryOption("highlightPreTag", Uri.EscapeDataString(HighlightPreTag)));
            }

            if (HighlightPostTag != null)
            {
                yield return(new QueryOption("highlightPostTag", Uri.EscapeDataString(HighlightPostTag)));
            }

            if (MinimumCoverage != null)
            {
                yield return(new QueryOption("minimumCoverage", MinimumCoverage.ToString()));
            }

            if (OrderBy.Any())
            {
                yield return(new QueryOption("$orderby", OrderBy));
            }

            foreach (string scoringParameterExpr in ScoringParameters)
            {
                yield return(new QueryOption("scoringParameter", scoringParameterExpr));
            }

            if (ScoringProfile != null)
            {
                yield return(new QueryOption("scoringProfile", ScoringProfile));
            }

            if (SearchFields.Any())
            {
                yield return(new QueryOption("searchFields", SearchFields));
            }

            yield return(new QueryOption("searchMode", SearchIndexClient.SearchModeToString(SearchMode)));

            if (Select.Any())
            {
                yield return(new QueryOption("$select", Select));
            }

            if (Skip != null)
            {
                yield return(new QueryOption("$skip", Skip.ToString()));
            }

            if (Top != null)
            {
                yield return(new QueryOption("$top", Top.ToString()));
            }
        }
Exemplo n.º 36
0
 private SearchResultItemModel GetViewModelForSearchItem(SearchFields fields, Cafe cafe)
 {
     return(new SearchResultCafeItemModel(fields, cafe));
 }
Exemplo n.º 37
0
 public void RemoveCondition(SearchFields field, int index)
 {
     Conditions[field].RemoveAt(index);
     if (Conditions[field].Count == 0)
         Conditions.Remove(field);
 }