コード例 #1
0
    public ActionResult Edit(int id)
    {
        Blog blog = repository.Find(id);

        if (blog == null)
        {
            return(HttpNotFound());
        }
        BlogForm viewModel = new BlogForm(blog);

        return(View(viewModel));
    }
コード例 #2
0
        /// <summary>
        /// 采集微软RSS博客
        /// </summary>
        /// <param name="blogs"></param>
        /// <param name="log"></param>
        static async Task SaveMSBlogs(List <RssEntity> blogs, ILogger log)
        {
            string subKey          = Environment.GetEnvironmentVariable("GoogleTranslateKey");
            var    translateHelper = new TranslateTextHelper(subKey);

            log.LogInformation("采集微软RSS:" + blogs.Count + "条;\r\n" + string.Join(";\r\n", blogs.Select(b => b.Title).ToArray()));
            // blogs去重
            using (var hc = new HttpClient())
            {
                var response = await hc.PostAsJsonAsync(baseApi + "admin/tools/UniqueBlogs", blogs.Select(b => b.Title).ToList());

                var json = await response.Content.ReadAsStringAsync();

                var uniqueBlogs = JsonConvert.DeserializeObject <List <string> >(json);
                if (uniqueBlogs == null)
                {
                    log.LogInformation("没有新增内容");
                    return;
                }
                blogs = blogs.Where(b => uniqueBlogs.Any(u => b.Title.Equals(u)) && b.Title != null)
                        .ToList();

                log.LogInformation("新增条数:" + uniqueBlogs?.Count + "\r\n" + string.Join(";\r\n", blogs.Select(b => b.Title).ToArray()));

                if (blogs.Count > 0)
                {
                    var intelligence = new IntelligenceHelper();
                    foreach (var item in blogs)
                    {
                        try
                        {
                            var thumbnail = item.ThumbUrl;
                            if (string.IsNullOrEmpty(item.ThumbUrl))
                            {
                                thumbnail = await intelligence.GetImageFromTextAsync(item.Title);
                            }
                            //var thumbnail = "";

                            var blogForm = new BlogForm
                            {
                                ContentEn   = item.Content,
                                AuthorName  = item.Author,
                                Categories  = item.Categories,
                                Content     = translateHelper.TranslateText(item.Content),
                                Summary     = translateHelper.TranslateText(item.Description),
                                Title       = translateHelper.TranslateText(item.Title),
                                TitleEn     = item.Title,
                                Link        = item.Link,
                                CreatedTime = item.CreateTime,
                                Thumbnail   = thumbnail
                            };
                            var tobeAddBlogs = new List <BlogForm> {
                                blogForm
                            };
                            response = await hc.PostAsJsonAsync(baseApi + "admin/tools/AddRssBlogs", tobeAddBlogs);

                            if (response.IsSuccessStatusCode)
                            {
                                var result = await response.Content.ReadAsStringAsync();

                                log.LogInformation("成功:" + item.Title);
                            }
                            else
                            {
                                log.LogError(response.StatusCode + response.ReasonPhrase);
                            }
                        }
                        catch (Exception e)
                        {
                            log.LogError(e.Message + e.StackTrace + e.InnerException?.Message);
                        }
                    }
                }
            }
        }