public virtual void DelActionExtend(ActionExtend ae) { try { actionExtendDao.Delete(ae); } catch (DalException ex) { throw new BOException("删除插件扩展信息出错", ex); } }
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); }
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); } }
/// <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); } }
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); } }
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); } }
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); } }
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); } }
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); }