Example #1
0
        //[TestMethod]
        private void DeleteForeverMediaTest(string accessToken, string mediaId)
        {
            var result = MediaApi.DeleteForeverMedia(accessToken, mediaId);

            Assert.AreEqual(result.errcode, ReturnCode.请求成功);
            Console.WriteLine("图文素材已删除");
        }
Example #2
0
 public async Task<IHttpActionResult> Delete(string id)
 {
     var result = MediaApi.DeleteForeverMedia(AccessToken, id);
     if (result.errcode != ReturnCode.请求成功)
         return BadRequest(result.errmsg);
     return StatusCode(HttpStatusCode.NoContent);
 }
Example #3
0
        public void DeleteForm(string keyValue)
        {
            var     id      = Convert.ToInt64(keyValue);
            WxImage wxImage = wxImageRepository.Get(id);

            if (!string.IsNullOrEmpty(wxImage.MediaId))
            {
                string            appId             = WxOperatorProvider.Provider.GetCurrent().AppId;
                AccessTokenResult accessTokenResult = AccessTokenContainer.GetAccessTokenResult(appId);
                var wxJsonResult = MediaApi.DeleteForeverMedia(accessTokenResult.access_token, wxImage.MediaId, 10000);
                if (wxJsonResult.ErrorCodeValue == 0)
                {
                    wxImage.MediaId      = null;
                    wxImage.DeletedMark  = true;
                    wxImage.DeletionTime = DateTime.Now;
                    wxImageRepository.Update(wxImage);
                }
            }
            else
            {
                wxImage.MediaId      = null;
                wxImage.DeletedMark  = true;
                wxImage.DeletionTime = DateTime.Now;
                wxImageRepository.Update(wxImage);
            }
        }
        private void SaveNewsToWeChat(Guid newsId)
        {
            var news =
                db.Site_News.Include(w => w.Articles)
                //.Include("Articles.Article")
                //.Include("Articles.FrontCoverImage")
                .FirstOrDefault(p => p.Id == newsId);

            //为了兼容MySQL
            foreach (var item in news.Articles)
            {
                item.Article         = db.Site_Articles.Find(item.SiteArticleId);
                item.FrontCoverImage = db.Site_Images.Find(item.SiteImageId);
            }
            var newsList = new List <NewsModel>();

            foreach (var model in news.Articles)
            {
                var newsModel = new NewsModel
                {
                    author             = model.Article.Author,
                    content            = model.Article.Content,
                    content_source_url = model.Article.OriginalUrl,
                    digest             = model.Article.Summary,
                    show_cover_pic     = model.IsShowInText ? "1" : "0",
                    title          = model.Article.Name,
                    thumb_media_id = model.FrontCoverImage.MediaId
                };
                newsList.Add(newsModel);
            }
            if (string.IsNullOrWhiteSpace(news.MediaId))
            {
                var result = MediaApi.UploadNews(AccessToken, Config.TIME_OUT, newsList.ToArray());
                news.MediaId            = result.media_id;
                news.Url                = result.url;
                news.FrontCoverImageUrl = news.Articles.First().FrontCoverImage.SiteUrl;
                db.SaveChanges();
            }
            else
            {
                MediaApi.DeleteForeverMedia(AccessToken, news.MediaId);
                var result = MediaApi.UploadNews(AccessToken, Config.TIME_OUT, newsList.ToArray());
                news.MediaId            = result.media_id;
                news.Url                = result.url;
                news.FrontCoverImageUrl = news.Articles.First().FrontCoverImage.SiteUrl;
                db.SaveChanges();
                //TODO:受微信接口限制,无法实现新增图文,故删除再建
                //var index = 0;
                //foreach (var item in newsList)
                //{
                //    var result = MediaApi.UpdateForeverNews(AccessToken, news.MediaId, index, item);
                //    index++;
                //}
            }
        }
Example #5
0
 public void DeleteMedias(Wx_App app, string mediaIds)
 {
     foreach (var remoteMedia in GetRemoteMedias(app.Id, mediaIds))
     {
         var result = MediaApi.DeleteForeverMedia(app.AppId, remoteMedia.MediaId);
         if (result.ErrorCodeValue != 0)
         {
             throw new AceException(result.errcode.ToString());
         }
     }
 }
