/// <summary> /// 为经销商添加文件 /// </summary> /// <param name="mediaidDic">key为文件名,value为mediaId</param> /// <param name="partnerid">合作伙伴id</param> /// <param name="openid">openid</param> /// <returns></returns> public static IEnumerable <ImageDownloadLog> AddNewImageForPartner(Dictionary <string, string> mediaidDic, int partnerid, string openid) { var db = new ModelContext(); var pat = db.PartnerSet.FirstOrDefault(item => item.PartnerId == partnerid); if (pat == null) { yield break; } var ret = new List <ImageDownloadLog>(); foreach (var media in mediaidDic) { //添加下载记录 var log = new ImageDownloadLog { CreateDate = DateTime.Now, IsSuccess = false, OpenId = openid, Scene = "Add partener image", MediaNumber = media.Value, Remarks = partnerid.ToString(), }; db.ImageDownloadLogSet.Add(log); db.SaveChanges(); //下载 var fileName = WechatHelper.DownloadImgFile(media.Value); var file = new ImageFile { CreateDate = DateTime.Now, FileName = fileName, }; db.ImageFileSet.Add(file); log.IsSuccess = true; log.Remarks = ""; log.FinishDate = DateTime.Now; db.SaveChanges(); //将下载的文件关联到报修记录中 if (pat.Files == null) { pat.Files = new Dictionary <int, string>(); } pat.Files = pat.Files.Concat(new KeyValuePair <int, string>[] { new KeyValuePair <int, string>(file.ImageFileId, media.Key) }).ToDictionary(item => item.Key, item => item.Value); log.FileId = file.ImageFileId; db.SaveChanges(); yield return(log); } }
/// <summary> /// 为完成报修添加图片 /// </summary> /// <param name="repairid"></param> /// <param name="mediaidList"></param> /// <returns></returns> internal static IEnumerable <ImageDownloadLog> AddNewImageForHandleRepair(int repairid, IEnumerable <string> mediaidList) { var db = new ModelContext(); var rep = db.RepairSet.FirstOrDefault(item => item.RepairId == repairid); if (rep == null) { yield break; } foreach (var mediaid in mediaidList) { //添加下载记录 var log = new ImageDownloadLog { CreateDate = DateTime.Now, IsSuccess = false, //OpenId = openid, Scene = "Handlen repair", MediaNumber = mediaid, Remarks = repairid.ToString(), }; db.ImageDownloadLogSet.Add(log); db.SaveChanges(); //下载 var fileName = WechatHelper.DownloadImgFile(mediaid); var file = new ImageFile { CreateDate = DateTime.Now, FileName = fileName, }; db.ImageFileSet.Add(file); log.IsSuccess = true; log.Remarks = ""; log.FinishDate = DateTime.Now; db.SaveChanges(); //将下载的文件关联到报修记录中 //rep.ImageFileId = file.ImageFileId; rep.FinishImageFiles = rep.FinishImageFiles.Concat(new ImageFile[] { file }).ToList(); log.FileId = file.ImageFileId; db.SaveChanges(); yield return(log); } }
/// <summary> /// 下载报修时候添加的图片,请先保证数据库中已经该报修记录 /// </summary> /// <param name="mediaid">media _id 由微信分发</param> /// <param name="repairid">报修记录id</param> /// <param name="openid">用户openid</param> /// <returns></returns> public static ImageDownloadLog AddNewImageForRepair(string mediaid, int repairid, string openid) { var db = new ModelContext(); var rep = db.RepairSet.FirstOrDefault(item => item.RepairId == repairid); if (rep == null) { return(null); } //添加下载记录 var log = new ImageDownloadLog { CreateDate = DateTime.Now, IsSuccess = false, OpenId = openid, Scene = "Add repair ", MediaNumber = mediaid, Remarks = repairid.ToString(), }; db.ImageDownloadLogSet.Add(log); db.SaveChanges(); //下载 var fileName = WechatHelper.DownloadImgFile(mediaid); var file = new ImageFile { CreateDate = DateTime.Now, FileName = fileName, }; db.ImageFileSet.Add(file); log.IsSuccess = true; log.Remarks = ""; log.FinishDate = DateTime.Now; db.SaveChanges(); //将下载的文件关联到报修记录中 rep.ImageFileId = file.ImageFileId; log.FileId = file.ImageFileId; db.SaveChanges(); return(log); }