コード例 #1
0
        public async Task <JsonResult> GetById(Guid Id)
        {
            var item = (await TwitterUserService.GetAsQueriable()).Where(q => q.Id == Id).FirstOrDefault();

            if (item == null)
            {
                Response.StatusCode = StatusCodes.Status404NotFound;
            }
            return(new JsonResult(item));
        }
コード例 #2
0
        protected async Task <NewsArticleCachedModel> ProcessUrl(string url)
        {
            HttpClient client = new HttpClient();

            ProcessedNewsArticle processedNewsArticle = null;
            var processingUrl            = _processingUnitUrl + "?tweet_url=" + url;
            HttpResponseMessage response = await client.GetAsync(processingUrl);

            if (response.IsSuccessStatusCode)
            {
                var responseStream = await response.Content.ReadAsStreamAsync();

                processedNewsArticle = await JsonSerializer.DeserializeAsync <ProcessedNewsArticle>(responseStream);
            }
            else
            {
                return(null);
            }

            var  user = (await TwitterUserService.GetAsQueriable()).Where(x => x.Username == processedNewsArticle.user).FirstOrDefault();
            Guid userId;

            if (user == null)
            {
                userId = await TwitterUserService.Add(processedNewsArticle.GetTwitterUser());
            }
            else
            {
                userId = user.Id;
                user   = processedNewsArticle.GetTwitterUser(user.Id);
                await TwitterUserService.Update(user);
            }

            var newsArticle = processedNewsArticle.GetAsModel();

            await Add(processedNewsArticle.GetNewsArticle(url, userId));

            return(newsArticle);
        }
コード例 #3
0
        public async Task <JsonResult> GetFiltered(TwitterUserFilterViewModel model)
        {
            var items = await model.ApplyFilter(await TwitterUserService.GetAsQueriable());

            return(new JsonResult(items));
        }