コード例 #1
0
 public virtual void DelActionExtend(ActionExtend ae)
 {
     try
     {
         actionExtendDao.Delete(ae);
     }
     catch (DalException ex)
     {
         throw new BOException("删除插件扩展信息出错", ex);
     }
 }
コード例 #2
0
        public ActionResult SavePluginInfo(FormCollection form, PluginInfo pluginInfo,ActionExtend actionExtend)
        {
            var vmobject = new JsonReturnMessages();
            try
            {
                actionExtend.Summary = form["ESummary"].ToString();//��չ��Ϣ����

                BoFactory.GetVersionTrackBo.UpdatePluginInfo(pluginInfo, actionExtend);

                vmobject.IsSuccess = true;
                vmobject.Msg = "�����ɹ�!";
            }
            catch (Exception ex)
            {
                vmobject.IsSuccess = false;
                vmobject.Msg = ex.Message;
            }
            return Json(vmobject);
        }
コード例 #3
0
        public virtual string UpdateWebPluginInfo(PluginInfo pInfo, ActionExtend action, VersionTrack version, string isAdd, string uid)
        {
            try
            {
                string verfilepath = "";
                string oldfilepath = "";
                if (isAdd.Equals("0"))//若为修改
                {
                    SearchVersionTrack search = new SearchVersionTrack();
                    search.VID = version.VersionId.ToString();
                    VersionTrack ver = GetVersionTrack(search)[0];
                    oldfilepath = ver.FilePath;
                    ver.VersionName = version.VersionName;//修改的版本号
                    ver.FilePath = Path.Combine(AppConfig.filePath + pInfo.PluginCode, version.VersionName);
                    ver.LastModTime = DateTime.Now;
                    ver.LastModUid = uid;

                    verfilepath = ver.FilePath;

                    UpdateVersionTrack(ver);//更新版本表
                }
                else//若为升级
                {
                    verfilepath = version.FilePath;
                    InsertVersionTrack(version);
                }

                UpdatePluginInfo(pInfo, action);//更新插件表和扩展信息表

                SearchConfig searchcof = new SearchConfig();
                searchcof.PluginCode = pInfo.PluginCode.ToString();
                BoFactory.GetVersionTrackBo.DeleteConfigInfo(searchcof);//先删除原由配置信息,若存在

                if (Directory.Exists(oldfilepath)) //5.修改需要删除原由文件
                    Directory.Delete(oldfilepath, true);

                return verfilepath;
            }
            catch (DalException ex)
            {
                throw new BOException("更新web插件相关所有信息出错", ex);
            }
        }
コード例 #4
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="activeVersion">正在使用的版本</param>
        /// <param name="resumeVersion">恢复的版本</param>
        private void resumeVersionInfo(ArrayList activeVersion, ArrayList resumeVersion, XmlConfigInfo xml)
        {
            try
            {
                string filepaht = "";
                if (activeVersion != null)//若有正在使用的版本(未删除正在使用的版本)
                {
                    foreach (var a in activeVersion)
                    {
                        SearchVersionTrack searchv = new SearchVersionTrack();
                        searchv.VID = a.ToString();
                        VersionTrack v = versionTrackDao.GetVersionTrackList(searchv)[0];
                        v.VersionStatus = 2;
                        versionTrackDao.Update(v);//更新正在使用的版本为过期
                    }
                }
                foreach (var a in resumeVersion)
                {
                    SearchVersionTrack searchv = new SearchVersionTrack();
                    searchv.VID = a.ToString();
                    VersionTrack v = versionTrackDao.GetVersionTrackList(searchv)[0];
                    v.VersionStatus = 1;
                    filepaht = v.FilePath;
                    versionTrackDao.Update(v);//更新正在使用的版本为正在使用
                }
                IList<PluginInfoTemp> plist = xml.PluginInfo;
                //更新除了versiontrack之外的所有表信息
                for (int i = 0; i < plist.Count; i++)
                {
                    SearchConfig search = new SearchConfig();
                    search.PluginCode = plist[i].PluginCode;
                    configInfoDao.DeleteConfigInfo(search);//删除配置

                    ActionExtend action = null;
                    if (plist[i].PluginCateCode.Equals(Constants.ActionCateCode))
                    {
                        actionExtendDao.DelActionExtendInfo(search);//删除action
                        action = new ActionExtend();
                        action.PluginCode = plist[i].PluginCode;
                        action.ActionCode = plist[i].ActionCode;
                        action.Summary = plist[i].ActionSummary;
                    }
                    PluginInfo p = TPluginInfo(plist[i]);//转换
                    p.IsUse = true;//设置使用
                    pluginDao.Delete(p);//删除插件(可能前一个版本是1个插件,当前版本2个插件)
                    ///////////////////////////////////////////////////////////////////////
                    pluginDao.Insert(p);//新增插件
                    foreach (ConfigInfo c in plist[i].configList)
                    {
                        c.ConfigCategoryCode = Constants.configCategory;
                        c.PluginCode = plist[i].PluginCode;
                        configInfoDao.Insert(c);//插入配置
                    }
                    if (plist[i].PluginCateCode.Equals(Constants.ActionCateCode))
                    {
                        InsertActionExtend(action);// 新增action
                    }
                }
                //发布更新
                if (!plist[0].PluginCateCode.Equals(Constants.PluginCateCode))
                {
                    string[] codes = filepaht.Split(new string[] { "\\" }, StringSplitOptions.None);
                    string name = codes[codes.Length - 2];//获取插件code
                    Beyondbit.AutoUpdate.IPublisher pub = new Beyondbit.SmartBox.Publisher.SmartBoxPublisher();
                    pub.UpdateApplication(filepaht, name);
                }
            }
            catch (DalException ex)
            {
                throw new BOException("恢复版本出错", ex);
            }
            catch (Exception e)
            {
                throw new BOException("恢复版本出错", e);
            }
        }