Example #6
0
        public async Task <ActionResult> BatchOperation(string operation, params Guid?[] ids)
        {
            var ajaxResponse = new AjaxResponse();

            if (ids.Length > 0)
            {
                try
                {
                    var models = await db.Site_News.Where(p => ids.Contains(p.Id)).ToListAsync();

                    if (models.Count == 0)
                    {
                        ajaxResponse.Success = false;
                        ajaxResponse.Message = "没有找到匹配的项,项已被删除或不存在!";
                        return(Json(ajaxResponse));
                    }
                    switch (operation.ToUpper())
                    {
                    case "DELETE":

                        #region  除

                    {
                        foreach (var item in models)
                        {
                            MediaApi.DeleteForeverMedia(AccessToken, item.MediaId);
                        }
                        db.Site_News.RemoveRange(models);
                        await db.SaveChangesAsync();

                        ajaxResponse.Success = true;
                        ajaxResponse.Message = string.Format("已成功操作{0}项!", models.Count);
                        break;
                    }

                        #endregion

                    default:
                        break;
                    }
                }
                catch (Exception ex)
                {
                    ajaxResponse.Success = false;
                    ajaxResponse.Message = ex.Message;
                }
            }
            else
            {
                ajaxResponse.Success = false;
                ajaxResponse.Message = "请至少选择一项!";
            }
            return(Json(ajaxResponse));
        }
 private static void UploadImgToWeixin(string accessToken, MediaList_OthersResult imgResult, string saveName, string filePath)
 {
     foreach (var item in imgResult.item)
     {
         if (item.name == saveName)
         {
             MediaApi.DeleteForeverMedia(accessToken, item.media_id);
         }
     }
     MediaApi.UploadForeverMedia(accessToken, filePath);
 }
Example #8
0
        public void AfterDeleteVideoTest()
        {
            var accessToken = AccessTokenContainer.GetAccessToken(_appId);

            var file   = @"E:\Test.mp4";
            var result = MediaApi.UploadForeverVideo(accessToken, file, "测试", "测试", 100000);

            Assert.IsNotNull(result.media_id);

            CustomApi.SendVideo(accessToken, "o3IHxjrPzMVZIJOgYMH1PyoTW_Tg", result.media_id, "测试", "测试");
            MediaApi.DeleteForeverMedia(accessToken, result.media_id);
        }
Example #9
0
        public void AfterDeleteImgTest()
        {
            var accessToken = AccessTokenContainer.GetAccessToken(_appId);

            var file = @"..\..\AdvancedAPIs\Media\test.jpg";

            var result = MediaApi.UploadForeverMedia(accessToken, file);

            Assert.IsNotNull(result.media_id);

            CustomApi.SendImage(accessToken, "o3IHxjrPzMVZIJOgYMH1PyoTW_Tg", result.media_id);

            MediaApi.DeleteForeverMedia(accessToken, result.media_id);
        }
        public ActionResult Delete(Guid?typeId, Guid id, string mediaId)
        {
            var response = new AjaxResponse {
                Success = true, Message = "删除成功!"
            };
            var resoureType = db.Site_ResourceTypes.Find(typeId);

            if (resoureType == null)
            {
                return(HttpNotFound());
            }

            var result = MediaApi.DeleteForeverMedia(AccessToken, mediaId);

            if (result.errcode != ReturnCode.请求成功)
            {
                response.Success = false;
                response.Message = "删除失败!" + result.errmsg;
            }
            else
            {
                switch (resoureType.ResourceType)
                {
                case SiteResourceTypes.Gallery:
                {
                    RemoveSiteResourceData <Site_Image>(id);
                    break;
                }

                case SiteResourceTypes.Voice:
                {
                    RemoveSiteResourceData <Site_Voice>(id);
                    break;
                }

                case SiteResourceTypes.Video:
                {
                    RemoveSiteResourceData <Site_Video>(id);
                    break;
                }

                default:
                    break;
                }
            }
            return(Json(response));
        }
