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
     {
     }
 }
Exemplo n.º 2
0
        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
                })
            });
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        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);
            });
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
 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);
     }
 }
Exemplo n.º 11
0
        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);
        }
Exemplo n.º 12
0
        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;
            }));
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 16
0
        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 { }
            }
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        /**************************************************************************************************************************/

        /// <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));
Exemplo n.º 20
0
        }                                             //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));
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
 public object Post(TagSearch request) => Get(request);
Exemplo n.º 23
0
 public object Get(TagSearch request) => GetSearchResultWithCache <Tag, DocEntityTag, TagSearch>(DocConstantModelName.TAG, request, _ExecSearch);
Exemplo n.º 24
0
 protected void Tag_ButtonClick(object sender, EventArgs e)
 {
     TagSearch?.Invoke(sender, e);
 }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 26
0
 public IActionResult Get([FromQuery] TagSearch search, [FromServices] IGetTagsQuery query)
 {
     return(Ok(_executor.ExecuteQuery(query, search)));
 }
Exemplo n.º 27
0
 public object Get(TagSearch tag)
 {
     return tag == null || string.IsNullOrWhiteSpace(tag.Name)
                ? Repository.GetAll()
                : Repository.FindByName(tag.Name, tag.Top, tag.Descending);
 }