public async Task <MyBlogCommonResponse <bool> > ChangeArticleStatus(int blogid, int status)
        {
            MyBlogCommonResponse <bool> response = new MyBlogCommonResponse <bool>();

            try
            {
                var blog = await _blogArticleServices.QueryById(blogid);

                blog.ArticleStatus = status;
                var result = await _blogArticleServices.Update(blog);

                if (result)
                {
                    response.code = 200; response.success = true;
                    response.data = result;
                }
                else
                {
                    response.code = 200; response.message = "数据库保存异常";
                    response.data = false;
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.message = ex.Message.ToString();
                response.code    = 500;
                return(response);
            }
        }
        public async Task <MyBlogCommonResponse <List <BlogArticle> > > GetAllBlogArticleList()
        {
            MyBlogCommonResponse <List <BlogArticle> > response = new MyBlogCommonResponse <List <BlogArticle> >();

            try
            {
                var data = await _blogArticleServices.Query();

                foreach (var item in data)
                {
                    item.ArticleHtmlContent     = item.ArticleHtmlContent?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }), Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }));
                    item.ArticleMarkdownContent = item.ArticleMarkdownContent?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }), Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }));
                    item.ArticleCoverImage      = item.ArticleCoverImage?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }), Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }));
                }
                response.code = 200; response.success = true;
                response.data = data;
                return(response);
            }
            catch (Exception ex)
            {
                response.message = ex.Message.ToString();
                response.code    = 500;
                return(response);
            }
        }
        public async Task <MyBlogCommonResponse <bool> > SaveBlogArticleHistoryVersion([FromBody] BlogArticle blogArticle)
        {
            MyBlogCommonResponse <bool> response = new MyBlogCommonResponse <bool>();

            try
            {
                var models = _mapper.Map <BlogArticleHistoryVersion>(blogArticle);
                models.ArticleHtmlContent     = models.ArticleHtmlContent.Replace(Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }), Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }));
                models.ArticleMarkdownContent = models.ArticleMarkdownContent.Replace(Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }), Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }));
                models.ArticleCoverImage      = models.ArticleCoverImage?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }), Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }));
                models.CreateTime             = DateTime.Now;
                models.UpdateTime             = DateTime.Now;
                var resultid = await _blogArticleHistoryVersionServices.Add(models);

                if (resultid > 0)
                {
                    response.code = 200; response.success = true;
                    response.data = true;
                }
                else
                {
                    response.code = 200; response.message = "数据库保存异常";
                    response.data = false;
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.message = ex.Message.ToString();
                response.code    = 500;
                return(response);
            }
        }
        public async Task <MyBlogCommonResponse <BlogArticle> > CreateNewBlogArticle(int id, int type)
        {
            MyBlogCommonResponse <BlogArticle> response = new MyBlogCommonResponse <BlogArticle>();

            try
            {
                BlogArticle blogArticle = new BlogArticle()
                {
                    ArticleCreateUserID   = id,
                    ArticleCreateTime     = DateTime.Now,
                    ArticleLastUpdateTime = DateTime.Now,
                    ArticleTitle          = DateTime.Now.ToString("yyyy-MM-dd"),
                    ArticleTechnicalType  = type,
                    ArticleVisitNumber    = 0,
                    ArticleStatus         = 1
                };
                var articleid = await _blogArticleServices.Add(blogArticle);

                blogArticle.ArticleId = articleid;
                response.code         = 200; response.success = true;
                response.data         = blogArticle;
                return(response);
            }
            catch (Exception ex)
            {
                response.message = ex.Message.ToString();
                response.code    = 500;
                return(response);
            }
        }
        public async Task <MyBlogCommonResponse <int> > AddBlogArticle([FromBody] BlogArticle blogArticle)
        {
            MyBlogCommonResponse <int> response = new MyBlogCommonResponse <int>();

            try
            {
                blogArticle.ArticleCreateTime  = DateTime.Now;
                blogArticle.ArticleVisitNumber = 0;
                var id = (await _blogArticleServices.Add(blogArticle));
                response.success = id > 0;
                if (response.success)
                {
                    response.data    = id;
                    response.message = "添加成功";
                }
                else
                {
                    response.message = "执行数据添加失败"; response.code = 500;
                }
                return(response);
            }
            catch (Exception ex)
            {
                response.message = ex.Message.ToString();
                response.code    = 500;
                return(response);
            }
        }
        public MyBlogCommonResponse <List <object> > ImagePost(IFormCollection Files)
        {
            MyBlogCommonResponse <List <object> > response = new MyBlogCommonResponse <List <object> >();

            try
            {
                //var form = Request.Form;//直接从表单里面获取文件名不需要参数
                string ArticleType       = Files["ImageType"];
                var    form              = Files;//定义接收类型的参数
                IFormFileCollection cols = Request.Form.Files;
                if (cols == null || cols.Count == 0)
                {
                    response.code    = 200;
                    response.message = "没有上传文件";
                    return(response);
                }
                List <object> pathlist = new List <object>();
                //定义图片数组后缀格式
                string[] LimitPictureType = { ".JPG", ".JPEG", ".GIF", ".PNG", ".BMP" };
                foreach (IFormFile file in cols)
                {
                    //获取图片后缀是否存在数组中
                    string currentPictureExtension = Path.GetExtension(file.FileName).ToUpper();
                    if (string.IsNullOrEmpty(currentPictureExtension))
                    {
                        currentPictureExtension = "." + file.ContentType.Split('/').Last().ToUpper();
                    }
                    if (LimitPictureType.Contains(currentPictureExtension))
                    {
                        List <string> dicpathlist = new List <string>();
                        dicpathlist.Add(ArticleType);
                        dicpathlist.Add(DateTime.Now.ToString("yyyyMMdd"));
                        var filexhttppath = new FtpHelper().UploadFie(file, dicpathlist, DateTime.Now.ToString("yyyyMMddhhmmssfff") + currentPictureExtension.ToLower());
                        pathlist.Add(new { path = filexhttppath });
                    }
                    else
                    {
                        response.message = "存在不合法的图片格式;请替换"; response.code = 200;
                        return(response);
                    }
                }
                response.message = "上传成功"; response.success = true; response.data = pathlist;
                return(response);
            }
            catch (Exception ex)
            {
                response.code = 500; response.message = ex.Message.ToString();
                return(response);
            }
        }
        public async Task <MyBlogCommonResponse <BlogViewModels> > GetBlogDetails(int id)
        {
            MyBlogCommonResponse <BlogViewModels> response = new MyBlogCommonResponse <BlogViewModels>();

            try
            {
                var data = await _blogArticleServices.GetBlogDetails(id);

                data.ArticleCoverImage  = data.ArticleCoverImage?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }), Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }));
                data.ArticleHtmlContent = data.ArticleHtmlContent?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }), Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }));
                data.nextcoverimg       = data.nextcoverimg?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }), Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }));
                data.precoverimg        = data.precoverimg?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }), Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }));
                response.code           = 200; response.success = true;
                response.data           = data;
                return(response);
            }
            catch (Exception ex) {
                response.message = ex.Message.ToString();
                response.code    = 500;
                return(response);
            }
        }
        public async Task <MyBlogCommonResponse <bool> > UpdateBlogArticle([FromBody] BlogArticle blogArticle)
        {
            MyBlogCommonResponse <bool> response = new MyBlogCommonResponse <bool>();

            try
            {
                blogArticle.ArticleLastUpdateTime  = DateTime.Now;
                blogArticle.ArticleHtmlContent     = blogArticle.ArticleHtmlContent.Replace(Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }), Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }));
                blogArticle.ArticleMarkdownContent = blogArticle.ArticleMarkdownContent.Replace(Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }), Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }));
                blogArticle.ArticleCoverImage      = blogArticle.ArticleCoverImage?.Replace(Appsettings.app(new string[] { "ImageCommonPath", "ImageHttpAddress" }), Appsettings.app(new string[] { "ImageCommonPath", "MyBlogImageHttpAddressPlaceholder" }));
                var result = await _blogArticleServices.Update(blogArticle);

                response.code = 200; response.success = true;
                response.data = result;
                return(response);
            }
            catch (Exception ex)
            {
                response.message = ex.Message.ToString();
                response.code    = 500;
                return(response);
            }
        }