Example #11
0
        public ActionResult Delete(Guid?id)
        {
            var response = new AjaxResponse {
                Success = true, Message = "删除成功!"
            };
            var site_News = db.Site_News.Include(p => p.Articles).FirstOrDefault(p => p.Id == id);

            if (site_News.Articles.Any())
            {
                db.Site_NewsArticles.RemoveRange(site_News.Articles);
                db.SaveChanges();
            }
            db.Site_News.Remove(site_News);
            db.SaveChanges();
            MediaApi.DeleteForeverMedia(AccessToken, site_News.MediaId);
            return(Json(response));
        }
Example #12
0
        public void AfterDeleteNewsTest()
        {
            var accessToken = AccessTokenContainer.GetAccessToken(_appId);

            var file   = @"E:\1.jpg";
            var result = MediaApi.UploadForeverMedia(accessToken, file);

            Assert.IsNotNull(result.media_id);

            var new1 = new NewsModel()
            {
                author             = "test",
                content            = "test",
                content_source_url = "http://qy.weiweihi.com/Content/Images/app/qyhelper.png",
                digest             = "test",
                show_cover_pic     = "1",
                thumb_media_id     = result.media_id,
                title = "test"
            };

            var new2 = new NewsModel()
            {
                author             = "test",
                content            = "test111",
                content_source_url = "http://qy.weiweihi.com/Content/Images/app/qyhelper.png",
                digest             = "test",
                show_cover_pic     = "1",
                thumb_media_id     = result.media_id,
                title = "test"
            };

            var result1 = MediaApi.UploadNews(accessToken, 10000, new1, new2);

            Assert.IsNotNull(result1.media_id);

            var clientMsgId = SystemTime.Now.Ticks.ToString();

            GroupMessageApi.SendGroupMessageByOpenId(accessToken, GroupMessageType.mpnews, result1.media_id, clientMsgId, 10000, "o3IHxjrPzMVZIJOgYMH1PyoTW_Tg", "o3IHxjrPzMVZIJOgYMH1PyoTW_Tg");
            //var result2 = MediaApi.UpdateForeverNews(accessToken, result1.media_id, 0, 10000, new2);

            MediaApi.DeleteForeverMedia(accessToken, result1.media_id);
            //Assert.AreEqual(result2.errcode, ReturnCode.请求成功);
        }
Example #13
0
        public void DeleteForm(string keyValue)
        {
            var    id = Convert.ToInt64(keyValue);
            var    genericFetchStrategy = new GenericFetchStrategy <WxNews>().Include(p => p.WxNewsItems);
            WxNews wxNews = wxNewsRepository.Get(id, genericFetchStrategy);

            if (!string.IsNullOrEmpty(wxNews.MediaId))
            {
                string            appId             = WxOperatorProvider.Provider.GetCurrent().AppId;
                AccessTokenResult accessTokenResult = AccessTokenContainer.GetAccessTokenResult(appId);
                var wxJsonResult = MediaApi.DeleteForeverMedia(accessTokenResult.access_token, wxNews.MediaId, 10000);
                if (wxJsonResult.ErrorCodeValue == 0)
                {
                    wxNews.MediaId      = null;
                    wxNews.DeletedMark  = true;
                    wxNews.DeletionTime = DateTime.Now;
                    foreach (WxNewsItem item in wxNews.WxNewsItems)
                    {
                        item.DeletedMark  = true;
                        item.DeletionTime = DateTime.Now;
                    }
                    wxNewsRepository.Update(wxNews);
                }
            }
            else
            {
                wxNews.MediaId      = null;
                wxNews.DeletedMark  = true;
                wxNews.DeletionTime = DateTime.Now;
                foreach (WxNewsItem item in wxNews.WxNewsItems)
                {
                    item.DeletedMark  = true;
                    item.DeletionTime = DateTime.Now;
                }
                wxNewsRepository.Update(wxNews);
            }
        }
Example #14
0
        //[TestMethod]
        private void DeleteForeverMediaTest(string accessToken, string mediaId)
        {
            var result = MediaApi.DeleteForeverMedia(accessToken, _appSecret, mediaId);

            Assert.AreEqual(result.errcode, ReturnCode.请求成功);
        }