private void DownloadMedia(TagSearch page) { try { foreach (var data in page.Tagged.Timeline.Elements) { if (data.ObjectType != "Post") { continue; } if (!CheckIfWithinTimespan(data.Timestamp)) { continue; } foreach (var content in data.Content) { DownloadMedia(content, data.Id, data.Timestamp, data.Tags); } } } catch (TimeoutException timeoutException) { HandleTimeoutException(timeoutException, Resources.Crawling); } catch { } }
public Pagination <TagDto> Execute(TagSearch request) { var query = Context.Tag.AsQueryable(); if (request.Keyword != null) { query = query.Where(t => t.Content.ToLower().Contains(request.Keyword.ToLower())); } if (request.IsDeleted.HasValue) { query = query.Where(t => t.IsDeleted == request.IsDeleted); } var totalCount = query.Count(); query = query.Skip((request.PageNumber - 1) * request.PerPage).Take(request.PerPage); var pagesCount = (int)Math.Ceiling((double)totalCount / request.PerPage); return(new Pagination <TagDto> { CurrentPage = request.PageNumber, Pages = pagesCount, Total = totalCount, Data = query.Select(t => new TagDto { id = t.Id, Content = t.Content, IsDeleted = t.IsDeleted, CreatedAt = t.CreatedAt, ModifiedAt = t.ModifidedAt }) }); }
/// <summary> /// get all tags possibilties for a tag name /// </summary> /// <param name="tagname">tag name without #</param> /// <returns>all tags possibilities for a tag name</returns> public async Task <TagSearch> GetTagSearchForTagName(string tagname) { TagSearch tagsearch = new TagSearch(); try { _ResponseMessage = await _HttpClient.GetAsync(_HttpClient.BaseAddress.AbsoluteUri + "tags/search?q=" + tagname + "&access_token=" + _AccessToken); if (_ResponseMessage.IsSuccessStatusCode) { string responsestring = await _ResponseMessage.Content.ReadAsStringAsync(); tagsearch = JsonConvert.DeserializeObject <TagSearch>(responsestring); } else { tagsearch.meta.code = int.Parse(_ResponseMessage.StatusCode.ToString()); } return(tagsearch); } catch (Exception ex) { if (_Telemetryclient != null) { _Telemetryclient.TrackException(ex); } tagsearch.meta.code = int.Parse(_ResponseMessage.StatusCode.ToString()); } return(tagsearch); }
public PartialFindResult <T> Find <T>(Func <Tag, T> fac, TagQueryParams queryParams, bool onlyMinimalFields = false) where T : class { return(HandleQuery(ctx => { var result = new TagSearch(ctx, queryParams.LanguagePreference).Find(queryParams, onlyMinimalFields); return new PartialFindResult <T>(result.Items.Select(fac).ToArray(), result.TotalCount, queryParams.Common.Query); })); }
private void DownloadMedia(TagSearch page) { try { foreach (var data in page.Tagged.Timeline.Elements) { if (!string.Equals(data.ObjectType, "Post", StringComparison.InvariantCultureIgnoreCase)) { continue; } if (!CheckIfWithinTimespan(data.Timestamp)) { continue; } int index = -1; try { foreach (var content in data.Content) { Post post = new Post() { Date = DateTimeOffset.FromUnixTimeSeconds(data.Timestamp).DateTime.ToString("R"), DateGmt = DateTimeOffset.FromUnixTimeSeconds(data.Timestamp).DateTime.ToString("R"), Type = ConvertContentTypeToPostType(content.Type), Id = data.Id, Tags = new List <string>(data.Tags), Slug = data.Slug, RegularTitle = data.Summary, RebloggedFromName = "", RebloggedRootName = "", ReblogKey = data.ReblogKey, UnixTimestamp = data.Timestamp, Tumblelog = new TumbleLog2() { Name = data.BlogName } }; index += (data.Content.Count > 1) ? 1 : 0; DownloadMedia(content, post, index); } } catch (TimeoutException timeoutException) { HandleTimeoutException(timeoutException, Resources.Crawling); } catch (NullReferenceException e) { Logger.Verbose("TumblrTagSearchCrawler.DownloadMedia: {0}", e); } } } catch (Exception e) { Logger.Error("DownloadMedia: {0}", e); } }
private async Task CrawlPageAsync() { try { string document = await GetTaggedSearchPageAsync(); string json = extractJsonFromSearch.Match(document).Groups[1].Value; TagSearch result = ConvertJsonToClass <TagSearch>(json); if (result.Tagged.ShouldRedirect) { document = await GetTaggedSearchPageAsync(true); json = extractJsonFromSearch.Match(document).Groups[1].Value; result = ConvertJsonToClass <TagSearch>(json); } string nextUrl = result.ApiUrl + result.Tagged.Timeline.Links.Next.Href; string bearerToken = result.ApiFetchStore.APITOKEN; DownloadMedia(result); while (true) { if (CheckIfShouldStop()) { return; } CheckIfShouldPause(); document = await GetRequestAsync(nextUrl, bearerToken); TumblrTaggedSearchApi apiresult = ConvertJsonToClass <TumblrTaggedSearchApi>(document); if (apiresult.Response.Timeline.Links == null) { return; } nextUrl = result.ApiUrl + apiresult.Response.Timeline.Links.Next.Href; DownloadMedia(apiresult); } } catch (TimeoutException timeoutException) { HandleTimeoutException(timeoutException, Resources.Crawling); } catch (Exception e) { Logger.Error("CrawlPageAsync: {0}", e); } finally { semaphoreSlim.Release(); } }
public PagedResponse <TagDto> Execute(TagSearch search) { var query = _context.Tags.AsQueryable(); if (!string.IsNullOrEmpty(search.Name) || !string.IsNullOrWhiteSpace(search.Name)) { query = query.Where(tag => tag.Name.ToLower().Contains(search.Name.ToLower())); } return(query.Paged <TagDto, Tag>(search, _mapper)); }
public void Delete(TagSearch request) { var matches = Get(request) as List <Tag>; if (true != matches?.Any()) { throw new HttpError(HttpStatusCode.NotFound, "No matches for request"); } matches.ForEach(match => { Delete(match); }); }
public IActionResult AddTags(int imageId) { var vm = new TagSearch { ImageId = imageId, ImageTags = _repository.GetImageById(imageId).ImageTags, Tags = _repository.Tags.ToList(), Types = _repository.Tags.Select(x => x.Type).Distinct().ToList() }; // pass the view model to the view return(View(vm)); }
private void DownloadMedia(TagSearch page) { try { foreach (var data in page.Tagged.Timeline.Elements) { if (data.ObjectType != "Post") { continue; } if (!CheckIfWithinTimespan(data.Timestamp)) { continue; } int index = -1; try { foreach (var content in data.Content) { Post post = new Post() { Date = DateTimeOffset.FromUnixTimeSeconds(data.Timestamp).DateTime.ToString("yyyyMMddHHmmss"), Type = ConvertContentTypeToPostType(content.Type), Id = data.Id, Tags = new List <string>(data.Tags), Slug = data.Slug, RegularTitle = data.Summary, RebloggedFromName = "", ReblogKey = data.ReblogKey, UnixTimestamp = data.Timestamp, Submitter = data.BlogName }; index += (data.Content.Count > 1) ? 1 : 0; DownloadMedia(content, post, index); } } catch (TimeoutException timeoutException) { HandleTimeoutException(timeoutException, Resources.Crawling); } catch (NullReferenceException e) { } } } catch (Exception e) { Logger.Error("DownloadMedia: {0}", e); } }
public void GetTagsTest() { string inputPost = @"#testing Test #Hi #test#test2 #test3 #test4 #ą #ąęrtg #aerę #tes/t"; TagSearch tagSrch = new TagSearch(); string[] tags = tagSrch.GetTags(inputPost); Assert.AreEqual("#testing", tags[0]); Assert.AreEqual("#hi", tags[1]); Assert.AreEqual("#test", tags[2]); Assert.AreEqual("#test2", tags[3]); Assert.AreEqual("#test3", tags[4]); Assert.AreEqual("#test4", tags[5]); Assert.AreEqual("#aer", tags[6]); tags = tagSrch.GetTags(inputPost); }
public virtual IActionResult Post([FromBody] TagSearch tagSearch) { //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ... // return StatusCode(200, default(TagSearchResult)); string exampleJson = null; exampleJson = "{\n \"validAssets\" : [ {\n \"companyCode\" : \"companyCode\",\n \"assetNumber\" : \"assetNumber\",\n \"tagId\" : \"tagId\",\n \"inventoryVariantName\" : \"inventoryVariantName\",\n \"description\" : \"description\",\n \"subNumber\" : \"subNumber\"\n }, {\n \"companyCode\" : \"companyCode\",\n \"assetNumber\" : \"assetNumber\",\n \"tagId\" : \"tagId\",\n \"inventoryVariantName\" : \"inventoryVariantName\",\n \"description\" : \"description\",\n \"subNumber\" : \"subNumber\"\n } ],\n \"remainingTags\" : [ {\n \"isValid\" : true,\n \"inUse\" : true,\n \"tag\" : \"tag\"\n }, {\n \"isValid\" : true,\n \"inUse\" : true,\n \"tag\" : \"tag\"\n } ],\n \"invalidAssets\" : [ {\n \"companyCode\" : \"companyCode\",\n \"assetNumber\" : \"assetNumber\",\n \"tagId\" : \"tagId\",\n \"inventoryVariantName\" : \"inventoryVariantName\",\n \"description\" : \"description\",\n \"subNumber\" : \"subNumber\"\n }, {\n \"companyCode\" : \"companyCode\",\n \"assetNumber\" : \"assetNumber\",\n \"tagId\" : \"tagId\",\n \"inventoryVariantName\" : \"inventoryVariantName\",\n \"description\" : \"description\",\n \"subNumber\" : \"subNumber\"\n } ]\n}"; var example = exampleJson != null ? JsonConvert.DeserializeObject <TagSearchResult>(exampleJson) : default(TagSearchResult); //TODO: Change the data returned return(new ObjectResult(example)); }
private PartialFindResult <Tag> CallFind(ContentLanguagePreference languagePreference = ContentLanguagePreference.Default, bool onlyMinimalFields = false) { return(context.RunTest(querySource => { var search = new TagSearch(querySource.OfType <Tag>(), languagePreference); var watch = new Stopwatch(); watch.Start(); var result = search.Find(queryParams, onlyMinimalFields); Console.WriteLine("Test finished in {0}ms", watch.ElapsedMilliseconds); return result; })); }
private void OnHotKeyPressed() { // do stuff if (this.WindowState.Equals(WindowState.Minimized)) { this.Activate(); this.WindowState = WindowState.Normal; wasHotkeyed = true; TagSearch.Focus(); } else { this.WindowState = WindowState.Minimized; } Console.WriteLine("SHIT WAS PRESSED"); }
public bool AddBoardInstagramTagFeeds(string hashTag, string boardInstagramTagId) { MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramFeeds"); bool output = false; try { JObject recentactivities = JObject.Parse(TagSearch.InstagramTagSearch(hashTag, "1479225281.d89b5cf.bd764cfc979f4bcbabbddf61359659cd")); foreach (JObject obj in JArray.Parse(recentactivities["data"].ToString())) { MongoBoardInstagramFeeds binstfeed = new MongoBoardInstagramFeeds(); binstfeed.Id = ObjectId.GenerateNewId(); binstfeed.Instagramaccountid = boardInstagramTagId; binstfeed.Isvisible = true; try { binstfeed.Imageurl = obj["images"]["standard_resolution"]["url"].ToString(); } catch { } try { binstfeed.Link = obj["link"].ToString(); } catch { } try { foreach (JValue tag in JArray.Parse(obj["tags"].ToString())) { try { binstfeed.Tags = tag.ToString() + ","; } catch { } } } catch { } try { binstfeed.Publishedtime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(new DateTime(1970, 1, 1).AddSeconds(Convert.ToInt64(obj["created_time"].ToString()))); } catch { //binstfeed.Createdtime = DateTime.UtcNow; } try { binstfeed.Feedid = obj["id"].ToString(); } catch { } try { binstfeed.FromId = obj["user"]["username"].ToString(); } catch { } try { binstfeed.FromName = obj["user"]["full_name"].ToString(); } catch { } try { binstfeed.FromPicUrl = obj["user"]["profile_picture"].ToString(); } catch { } var ret = boardrepo.Find <MongoBoardInstagramFeeds>(t => t.Feedid == binstfeed.Feedid); var task = Task.Run(async() => { return(await ret); }); int count = task.Result.Count; if (count < 1) { try { boardrepo.Add <MongoBoardInstagramFeeds>(binstfeed); } catch (Exception e) { } } } } catch { } return(output); }
public static void instgramSearch() { DatabaseRepository dbr = new DatabaseRepository(); List <Discovery> lst_discovery = dbr.Find <Discovery>(t => t.SearchKeyword != "").ToList(); foreach (var itemdis in lst_discovery) { MongoRepository mongoreppo = new MongoRepository("AdvanceSerachData"); try { JObject recentactivities = JObject.Parse(TagSearch.InstagramTagSearch(itemdis.SearchKeyword, AdvanceSerachData.Helper.AppSetting.instagramToken)); foreach (JObject obj in JArray.Parse(recentactivities["data"].ToString())) { Domain.Socioboard.Models.Mongo.AdvanceSerachData _AdvanceSerachData = new Domain.Socioboard.Models.Mongo.AdvanceSerachData(); _AdvanceSerachData.Id = ObjectId.GenerateNewId(); _AdvanceSerachData.strId = ObjectId.GenerateNewId().ToString(); _AdvanceSerachData.domainType = "https://www.instagram.com/?"; _AdvanceSerachData.postType = Domain.Socioboard.Enum.AdvanceSearchpostType.image; _AdvanceSerachData.networkType = Domain.Socioboard.Enum.NetworkType.instagram; try { _AdvanceSerachData.ImageUrl = obj["images"]["standard_resolution"]["url"].ToString(); } catch { } try { _AdvanceSerachData.postUrl = obj["link"].ToString(); } catch { } try { foreach (JValue tag in JArray.Parse(obj["tags"].ToString())) { try { _AdvanceSerachData.postdescription = tag.ToString() + ","; } catch { } } } catch { } try { _AdvanceSerachData.postedTime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(Convert.ToDateTime(obj["created_time"].ToString())); } catch { _AdvanceSerachData.postedTime = SBHelper.ConvertToUnixTimestamp(DateTime.UtcNow); } try { _AdvanceSerachData.postId = obj["id"].ToString(); } catch { } try { _AdvanceSerachData.userName = obj["user"]["username"].ToString(); } catch { } try { _AdvanceSerachData.userName = obj["user"]["full_name"].ToString(); } catch { } int count = mongoreppo.Counts <Domain.Socioboard.Models.Mongo.AdvanceSerachData>(t => t.postUrl == _AdvanceSerachData.postUrl); if (count == 0) { mongoreppo.Add <Domain.Socioboard.Models.Mongo.AdvanceSerachData>(_AdvanceSerachData); } else { } } } catch { } } }
public bool AddBoardInstagramTagFeeds(string hashTag, string boardInstagramTagId, Helper.Cache _redisCache, Helper.AppSettings settings, ILogger _logger) { MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramFeeds", settings); bool output = false; try { JObject recentactivities = JObject.Parse(TagSearch.InstagramTagSearch(hashTag, settings.InstagramBoardMeAccessToken)); foreach (JObject obj in JArray.Parse(recentactivities["data"].ToString())) { MongoBoardInstagramFeeds binstfeed = new MongoBoardInstagramFeeds(); binstfeed.Id = ObjectId.GenerateNewId(); binstfeed.Instagramaccountid = boardInstagramTagId; binstfeed.Isvisible = true; try { binstfeed.Imageurl = obj["images"]["standard_resolution"]["url"].ToString(); } catch { } try { binstfeed.Link = obj["link"].ToString(); } catch { } try { foreach (JValue tag in JArray.Parse(obj["tags"].ToString())) { try { binstfeed.Tags = tag.ToString() + ","; } catch { } } } catch { } try { binstfeed.Publishedtime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(new DateTime(1970, 1, 1).AddSeconds(Convert.ToInt64(obj["created_time"].ToString()))); } catch { //binstfeed.Createdtime = DateTime.UtcNow; } try { binstfeed.Feedid = obj["id"].ToString(); } catch { } try { binstfeed.FromId = obj["user"]["username"].ToString(); } catch { } try { binstfeed.FromName = obj["user"]["full_name"].ToString(); } catch { } try { binstfeed.FromPicUrl = obj["user"]["profile_picture"].ToString(); } catch { } try { boardrepo.Add <MongoBoardInstagramFeeds>(binstfeed); } catch (Exception e) { } //if (!boardrepo.checkInstagramFeedExists(binstfeed.Feedid, BoardInstagramTagId)) //{ // boardrepo.addBoardInstagramFeeds(binstfeed); //} } } catch { } return(output); }
/**************************************************************************************************************************/ /// <summary> /// <para>searches for tags by name</para> /// </summary> /// <param name="TagName"></param> /// <returns></returns> public TagSearch GetTagSearchResult(String TagName) { TagSearch SearchResult = null; try { // SET UP REQUEST URI UriBuilder BaseUri = new UriBuilder(); BaseUri.Scheme = Config.GetUriScheme(); BaseUri.Host = Config.GetApiUriString(); BaseUri.Host += "/tags/search"; // SET UP QUERY STRING NameValueCollection QueryString = System.Web.HttpUtility.ParseQueryString(String.Empty); QueryString.Add("access_token", AuthorisedUser.AccessToken); QueryString.Add("q", TagName); // SET THE QUERY STRING BaseUri.Query = QueryString.ToString(); // SEND REQUEST WebClient Client = new WebClient(); byte[] ResponseData = Client.DownloadData(BaseUri.Uri); String Response = Encoding.UTF8.GetString(ResponseData); // PARSE JSON dynamic ParsedJson = JsonConvert.DeserializeObject(Response); // CREATE SEARCH RESULT OBJECT SearchResult = new TagSearch(); // CREATE META OBJECT MetaData Meta = new MetaData(); Meta.Code = ParsedJson.meta.code; SearchResult.Meta = Meta; // SET DATA FIELD IN SEARCHRESULT List <TagInfo> Data = new List <TagInfo>(); foreach (dynamic EachTag in ParsedJson.data) { // CREATE NEW TAG INFO OBJECT TagInfo TInfo = new TagInfo(); TInfo.MediaCount = long.Parse(EachTag.media_count.ToString()); TInfo.Name = EachTag.name; // ADD TAG INFO TO THE LIST Data.Add(TInfo); } SearchResult.Data = Data; } catch (WebException WEx) { // FETCHES ANY ERROR THROWN BY INSTAGRAM API Stream ResponseStream = WEx.Response.GetResponseStream(); if (ResponseStream != null) { StreamReader ResponseReader = new StreamReader(ResponseStream); if (ResponseReader != null) { // PARSE JSON dynamic ParsedJson = JsonConvert.DeserializeObject(ResponseReader.ReadToEnd()); // CREATE NEW META OBJECT AND FILL IN DATA MetaData Meta = new MetaData(); Meta.Code = ParsedJson.meta.code; Meta.ErrorType = ParsedJson.meta.error_type; Meta.ErrorMessage = ParsedJson.meta.error_message; SearchResult.Meta = Meta; } } } catch (Exception Ex) { Console.WriteLine(Ex.StackTrace); } return(SearchResult); }
public IActionResult Get([FromQuery] TagSearch dto, [FromServices] IGetTagsCommand query) => Ok(executor.ExecuteQuery(query, dto));
} //Injected by IOC public object Get(TagSearch tag) { return(tag == null || string.IsNullOrWhiteSpace(tag.Name) ? Repository.GetAll() : Repository.FindByName(tag.Name, tag.Top, tag.Descending)); }
public bool AddBoardInstagramTagFeeds(string hashTag, string boardInstagramTagId) { MongoRepository boardrepo = new MongoRepository("MongoBoardInstagramFeeds"); bool output = false; try { JObject recentactivities = JObject.Parse(TagSearch.InstagramTagSearch(hashTag, "1974224400.2310fd1.699477d40ff64cd6babfb0b3a6cf60fa")); foreach (JObject obj in JArray.Parse(recentactivities["data"].ToString())) { MongoBoardInstagramFeeds binstfeed = new MongoBoardInstagramFeeds(); binstfeed.Id = ObjectId.GenerateNewId(); binstfeed.Instagramaccountid = boardInstagramTagId; binstfeed.Isvisible = true; try { binstfeed.Imageurl = obj["images"]["standard_resolution"]["url"].ToString(); } catch { } try { binstfeed.Link = obj["link"].ToString(); } catch { } try { foreach (JValue tag in JArray.Parse(obj["tags"].ToString())) { try { binstfeed.Tags = tag.ToString() + ","; } catch { } } } catch { } try { binstfeed.Publishedtime = Domain.Socioboard.Helpers.SBHelper.ConvertToUnixTimestamp(new DateTime(1970, 1, 1).AddSeconds(Convert.ToInt64(obj["created_time"].ToString()))); } catch { //binstfeed.Createdtime = DateTime.UtcNow; } try { binstfeed.Feedid = obj["id"].ToString(); } catch { } try { binstfeed.FromId = obj["user"]["username"].ToString(); } catch { } try { binstfeed.FromName = obj["user"]["full_name"].ToString(); } catch { } try { binstfeed.FromPicUrl = obj["user"]["profile_picture"].ToString(); } catch { } try { boardrepo.Add <MongoBoardInstagramFeeds>(binstfeed); } catch (Exception e) { } } } catch { } return(output); }
public object Post(TagSearch request) => Get(request);
public object Get(TagSearch request) => GetSearchResultWithCache <Tag, DocEntityTag, TagSearch>(DocConstantModelName.TAG, request, _ExecSearch);
protected void Tag_ButtonClick(object sender, EventArgs e) { TagSearch?.Invoke(sender, e); }
private IQueryable <DocEntityTag> _ExecSearch(TagSearch request, DocQuery query) { request = InitSearch <Tag, TagSearch>(request); IQueryable <DocEntityTag> entities = null; query.Run(session => { entities = query.SelectAll <DocEntityTag>(); if (!DocTools.IsNullOrEmpty(request.FullTextSearch)) { var fts = new TagFullTextSearch(request); entities = GetFullTextSearch <DocEntityTag, TagFullTextSearch>(fts, entities); } if (null != request.Ids && request.Ids.Any()) { entities = entities.Where(en => en.Id.In(request.Ids)); } if (!DocTools.IsNullOrEmpty(request.Updated)) { entities = entities.Where(e => null != e.Updated && e.Updated.Value.Date == request.Updated.Value.Date); } if (!DocTools.IsNullOrEmpty(request.UpdatedBefore)) { entities = entities.Where(e => null != e.Updated && e.Updated <= request.UpdatedBefore); } if (!DocTools.IsNullOrEmpty(request.UpdatedAfter)) { entities = entities.Where(e => null != e.Updated && e.Updated >= request.UpdatedAfter); } if (!DocTools.IsNullOrEmpty(request.Created)) { entities = entities.Where(e => null != e.Created && e.Created.Value.Date == request.Created.Value.Date); } if (!DocTools.IsNullOrEmpty(request.CreatedBefore)) { entities = entities.Where(e => null != e.Created && e.Created <= request.CreatedBefore); } if (!DocTools.IsNullOrEmpty(request.CreatedAfter)) { entities = entities.Where(e => null != e.Created && e.Created >= request.CreatedAfter); } if (true == request.Archived?.Any() && currentUser.HasProperty(DocConstantModelName.TAG, nameof(Reference.Archived), DocConstantPermission.VIEW)) { entities = entities.Where(en => en.Archived.In(request.Archived)); } else { entities = entities.Where(en => !en.Archived); } if (true == request.Locked?.Any()) { entities = entities.Where(en => en.Locked.In(request.Locked)); } if (!DocTools.IsNullOrEmpty(request.Name)) { entities = entities.Where(en => en.Name.Contains(request.Name)); } if (!DocTools.IsNullOrEmpty(request.Names)) { entities = entities.Where(en => en.Name.In(request.Names)); } if (true == request.ScopesIds?.Any()) { entities = entities.Where(en => en.Scopes.Any(r => r.Id.In(request.ScopesIds))); } if (!DocTools.IsNullOrEmpty(request.URI)) { entities = entities.Where(en => en.URI.Contains(request.URI)); } if (!DocTools.IsNullOrEmpty(request.URIs)) { entities = entities.Where(en => en.URI.In(request.URIs)); } entities = ApplyFilters <DocEntityTag, TagSearch>(request, entities); if (request.Skip > 0) { entities = entities.Skip(request.Skip.Value); } if (request.Take > 0) { entities = entities.Take(request.Take.Value); } if (true == request?.OrderBy?.Any()) { entities = entities.OrderBy(request.OrderBy); } if (true == request?.OrderByDesc?.Any()) { entities = entities.OrderByDescending(request.OrderByDesc); } }); return(entities); }
public IActionResult Get([FromQuery] TagSearch search, [FromServices] IGetTagsQuery query) { return(Ok(_executor.ExecuteQuery(query, search))); }
public object Get(TagSearch tag) { return tag == null || string.IsNullOrWhiteSpace(tag.Name) ? Repository.GetAll() : Repository.FindByName(tag.Name, tag.Top, tag.Descending); }