Beispiel #1
0
        public SearchViewModel(ISuggestService service, ISchedulerProvider schedulers)
        {
            #region SearchTerms

            var searchTerms = Observable.FromEventPattern <PropertyChangedEventArgs>(this, "PropertyChanged", schedulers.Default)
                              .Where(e => e.EventArgs.PropertyName == "SearchText")
                              .Select(_ => SearchText ?? string.Empty)
                              .Throttle(TimeSpan.FromSeconds(0.5), schedulers.Default)
                              .DistinctUntilChanged();

            #endregion
            #region SuggestionUpdates

            var suggestionUpdates = searchTerms.Select(
                term => term.Length < 3 ?
                Task.FromResult(new string[0]) :
                service.GetSuggestions(term))
                                    .Switch();

            #endregion
            #region Subscription

            _subscription = suggestionUpdates
                            .Subscribe(suggestions =>
            {
                Suggestions    = suggestions;
                HasSuggestions = suggestions != null && suggestions.Any();
            });

            #endregion
        }
Beispiel #2
0
 public SuggestController(ISuggestService suggestService, ILogger <SuggestController> logger = null)
 {
     _suggestService = suggestService;
     _logger         = logger ?? new NullLogger <SuggestController>();
 }
Beispiel #3
0
 public SuggestController(ISuggestService suggestservice, IUserService userservice, IHttpContextAccessor accessor)
 {
     suggestService = suggestservice;
     userService    = userservice;
     _accessor      = accessor;
 }
Beispiel #4
0
 public SuggestController(ISuggestService suggestService)
 {
     _suggestService = suggestService;
 }
Beispiel #5
0
 public SuggestController(ISuggestRepository suggestRepository, ISuggestService suggestService)
 {
     _suggestRepository = suggestRepository;
     _suggestServices   = suggestService;
 }
Beispiel #6
0
 public HomeController(IMemberUserService memberUser, ISuggestService suggest)
 {
     _memberUser = memberUser;
     _suggest = suggest;
 }
 public SuggestController(ISuggestService serviceSuggest)
 {
     _serviceSuggest = serviceSuggest;
 }
Beispiel #8
0
 /// <summary>
 /// Creates a new controller instance.
 /// </summary>
 /// <param name="topicService">Topic service</param>
 /// <param name="imageService">Image service</param>
 /// <param name="suggestService">Suggest service</param>
 public SuggestController(ITopicService topicService, IImageService imageService, ISuggestService suggestService) : base(topicService)
 {
     ImageService   = imageService ?? throw new ArgumentNullException(nameof(imageService));
     SuggestService = suggestService ?? throw new ArgumentNullException(nameof(suggestService));
 }