Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
        /// <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);
        }