Example #1
0
        public void PublishSoft(long id, string[] dst)
        {
            ShareManDBDataContext context = new ShareManDBDataContext();
            // 查找相关文件链接
            ItemLink il  = context.ItemLink.First(c => c.ID == id);

            FileSetLink fsl = context.FileSetLink.First(c => c.ID == il.InterLink);
            // 查询文件集信息
            FSM.FileSetMan fsm = new ShareMan.FSM.FileSetMan();
            QS.Queries qs = new ShareMan.QS.Queries();

            string actIp = qs.QueryActInterSrv();
            fsm.Url = qs.QueryUrl(qs.QueryActInterSrv(),QS.ServiceType.FileSetMan);
            FSM.FileSet fs = fsm.QureyFileSet(fsl.FileSetID);

            // 发布
            foreach (string subCode in dst)
            {
                string ip = qs.QuerySrvIp(subCode);
                fsm.Url = qs.QueryUrl(ip, QS.ServiceType.FileSetMan);
                long fsid = fsm.CreateFileSet(fs,true);
                FSM.FileSet tmpFs = fsm.QureyFileSet(fsid);

                // 查询基本信息
                BaseItem baseItem = context.BaseItem.First(c => c.ID == id);
                // 查询电影信息
                Software softInfo = context.Software.First(c => c.ID == id);
                PublishType pubType = context.PublishType.First(c => c.ID == baseItem.PublishType);

                SB.ShareBrowse sb = new SB.ShareBrowse();
                //sb.Url = "http://localhost/SB/ShareBrowse.asmx";
                string url = qs.QueryUrl(ip,QS.ServiceType.ShareBrowse);
                sb.Url = url;
                sb.PublishSoft(this.Convert(baseItem), this.Convert(softInfo), this.Convert(pubType),fsid);
                CreateProgress(baseItem, actIp, ip, fsid, "发布", context);
                TransFileSet(qs.QueryActInterSrv(), ip,tmpFs);
                Distribute trbut = new Distribute
                {
                    SubCode = subCode,
                    ItemID = id
                };
                context.Distribute.InsertOnSubmit(trbut);
                context.SubmitChanges();
                Audit(id, 2);
            }
        }