コード例 #5
0
        public virtual void UpdatePlushVersionTracks(XmlConfigInfo xml, string vid, string uid)
        {
            try
            {
                foreach (PluginInfoTemp pt in xml.PluginInfo)
                {
                    if (pt.IsIgnoreConfig == false)
                    {
                        SearchConfig search = new SearchConfig();
                        search.PluginCode = pt.PluginCode;
                        configInfoDao.DeleteConfigInfo(search);//先删除原由真实参数表数据
                    }
                }

                string[] arrs = xml.PluginInfo[0].PreVersionPCs.Split(new string[] { "_FG$SP_" }, StringSplitOptions.None);
                //设置原有版本的插件为未发布。再设置当前的插件为发布
                if (!string.IsNullOrEmpty(xml.PluginInfo[0].PreVersionPCs))
                {
                    foreach (string arr in arrs)
                    {
                        PluginInfo pp = pluginDao.Get(arr);
                        if (pp != null)
                        {
                            pp.IsUse = false;
                            pluginDao.Update(pp);
                        }
                    }
                }
                //更新原由版本为过期
                SearchVersionTrack searchtemps = new SearchVersionTrack();
                searchtemps.VID = vid;
                VersionTrack vsss = versionTrackDao.GetVersionTrackList(searchtemps)[0];
                string filepath = vsss.FilePath;
                SearchVersionTrack setemp = new SearchVersionTrack();
                setemp.filepath = filepath;
                IList<VersionTrack> vlisttemp = versionTrackDao.GetVersionTrackList(setemp);//获得上一所有插件版本
                foreach (VersionTrack v in vlisttemp)
                {
                    v.VersionStatus = 2;
                    versionTrackDao.Update(v);
                }

                foreach (PluginInfoTemp pt in xml.PluginInfo)
                {
                    PluginInfo p = TPluginInfo(pt);
                    p.CreateTime = DateTime.Now;
                    p.CreateUid = uid;
                    p.LastModTime = DateTime.Now;
                    p.LastModUid = uid;
                    int a = 0;
                    foreach (string arr in arrs)
                    {
                        if (pt.PluginCode.Equals(arr))
                        {
                            a = 1;
                            break;
                        }
                    }
                    //更新插件信息
                    if (a == 1)
                    {
                        PluginInfo oldP = pluginDao.Get(p.PluginCode);
                        p.CreateUid = oldP.CreateUid;
                        p.CreateTime = oldP.CreateTime;
                        p.IsUse = true;//设置为发布
                        pluginDao.Update(p);
                    }
                    else
                    {
                        p.IsUse = true;//设置为发布
                        InsertPluginInfo(p, uid);
                    }

                    plugintempDao.Delete(pt);//删除插件临时表

                    if (pt.IsIgnoreConfig == false)
                    {
                        SearchConfig search = new SearchConfig();
                        search.PluginCode = pt.PluginCode;

                        //没修改基本信息,直接发布,需要覆盖
                        foreach (ConfigInfo c in pt.configList)
                        {
                            SearchConfig searchcc = new SearchConfig();
                            searchcc.PluginCode = pt.PluginCode;
                            searchcc.ConfigCategoryCode = Constants.configCategory;
                            searchcc.key = c.Key1;
                            IList<ConfigInfo> listct = configInfoDao.GetConfigList(searchcc);
                            c.ConfigCategoryCode = Constants.configCategory;
                            if (listct.Count > 0)
                                configInfoDao.Update(c);
                            else
                                configInfoDao.Insert(c);
                        }

                        configTempDao.DeleteInfo(search);//删除当前插件临时表数据
                    }

                    //修改扩展信息
                    if (pt.PluginCateCode.Equals(Constants.ActionCateCode))
                    {
                        ActionExtend action = new ActionExtend();
                        action.PluginCode = pt.PluginCode;
                        action.ActionCode = pt.ActionCode;
                        action.Summary = pt.ActionSummary;

                        SearchConfig searchconfig = new SearchConfig();
                        searchconfig.PluginCode = pt.PluginCode.ToString();
                        IList<ActionExtend> listAction = BoFactory.GetVersionTrackBo.QueryActionExtend(searchconfig);
                        if (listAction.Count > 0)//若存在记录,即更新
                            UpdateActionExtend(action);
                        else
                            InsertActionExtend(action);
                    }

                    SearchVersionTrack searchv = new SearchVersionTrack();
                    searchv.PluginCode = pt.PluginCode;
                    searchv.VersionName = pt.Version;
                    VersionTrack ver = versionTrackDao.GetVersionTrackList(searchv)[0];//当前版本
                    ver.VersionStatus = 1;
                    ver.VersionSummary = pt.VersionSummary;
                    versionTrackDao.Update(ver);
                }
            }
            catch (DalException ex)
            {
                throw new BOException("修改主程序版本信息出错", ex);
            }
        }
