Пример #1
0
        public SearchSugestionsResponse Search(IPrincipal principal, SearchSuggestionsRequest request)
        {
            var member   = _dependencies.OrganisationService.GetGuaranteedMember(principal, request.OrganisationId);
            var resource = new SearchSugestionsResponse();

            resource.OrganisationId   = request.OrganisationId;
            resource.OrganisationName = member.Organisation.Name;

            var suggestionsQuery = member.Organisation.Members
                                   .SelectMany(m => m.Suggestions.Where(s => !s.Removed && !s.PendingModeration))
                                   .Where(x => !x.AuthorMember.Removed);

            if (request.MemberId.HasValue)
            {
                var memberSearchedFor = member.Organisation.Members.SingleOrDefault(m => m.Id == request.MemberId.Value);
                if (memberSearchedFor != null)
                {
                    if (memberSearchedFor.Removed)
                    {
                        resource.Suggestions = new List <SuggestionSummaryResource>();
                        return(resource);
                    }
                    resource.MemberSearchedFor =
                        _dependencies.MemberService.BuildSearchedMemberResource(memberSearchedFor);
                    suggestionsQuery = suggestionsQuery.Where(s => s.AuthorMemberId == request.MemberId.Value);
                }
            }
            if (!request.MostRecentFirst)
            {
                suggestionsQuery =
                    suggestionsQuery.OrderByDescending(
                        s =>
                        s.Votes
                        .Count(
                            x => (x.MemberIsSupportingSuggestion.HasValue && x.MemberIsSupportingSuggestion.Value))
                        - s.Votes
                        .Count(
                            x => (x.MemberIsSupportingSuggestion.HasValue && !x.MemberIsSupportingSuggestion.Value))
                        );
            }
            else
            {
                suggestionsQuery = suggestionsQuery
                                   .OrderByDescending(s => s.CreatedDateUtc);
            }
            var suggestions = suggestionsQuery
                              .Skip(((request.Page ?? 1) - 1) * 10).Take(10);



            resource.PageCount   = (int)Math.Ceiling(suggestionsQuery.Count() / 10.0);
            resource.Suggestions = suggestions.Select(s => BuildSummarySuggestion(s, member)).ToList();
            return(resource);
        }
Пример #2
0
    // Search Suggestions
    public void SearchSuggestionsTenorGIF()
    {
        // Initialize SDK
        TenorAPI.Initialize("LIVDSRZULELA");

        // Prepare Request data
        SearchSuggestionsRequest request = new SearchSuggestionsRequest();

        request.limit = "10";
        request.tag   = inputTag.text;

        // Call Coroutine to not freeze
        StartCoroutine(TenorAPI.SearchSuggestions(request, ProcessAnswers));
    }
Пример #3
0
 public static void CopyFrom(this SearchSuggestionsRequest searchSuggestionsRequest, SearchQueryRequest searchQueryRequest)
 {
     searchSuggestionsRequest.AcceptType         = searchQueryRequest.AcceptType;
     searchSuggestionsRequest.AuthenticationType = searchQueryRequest.AuthenticationType;
     searchSuggestionsRequest.Cookies            = searchQueryRequest.Cookies;
     // searchSuggestionsRequest.Culture = int.Parse(searchQueryRequest.Culture);    // TODO: Hm..
     // searchSuggestionsRequest.HttpMethodType = searchQueryRequest.HttpMethodType; // DO NOT COPY. Always uses GET.
     searchSuggestionsRequest.Password          = searchQueryRequest.Password;
     searchSuggestionsRequest.QueryText         = searchQueryRequest.QueryText;
     searchSuggestionsRequest.SecurePassword    = searchQueryRequest.SecurePassword;
     searchSuggestionsRequest.SharePointSiteUrl = searchQueryRequest.SharePointSiteUrl;
     searchSuggestionsRequest.Timeout           = searchQueryRequest.Timeout;
     searchSuggestionsRequest.Token             = searchQueryRequest.Token;
     searchSuggestionsRequest.UserName          = searchQueryRequest.UserName;
 }
Пример #4
0
 // Method to call API End Point: Search Suggestions https://tenor.com/gifapi#suggestions
 public static IEnumerator SearchSuggestions(SearchSuggestionsRequest request, DelegateStringAnswer delegateSearchSuggestions)
 {
     return(_apiCallStringCollection(request.getQueryString(key), delegateSearchSuggestions));
 }
Пример #5
0
 public SearchSugestionsResponse Post(SearchSuggestionsRequest request)
 {
     return(_service.Search(User, request));
 }
Пример #6
0
 public bool HandleException(Exception ex, SearchSuggestionsRequest searchSuggestionsRequest)
 {
     throw new NotImplementedException();
 }
 public HttpResponseMessage Post(SearchSuggestionsRequest request)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _service.Search(User, request)));
 }
Пример #8
0
 public SuggestionQuery(SearchSuggestionsRequest request, string queryText)
 {
     Request   = request;
     QueryText = queryText;
 }