コード例 #6
0
        public virtual void UpdatePluginInfo(PluginInfo pInfo, ActionExtend action)
        {
            try
            {
                SearchConfig searchconfig = new SearchConfig();
                searchconfig.PluginCode = pInfo.PluginCode.ToString();
                IList<ActionExtend> listAction = BoFactory.GetVersionTrackBo.QueryActionExtend(searchconfig);

                if (!string.IsNullOrEmpty(action.ActionCode))//判断是否输入标识
                {
                    if (listAction.Count > 0)//若存在记录,即更新
                        UpdateActionExtend(action);
                    else
                        InsertActionExtend(action);
                }
                else
                    DelActionExtend(action);

                UpdatePluginInfo(pInfo);//更新
            }
            catch (DalException ex)
            {
                throw new BOException("更新插件相关所有信息出错", ex);
            }
        }
コード例 #7
0
 public virtual void UpdateActionExtend(ActionExtend ae)
 {
     try
     {
         if (string.IsNullOrEmpty(ae.ActionCode))
             throw new BOException("插件扩展信息标识不能为空");
         SearchConfig search = new SearchConfig();
         search.code = ae.ActionCode;
         IList<ActionExtend> list = QueryActionExtend(search);
         if (list != null)
         {
             if (list.Count > 0 && !list[0].PluginCode.Equals(ae.PluginCode))
                 throw new BOException("插件扩展信息标识不能重复");
         }
         actionExtendDao.Update(ae);
     }
     catch (DalException ex)
     {
         throw new BOException("新增插件扩展信息出错", ex);
     }
 }
コード例 #8
0
        public virtual int InsertWebPluginInfo(PluginInfo pInfo, ActionExtend action, VersionTrack version, string uid)
        {
            try
            {
                //int pid = InsertPluginInfo(pInfo, uid);
                //action.PluginCode = pid.ToString();
                //version.PluginCode = pid;
                if (!string.IsNullOrEmpty(action.ActionCode))//若有填写扩展信息code的话
                    InsertActionExtend(action);

                return InsertVersionTrack(version);
            }
            catch (DalException ex)
            {
                throw new BOException("新增web插件相关所有信息出错", ex);
            }
        }
コード例 #9
0
        public ActionResult SavePluginInfo(FormCollection form, PluginInfo pluginInfo, ActionExtend actionExtend, VersionTrack version1, string isAdd)
        {
            var vmobject = new JsonReturnMessages();
            try
            {
                actionExtend.Summary = form["ESummary"].ToString();//��չ��Ϣ����
                //��ȡͨ�õİ汾��Ϣ���޸ģ�������������
                version1.VersionStatus = 0;
                version1.FilePath = AppConfig.filePath + pluginInfo.PluginCode + @"\" + version1.VersionName;
                version1.CreateUid = base.CurrentUser.UserUId;
                version1.LastModUid = base.CurrentUser.UserUId;
                string filepaht = version1.FilePath;

                if (version1.VersionId == 0)//������
                {
                    int vid = BoFactory.GetVersionTrackBo.InsertWebPluginInfo(pluginInfo, actionExtend, version1, base.CurrentUser.UserUId);
                    vmobject.Msg = vid.ToString();
                }
                else
                {
                    filepaht = BoFactory.GetVersionTrackBo.UpdateWebPluginInfo(pluginInfo, actionExtend, version1, isAdd, base.CurrentUser.UserUId);
                    vmobject.Msg = version1.VersionId.ToString();
                }

                //�����ļ���
                while (!Directory.Exists(filepaht))
                {
                    Directory.CreateDirectory(filepaht);
                }

                vmobject.IsSuccess = true;
            }
            catch (Exception ex)
            {
                vmobject.IsSuccess = false;
                vmobject.Msg = ex.Message;
            }
            return Json(vmobject);
        }