/// <summary> /// /// </summary> /// <param name="id">插件ID</param> /// <param name="IsAdd">0表示升级。1为新赠,2为修改配置</param> /// <returns></returns> public ActionResult PluginWizard(string Vid, string IsAdd, string IsCate, string IsUpdate) { ViewData["Vid"] = ""; ViewData["IsUpdate"] = ""; ViewData["type"] = ""; if (!string.IsNullOrEmpty(Vid)) { ViewData["Vid"] = Vid; SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = Vid.Split(',')[0]; string pid = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0].PluginCode.ToString(); PluginInfo p = BoFactory.GetVersionTrackBo.GetPluginInfo(pid); if (p.PluginCateCode.Equals(Constants.PluginCateCode)) { ViewData["type"] = "1"; } else { ViewData["type"] = "0"; } } if (!string.IsNullOrEmpty(IsUpdate)) { ViewData["IsUpdate"] = IsUpdate; } ViewData["IsAdd"] = IsAdd; ViewData["IsCate"] = IsCate; return(View()); }
public ActionResult PublishInfo(string Vid) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; SearchConfig searchc = new SearchConfig(); searchc.PluginCode = Constants.UpdaterCode; IList <ConfigTemp> list = BoFactory.GetVersionTrackBo.GetConfigListTemp(searchc); IList <ConfigInfo> listc = new List <ConfigInfo>(); foreach (ConfigTemp c in list) { c.Value1 = c.Value1.Replace("<", "<").Replace(">", ">"); listc.Add(CommonMethods.ConvertToConfigInfo(c)); } listc = InitConfigs(listc);//初始化 v.configList = listc; IEnumerable <IGrouping <string, ConfigInfo> > listccc = v.configList.GroupBy(T => T.ConfigCategoryCode).ToList(); listccc = listccc.OrderBy(T => T.Key); ViewData["keys"] = listccc.First().Key; ViewData["lists"] = listccc; ViewData["configList"] = v.configList.Count; return(View(v)); }
public IList <VersionTrack> GetVersionTrackList(SearchVersionTrack search) { var dic = new Dictionary <string, string>(); string Select = "select * from VersionTrack where 1=1 " + GetQueryCondition(search, dic) + " order by PluginCode asc "; return(Query(Select, dic)); }
public ActionResult UpdateConfigInfo(string id) { ViewData["vid"] = id; IList <PluginInfo> plist = new List <PluginInfo>(); ViewData["configList"] = 0; SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = id; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; SearchConfig search = new SearchConfig(); search.PluginCode = Constants.UpdaterCode; search.ConfigCategoryCode = Constants.UpdaterConfig; IList <ConfigInfo> listconfigs = BoFactory.GetVersionTrackBo.GetConfigList(search); listconfigs = InitConfigs(listconfigs);//初始化 v.configList = listconfigs; IEnumerable <IGrouping <string, ConfigInfo> > listccc = v.configList.GroupBy(T => T.ConfigCategoryCode).ToList(); ViewData["keys"] = listccc.First().Key; ViewData["lists"] = listccc; ViewData["configList"] = v.configList.Count; return(View(v)); }
public ActionResult UpdaterInfo(string IsUpdate, string IsAdd, string Vid, string AddVid) { ViewData["IsUpdate"] = ""; ViewData["IsAdd"] = IsAdd; ViewData["Vid"] = Vid; VersionTrack v = new VersionTrack(); if (!string.IsNullOrEmpty(IsUpdate))//若为修改 { string id = ""; if (AddVid.Equals("-1")) { id = Vid; } else { id = AddVid; } ViewData["IsUpdate"] = IsUpdate; SearchVersionTrack search = new SearchVersionTrack(); search.VID = id; v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; } return(View(v)); }
public ActionResult DelVersions(string vid) { var vmobject = new JsonReturnMessages(); try { SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = vid; var p = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; ArrayList arr = new ArrayList(); arr.Add(vid); if (p.VersionStatus == 2) { BoFactory.GetVersionTrackBo.DelVersion(arr); vmobject.IsSuccess = true; } else if (p.VersionStatus == 1) { BoFactory.GetVersionTrackBo.DelActiveVersionByUpdater(arr); vmobject.IsSuccess = true; } else { vmobject.IsSuccess = false; vmobject.Msg = "不能删除未发布的版本,请先完成发布,或者删除整个升级程序!"; } } catch (Exception e) { vmobject.IsSuccess = false; vmobject.Msg = e.Message; } return(Json(vmobject)); }
public ActionResult DelVersions(string vid) { var vmobject = new JsonReturnMessages(); try { SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = vid; var p = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; ArrayList arr = new ArrayList(); arr.Add(vid); if (p.VersionStatus == 2) { BoFactory.GetVersionTrackBo.DelVersion(arr); vmobject.IsSuccess = true; } else if (p.VersionStatus == 1) { BoFactory.GetVersionTrackBo.DelActiveVersionByUpdater(arr); vmobject.IsSuccess = true; } else { vmobject.IsSuccess = false; vmobject.Msg = "����ɾ��δ�����İ汾,������ɷ���,����ɾ��������������"; } } catch (Exception e) { vmobject.IsSuccess = false; vmobject.Msg = e.Message; } return Json(vmobject); }
/// <summary> /// 写入XML /// </summary> /// <param name="path"></param> private XmlConfigInfo InsertXml(string Vid) { XmlConfigInfo xml = new XmlConfigInfo(); ArrayList vids = GetArray(Vid);//获得相关联的VID IList <PluginInfoTemp> list = new List <PluginInfoTemp>(); SearchVersionTrack searchv = new SearchVersionTrack(); VersionTrack v = null; SearchConfig serach = new SearchConfig(); foreach (string vid in vids) { searchv.VID = vid; v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; PluginInfoTemp p = BoFactory.GetVersionTrackBo.GetPluginTempInfo(v.PluginCode.ToString()); serach.PluginCode = v.PluginCode.ToString(); IList <ConfigTemp> listct = BoFactory.GetVersionTrackBo.GetConfigListTemp(serach);//获取配置信息 IList <ConfigInfo> listc = new List <ConfigInfo>(); foreach (ConfigTemp c in listct) { listc.Add(CommonMethods.ConvertToConfigInfo(c));//转换 } p.configList = listc; list.Add(p); } xml.PluginInfo = list; xml.PluginInfo = xml.PluginInfo.OrderBy(T => T.PluginCode).ToList(); CommonMethods.WritePluginfoConfigXml(xml, Path.Combine(v.FilePath.Trim(), Constants.pluginName)); return(xml); }
public ActionResult GetDownLoadFile(FormCollection form) { var vmobject = new JsonReturnMessages(); try { SearchVersionTrack search = new SearchVersionTrack(); search.VID = form["vid"].ToString(); VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; string[] codes = v.FilePath.Split(new string[] { "\\" }, StringSplitOptions.None); string filename = Path.Combine(AppConfig.SaveZipPath, codes[codes.Length - 1] + ".zip"); MemoryStream m = new MemoryStream(System.IO.File.ReadAllBytes(filename)); DownLoadFile(m.ToArray(), v.PluginCode + v.VersionName + ".zip", m); } catch (Exception ex) { vmobject.IsSuccess = false; vmobject.Msg = ex.Message; } vmobject.IsSuccess = true; return Json(vmobject); }
public ActionResult ResumeVersions(string vid) { var vmobject = new JsonReturnMessages(); try { SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = vid; var p = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; if (p.VersionStatus != 2) { vmobject.IsSuccess = false; vmobject.Msg = "当前为已发布的版本或者还未发布的,请选择过期版本!"; } ArrayList arr = new ArrayList(); arr.Add(vid); BoFactory.GetVersionTrackBo.ResumeExpiredVesionByUpdater(arr); vmobject.IsSuccess = true; } catch (Exception e) { vmobject.IsSuccess = false; vmobject.Msg = e.Message; } return(Json(vmobject)); }
public ActionResult ViewPluginInfo(string id) { ViewData["Vid"] = id; SearchVersionTrack search = new SearchVersionTrack(); search.VID = id; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; PluginInfo p = BoFactory.GetVersionTrackBo.GetPluginInfo(v.PluginCode); SearchConfig searchc = new SearchConfig(); searchc.PluginCode = v.PluginCode; IList <ConfigInfo> list = BoFactory.GetVersionTrackBo.GetConfigList(searchc); //转换 foreach (ConfigInfo c in list) { c.Value1 = c.Value1.Replace("<", "<").Replace(">", ">"); } p.configList = list; p.VersionSummary = v.VersionSummary; SearchPlugin sh = new SearchPlugin(); sh.PluginCateCode = p.PluginCateCode; p.PCname = BoFactory.GetVersionTrackBo.GetPluginCategoryInfos(sh)[0].DisplayName; return(View(p)); }
public ActionResult PublishInfo(string Vid) //vid一定是上一个版本的vid { ArrayList vids = GetArray(Vid); //获得相关联的VID IList <PluginInfoTemp> listtemp = new List <PluginInfoTemp>(); foreach (string vid in vids) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; PluginInfoTemp p = BoFactory.GetVersionTrackBo.GetPluginTempInfo(v.PluginCode.ToString()); SearchConfig searchc = new SearchConfig(); searchc.PluginCode = p.PluginCode.ToString(); IList <ConfigTemp> list = BoFactory.GetVersionTrackBo.GetConfigListTemp(searchc); IList <ConfigInfo> listc = new List <ConfigInfo>(); foreach (ConfigTemp c in list) { c.Value1 = c.Value1.Replace("<", "<").Replace(">", ">"); listc.Add(CommonMethods.ConvertToConfigInfo(c)); } p.configList = listc; listtemp.Add(p); } ViewData["vids"] = Vid; return(View(listtemp)); }
public ActionResult UpdatePluginInfo(string Vid, string IsAdd) { ViewData["configList"] = 0; ViewData["IsAdd"] = IsAdd; SearchVersionTrack search = new SearchVersionTrack(); IList <PluginInfoTemp> plist = new List <PluginInfoTemp>(); ArrayList arrVid = GetArray(Vid);//获得相关联的VID foreach (string vid in arrVid) { search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; PluginInfoTemp p = BoFactory.GetVersionTrackBo.GetPluginTempInfo(v.PluginCode.ToString()); if (p.IsIgnoreConfig == false)//若不忽略配置信息 { SearchConfig searchc = new SearchConfig(); searchc.PluginCode = v.PluginCode.ToString(); searchc.ConfigCategoryCode = Constants.configCategory; IList <ConfigInfo> list = BoFactory.GetVersionTrackBo.GetConfigList(searchc);//获取原有参数 Dictionary <string, ConfigInfo> dic = new Dictionary <string, ConfigInfo>(); foreach (var item in list) { var key = item.Key1 + "_FG$SP_" + item.PluginCode; ConfigInfo temp = new ConfigInfo(); temp.Key1 = item.Key1; temp.OldValue = item.Value1; dic.Add(key, temp); } IList <ConfigTemp> listT = BoFactory.GetVersionTrackBo.GetConfigListTemp(searchc);//现有临时表数据 foreach (var item in listT) { var key = item.Key1 + "_FG$SP_" + item.PluginCode; if (dic.ContainsKey(key)) { dic[key].Value1 = item.Value1; } else { ConfigInfo temp = new ConfigInfo(); temp.Key1 = item.Key1; temp.Value1 = item.Value1; temp.OldValue = ""; dic.Add(key, temp); } } p.configList = dic.Values.ToList <ConfigInfo>(); ViewData["configList"] = (int)ViewData["configList"] + p.configList.Count; SearchPlugin sh = new SearchPlugin(); sh.PluginCateCode = p.PluginCateCode; p.PCname = BoFactory.GetVersionTrackBo.GetPluginCategoryInfos(sh)[0].DisplayName; } plist.Add(p); } return(View(plist)); }
public ActionResult UpdatePluginConfig(string id) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = id; ViewData["pId"] = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0].PluginCode.ToString(); ViewData["verid"] = id;//版本ID return(View()); }
public ActionResult PublishInfo(string id) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = id; VersionTrack ver = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; return(View(ver)); }
private string GetQueryCondition(SearchVersionTrack search) { StringBuilder strsql = new StringBuilder(); if (!string.IsNullOrEmpty(search.VID)) { strsql.Append(" and VersionId=" + search.VID); } //排除多个不满足条件的pluginId if (!string.IsNullOrEmpty(search.NotPluginId))//排除主程序 { strsql.Append(" and PluginCode !=" + search.NotPluginId); } if (!string.IsNullOrEmpty(search.NotPluginIdForCategory))//排除web插件 { string[] arr = search.NotPluginIdForCategory.Split(','); foreach (string a in arr) { strsql.Append(" and PluginCode !=" + a); } } //满足多个pluginId if (!string.IsNullOrEmpty(search.InPluginIdForCategory))//排除web插件 { string[] arr = search.InPluginIdForCategory.Split(','); int i = 0; foreach (string a in arr) { if (i == 0) { strsql.Append(" and PluginCode =" + a); } else { strsql.Append(" or PluginCode =" + a); } i++; } } if (!string.IsNullOrEmpty(search.PluginCode)) { strsql.Append(" and PluginCode='" + search.PluginCode + "'"); } if (!string.IsNullOrEmpty(search.VersionStatus)) { strsql.Append(" and VersionStatus=" + search.VersionStatus); } if (!string.IsNullOrEmpty(search.VersionName)) { strsql.Append(" and VersionName=" + search.VersionStatus); } return(strsql.ToString()); }
public ActionResult UpdateConfigInfo(string id) { string type = Request.QueryString["type"]; ViewData["vid"] = id; IList <PluginInfo> plist = new List <PluginInfo>(); ViewData["configList"] = 0; SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = id; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; SearchConfig search = new SearchConfig(); search.PluginCode = Constants.MianName; if (type == "pc") { search.ConfigCategoryCode = Constants.SystemConfig; //Constants.PCGlobalConfig; } else if (type == "mobile") { search.ConfigCategoryCode = Constants.SystemConfig + "," + Constants.AppNameConfig + "," + Constants.GlobalConfig; } //search.ConfigCategoryCode = Constants.PCGlobalConfig + "," + Constants.SystemConfig + "," + Constants.AppNameConfig + "," + Constants.GlobalConfig; IList <ConfigInfo> listconfigs = null; switch (type) { case "pc": listconfigs = BoFactory.GetVersionTrackBo.GetPCConfigList(search); break; case "mobile": listconfigs = BoFactory.GetVersionTrackBo.GetMobileConfigList(search); break; } //if (type == "mobile") if (listconfigs == null || listconfigs.Count == 0) { listconfigs = InitConfigs(listconfigs);//初始化 } v.configList = listconfigs; IEnumerable <IGrouping <string, ConfigInfo> > listccc = v.configList.GroupBy(T => T.ConfigCategoryCode).ToList(); ViewData["keys"] = listccc.First().Key; ViewData["lists"] = listccc; ViewData["configList"] = v.configList.Count; return(View(v)); }
public JsonResult GetVersionTrackList(FormCollection form) { JsonFlexiGridData data = null; PageView view = new PageView(form); SearchVersionTrack search = new SearchVersionTrack(); search.PluginCode = Common.Entities.Constants.MianPluginId.ToString(); data = BoFactory.GetVersionTrackBo.QueryVersionTrackInfo(view, search); return(Json(data)); }
public ActionResult GetVersionTrackList(FormCollection form, string id) { JsonFlexiGridData data = null; PageView view = new PageView(form); SearchVersionTrack search = new SearchVersionTrack(); search.PluginCode = id; data = BoFactory.GetVersionTrackBo.QueryVersionTrackInfo(view, search); return(Json(data)); }
public ActionResult SaveFileInfo(VersionTrack ver, string IsAdd, string IsUpdate, FormCollection form) { var vmobject = new JsonReturnMessages(); string vid = form["VersionIds"].ToString(); XmlMainConfigInfo xmlInfo = null; try { SearchVersionTrack search = new SearchVersionTrack(); search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; if (Request.Files.Count > 0) //若有上传文件 { xmlInfo = Decompressing(v.VersionName); //解压 } vid = BoFactory.GetVersionTrackBo.SaveUpdaterZipInfo(ver, xmlInfo, IsAdd, IsUpdate, base.CurrentUser.UserUId, form["VersionIds"].ToString()); if (Request.Files.Count > 0) //若有上传文件 { MoveFolder(xmlInfo, v.VersionName); //移动文件夹及文件 } } catch (Exception ex) { try { string thisFilePath = AppConfig.filePath + Common.Entities.Constants.TempName; while (Directory.Exists(thisFilePath))//先删除原由临时文件夹 { Directory.Delete(thisFilePath, true); } if (!string.IsNullOrEmpty(xmlInfo.savefile)) { FileInfo f = new FileInfo(xmlInfo.savefile);//删除原本保存的zip if (f.Exists) { f.Delete(); } } } catch (Exception fe) { vmobject.IsSuccess = false; vmobject.Msg = fe.Message; } vmobject.IsSuccess = false; vmobject.Msg = vmobject.Msg + "," + ex.Message; return(Json(vmobject, "text/html")); } vmobject.Msg = vid; vmobject.IsSuccess = true; return(Json(vmobject, "text/html")); }
public ActionResult UpdatePluginInfo(string verid, string isAdd) { PluginInfo pinfo = null; ViewData["vername"] = ""; ViewData["actionCode"] = ""; ViewData["summary"] = ""; ViewData["versionId"] = ""; ViewData["isAdd"] = "";//是否升级 IResourceData[] datas = new IResourceData[1]; datas[0] = ResourceDataFactory.GetResourceDataInstance(); datas[0].Code = "WebPlugin"; datas[0].Name = "Web页面插件"; ViewData["list"] = datas; if (string.IsNullOrEmpty(verid))//若为新增 { pinfo = new PluginInfo(); } else { SearchVersionTrack search = new SearchVersionTrack(); search.VID = verid; VersionTrack vsion = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; //获取版本信息 pinfo = BoFactory.GetVersionTrackBo.GetPluginInfo(vsion.PluginCode.ToString()); //获取插件信息 if (isAdd.Equals("0")) //若为修改(可修改版本信息,扩展信息,插件信息) { ViewData["vername"] = vsion.VersionName; //获取版本信息 SearchConfig searchconfig = new SearchConfig(); searchconfig.PluginCode = vsion.PluginCode.ToString(); IList <ActionExtend> listAction = BoFactory.GetVersionTrackBo.QueryActionExtend(searchconfig);//获取扩展信息 if (listAction.Count > 0) { ViewData["actionCode"] = listAction[0].ActionCode; ViewData["summary"] = listAction[0].Summary; } } else//(只可修改插件信息) { } ViewData["versionId"] = verid; } if (!string.IsNullOrEmpty(isAdd)) { ViewData["isAdd"] = isAdd; } return(View(pinfo)); }
public ActionResult PublishInfo(string id, string IsLoadFile) { ViewData["IsLoadFile"] = ""; if (!string.IsNullOrEmpty(IsLoadFile)) { ViewData["IsLoadFile"] = IsLoadFile;//是否单个上传文件 } SearchVersionTrack search = new SearchVersionTrack(); search.VID = id; VersionTrack ver = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; return(View(ver)); }
private string GetQueryConditions(SearchVersionTrack search) { StringBuilder strsql = new StringBuilder(); if (!string.IsNullOrEmpty(search.UserUid)) { strsql.Append(" and userinfo.UserUid='" + search.UserUid + "'"); } if (!string.IsNullOrEmpty(search.UserName)) { strsql.AppendFormat(" and ( UPPER(userinfo.UserName) like '{0}%' or userinfo.UserUid like '{0}%' ) ", search.UserName); } return(strsql.ToString()); }
public ActionResult UpdatePluginInfo(string verid) { ViewData["actionCode"] = ""; ViewData["summary"] = ""; ViewData["IsAction"] = ""; SearchVersionTrack search = new SearchVersionTrack(); search.VID = verid; VersionTrack version = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; //获取插件ID PluginInfo pinfo = BoFactory.GetVersionTrackBo.GetPluginInfo(version.PluginCode.ToString()); //获取插件信息 if (pinfo.PluginCateCode.Equals(Constants.ActionCateCode)) { ViewData["IsAction"] = "1"; } IList <PluginCategory> list = BoFactory.GetVersionTrackBo.GetPluginCategoryInfo();//获取非web插件的分类信息 if (list != null) { if (list.Count > 0) { IResourceData[] datas = new IResourceData[list.Count]; for (int i = 0; i < list.Count; i++) { datas[i] = ResourceDataFactory.GetResourceDataInstance(); datas[i].Code = list[i].PluginCateCode; datas[i].Name = list[i].DisplayName; } ViewData["list"] = datas; } } SearchConfig searchconfig = new SearchConfig(); searchconfig.PluginCode = version.PluginCode.ToString(); IList <ActionExtend> listAction = BoFactory.GetVersionTrackBo.QueryActionExtend(searchconfig);//获取扩展信息 if (listAction.Count > 0) { ViewData["actionCode"] = listAction[0].ActionCode; ViewData["summary"] = listAction[0].Summary; } ViewData["versionId"] = verid; ViewData["vername"] = version.VersionName; return(View(pinfo)); }
public ActionResult SaveConfigInfo(FormCollection form, string Vid) { var vmobject = new JsonReturnMessages(); try { IList <ConfigInfo> list = new List <ConfigInfo>(); string[] keys = form.AllKeys; for (int i = 0; i < keys.Length; i++) { if (keys[i].EndsWith(".Key1")) { ConfigInfo config = new ConfigInfo(); string prefix = keys[i].Split('.')[0]; UpdateModel(config, prefix); //其他数据同时可以获得填充进实体对象 config.PluginCode = Constants.UpdaterCode; list.Add(config); } } //更新 BoFactory.GetVersionTrackBo.UpdateUpdaterConfigInfos(list); //发布 InsertConfigXml(Vid); //生成config SearchVersionTrack search = new SearchVersionTrack(); search.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; string[] codes = v.FilePath.Split(new string[] { "\\" }, StringSplitOptions.None); string name = codes[codes.Length - 2];//获取插件code Beyondbit.AutoUpdate.IPublisher pub = new Beyondbit.SmartBox.Publisher.SmartBoxPublisher(); if (Directory.Exists(Path.Combine(AppConfig.pubFolder, name + AppConfig.subFix)))//如果存在次文件夹 { pub.UpdateApplication(v.FilePath, name); } else { pub.CreateApplication(v.FilePath, name); } vmobject.IsSuccess = true; vmobject.Msg = "操作成功"; } catch (Exception ex) { vmobject.IsSuccess = false; vmobject.Msg = ex.Message; } return(Json(vmobject)); }
//第一步。获得版本列表 public ActionResult ProgramList() { SearchVersionTrack search = new SearchVersionTrack(); search.PluginCode = Common.Entities.Constants.MianPluginId.ToString(); search.VersionStatus = "0"; IList <VersionTrack> list = BoFactory.GetVersionTrackBo.GetVersionTrack(search);//获取未发布的版本信息 ViewData["versionId"] = ""; if (list.Count > 0) { ViewData["versionId"] = list[0].VersionId;//为提供页面判断需要进行修改还是重新上传 } return(View()); }
/// <summary> /// 解压、获取信息 /// </summary> /// <returns></returns> private XmlConfigInfo Decompressing(string vid, string isAdd) { string thisFilePath = AppConfig.filePath + Common.Entities.Constants.TempName; while (!Directory.Exists(thisFilePath))//创建临时文件夹 { Directory.CreateDirectory(thisFilePath); } string zipPaht = AppConfig.SaveZipPath; while (!Directory.Exists(zipPaht))//创建存放zip文件的文件夹 { Directory.CreateDirectory(zipPaht); } string saveFile = Path.Combine(zipPaht, System.Guid.NewGuid().ToString() + ".zip"); Request.Files[0].SaveAs(saveFile); //保存zip去文件夹下 CommonMethods.Uncompress(saveFile, thisFilePath); //解压 XmlConfigInfo xmlInfo = new XmlConfigInfo(); xmlInfo.savefile = saveFile; xmlInfo = GetXmlInfo(thisFilePath);//获取解析出来的配置信息 //若升级,以原由CODE文件夹+第一个插件版本名命 if (isAdd.Equals("0")) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; string[] codes = v.FilePath.Split(new string[] { "\\" }, StringSplitOptions.None); xmlInfo.oldCode = codes[codes.Length - 2]; } else { xmlInfo.oldCode = xmlInfo.PluginInfo[0].PluginCode;//否则以第一个排序后的CODE为文件夹 } //zip文件有第一个CODE+版本号命名 string oldfilepath = Path.Combine(zipPaht, xmlInfo.PluginInfo[0].PluginCode + "_FG$SP_" + xmlInfo.PluginInfo[0].Version + ".zip");//重命名的zip文件 xmlInfo.savefile = saveFile; xmlInfo.oldfile = oldfilepath; return(xmlInfo); }
public ActionResult Publishs(VersionTrack ver, string IsLoadFile) { var vmobject = new JsonReturnMessages(); try { //1。写入XML InsertXml(ver.FilePath); Beyondbit.AutoUpdate.IPublisher pub = new Beyondbit.SmartBox.Publisher.SmartBoxPublisher(); if (!string.IsNullOrEmpty(IsLoadFile))//若为单个上传文件发布 { //读去ver.FilePath发布单个文件 pub.UpdateFile(ver.FilePath + @"\" + Common.Entities.Constants.globalName, Constants.MianName, "./"); pub.UpdateFile(ver.FilePath + @"\" + Common.Entities.Constants.systemName, Constants.MianName, "./"); } else { //2。发布 SearchVersionTrack search = new SearchVersionTrack(); search.VID = ver.PreVersionId.ToString(); //获取上一个版本。 IList <VersionTrack> list = BoFactory.GetVersionTrackBo.GetVersionTrack(search); if (list.Count > 0) //若不存在此记录说明是第一次发布 { pub.UpdateApplication(ver.FilePath, Common.Entities.Constants.MianName); } else { pub.CreateApplication(ver.FilePath, Common.Entities.Constants.MianName); } //3。更新 ver.LastModTime = DateTime.Now; ver.LastModUid = base.CurrentUser.UserUId; ver.VersionStatus = 1; BoFactory.GetVersionTrackBo.UpdatePlushVersionTrack(ver); } vmobject.IsSuccess = true; vmobject.Msg = "操作成功!"; } catch (Exception ex) { vmobject.IsSuccess = false; vmobject.Msg = ex.Message; } return(Json(vmobject)); }
public ActionResult GetPluginNames(string vid) { var vmobject = new JsonReturnMessages(); ArrayList arr = GetArrays(vid); string status = ""; foreach (string a in arr) { SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = a; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; vmobject.Msg += v.PluginCode + ","; status = v.VersionStatus.ToString(); } vmobject.IsSuccess = true; vmobject.Msg = vmobject.Msg.Substring(0, vmobject.Msg.Length - 1) + "|" + status; return(Json(vmobject)); }
public JsonFlexiGridData QueryVersionTrackInfo(PageView view, SearchVersionTrack search) { string Selectcolumns = "VersionName,VersionSummary,VersionStatus,CreateUid,CreateTime,cast(VersionStatus as varchar(2)) as VersionStatus1,VersionId"; string sqlorder; if (string.IsNullOrEmpty(view.OrderBy.ToString())) { sqlorder = " Order by CreateTime asc "; } else { sqlorder = view.OrderBy.ToString(); } var dic = new Dictionary <string, string>(); string parm = GetQueryCondition(search); return(base.QueryDataForFlexGridByPager(Selectcolumns, "VersionTrack", sqlorder, "VersionId", parm, view)); }
/// <summary> /// 写入XML /// </summary> /// <param name="path"></param> private XmlMainConfigInfo InsertConfigXml(string Vid) { XmlMainConfigInfo xml = new XmlMainConfigInfo(); SearchVersionTrack searchv = new SearchVersionTrack(); SearchConfig serach = new SearchConfig(); searchv.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; serach.PluginCode = v.PluginCode.ToString(); IList <ConfigInfoPC> listc = BoFactory.GetVersionTrackBo.GetConfigPCList(serach);//获取配置信息 xml.configList = listc; CommonMethods.WriteMaininfoConfigXml(listc, Path.Combine(v.FilePath.Trim(), Constants.UpdaterName)); return(xml); }
public JsonFlexiGridData QueryUserInfoNotByPId(SearchConfig search, SearchVersionTrack search1, PageView view) { string Selectcolumns = "UserUId,Gender,UserName"; string sqlorder; string table = @" (select userinfo.* from userinfo left join (select b.* from userpluginref as c ,userinfo as b where c.useruid=b.useruid " + GetQueryCondition(search) + @") as d on d.useruid=userinfo.useruid where d.useruid is null " + GetQueryConditions(search1) + ") as temp "; if (string.IsNullOrEmpty(view.OrderBy.ToString())) { sqlorder = " Order by CreateTime asc "; } else { sqlorder = view.OrderBy.ToString(); } return(base.QueryDataForFlexGridByPager(Selectcolumns, table, sqlorder, "UserUId", "", view)); }
public ActionResult DelAllVersions() { var vmobject = new JsonReturnMessages(); try { SearchVersionTrack search = new SearchVersionTrack(); search.PluginCode = Constants.UpdaterCode; var p = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; ArrayList arr = new ArrayList(); arr.Add(p.VersionId.ToString()); BoFactory.GetVersionTrackBo.DelAllVersionByMain(arr); vmobject.IsSuccess = true; } catch (Exception e) { vmobject.IsSuccess = false; vmobject.Msg = e.Message; } return Json(vmobject); }
/// <summary> /// ��ѹ����ȡ��Ϣ /// </summary> /// <returns></returns> private XmlConfigInfo Decompressing(string vid,string isAdd) { string thisFilePath = AppConfig.filePath + Common.Entities.Constants.TempName; while (!Directory.Exists(thisFilePath))//������ʱ�ļ��� { Directory.CreateDirectory(thisFilePath); } string zipPaht = AppConfig.SaveZipPath; while (!Directory.Exists(zipPaht))//�������zip�ļ����ļ��� { Directory.CreateDirectory(zipPaht); } string saveFile = Path.Combine(zipPaht, System.Guid.NewGuid().ToString() + ".zip"); Request.Files[0].SaveAs(saveFile);//����zipȥ�ļ����� CommonMethods.Uncompress(saveFile, thisFilePath);//��ѹ XmlConfigInfo xmlInfo = new XmlConfigInfo(); xmlInfo.savefile = saveFile; xmlInfo = GetXmlInfo(thisFilePath);//��ȡ����������������Ϣ //����������ԭ��CODE�ļ���+��һ������汾���� if (isAdd.Equals("0")) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; string[] codes = v.FilePath.Split(new string[] { "\\" }, StringSplitOptions.None); xmlInfo.oldCode = codes[codes.Length - 2]; } else xmlInfo.oldCode = xmlInfo.PluginInfo[0].PluginCode;//�����Ե�һ��������CODEΪ�ļ��� //zip�ļ��е�һ��CODE+�汾������ string oldfilepath = Path.Combine(zipPaht, xmlInfo.PluginInfo[0].PluginCode + "_FG$SP_" + xmlInfo.PluginInfo[0].Version + ".zip");//��������zip�ļ� xmlInfo.savefile = saveFile; xmlInfo.oldfile = oldfilepath; return xmlInfo; }
//vidһ������һ���汾��vid public ActionResult PublishInfo(string Vid) { ArrayList vids = GetArray(Vid);//����������VID IList<PluginInfoTemp> listtemp = new List<PluginInfoTemp>(); foreach (string vid in vids) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; PluginInfoTemp p = BoFactory.GetVersionTrackBo.GetPluginTempInfo(v.PluginCode.ToString()); SearchConfig searchc = new SearchConfig(); searchc.PluginCode = p.PluginCode.ToString(); IList<ConfigTemp> list = BoFactory.GetVersionTrackBo.GetConfigListTemp(searchc); IList<ConfigInfo> listc = new List<ConfigInfo>(); foreach (ConfigTemp c in list) { c.Value1 = c.Value1.Replace("<", "<").Replace(">", ">"); listc.Add(CommonMethods.ConvertToConfigInfo(c)); } p.configList = listc; listtemp.Add(p); } ViewData["vids"] = Vid; return View(listtemp); }
/// <summary> /// д��XML /// </summary> /// <param name="path"></param> private XmlMainConfigInfo InsertXml(string Vid) { XmlMainConfigInfo xml = new XmlMainConfigInfo(); SearchVersionTrack searchv = new SearchVersionTrack(); SearchConfig serach = new SearchConfig(); searchv.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; serach.PluginCode = v.PluginCode.ToString(); IList<ConfigTemp> listct = BoFactory.GetVersionTrackBo.GetConfigListTemp(serach);//��ȡ������Ϣ IList<ConfigInfoPC> listc = new List<ConfigInfoPC>(); foreach (ConfigTemp c in listct) { listc.Add(CommonMethods.ConvertToConfigInfoPC(c));//ת�� } xml.configList = listc; CommonMethods.WriteMaininfoConfigXml(listc, Path.Combine(v.FilePath.Trim() , Constants.UpdaterName)); return xml; }
/// <summary> /// д��XML /// </summary> /// <param name="path"></param> private XmlMainConfigInfo InsertConfigXml(string Vid) { XmlMainConfigInfo xml = new XmlMainConfigInfo(); SearchVersionTrack searchv = new SearchVersionTrack(); SearchConfig serach = new SearchConfig(); searchv.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; serach.PluginCode = v.PluginCode.ToString(); IList<ConfigInfoPC> listc = BoFactory.GetVersionTrackBo.GetConfigPCList(serach);//��ȡ������Ϣ xml.configList = listc; CommonMethods.WriteMaininfoConfigXml(listc, Path.Combine(v.FilePath.Trim(), Constants.UpdaterName)); return xml; }
public ActionResult UpdaterInfo(string IsUpdate, string IsAdd, string Vid, string AddVid) { ViewData["IsUpdate"] = ""; ViewData["IsAdd"] = IsAdd; ViewData["Vid"] = Vid; VersionTrack v = new VersionTrack(); if (!string.IsNullOrEmpty(IsUpdate))//���� { string id = ""; if (AddVid.Equals("-1")) id = Vid; else id = AddVid; ViewData["IsUpdate"] = IsUpdate; SearchVersionTrack search = new SearchVersionTrack(); search.VID = id; v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; } return View(v); }
public ActionResult SaveVerInfo(VersionTrack ver, string IsAdd, string IsUpdate, FormCollection form, string PluginCateCode) { var vmobject = new JsonReturnMessages(); string vid = ""; XmlConfigInfo xmlInfo = null; try { if (Request.Files.Count > 0)//�����ϴ��ļ� xmlInfo = Decompressing(form["VersionIds"].ToString(), IsAdd);//��ѹ else { IList<PluginInfoTemp> listp = new List<PluginInfoTemp>(); PluginInfoTemp p = new PluginInfoTemp(); p.Version = form["VersionName"]; p.PluginUrl = form["PluginUrl"]; p.PluginCode = form["PluginCode"]; listp.Add(p); xmlInfo = new XmlConfigInfo(); xmlInfo.PluginInfo = listp; } if (PluginCateCode.Equals("1"))//��Ϊweb��� { xmlInfo.PluginInfo[0].PluginCateCode = Constants.PluginCateCode; xmlInfo.oldCode = xmlInfo.PluginInfo[0].PluginCode; } foreach (PluginInfoTemp ps in xmlInfo.PluginInfo) { ps.IsPublic = true; ps.IsIgnoreConfig = Convert.ToBoolean(form["ck"]); } vid = BoFactory.GetVersionTrackBo.SavePluingZipInfo(ver, xmlInfo, IsAdd, IsUpdate, base.CurrentUser.UserUId, form["VersionIds"].ToString()); if (Request.Files.Count > 0)//�����ϴ��ļ� MoveFolder(xmlInfo);//�ƶ��ļ��м��ļ� } catch (Exception ex) { try { string thisFilePath = AppConfig.filePath + Common.Entities.Constants.TempName; while (Directory.Exists(thisFilePath))//��ɾ��ԭ����ʱ�ļ��� { Directory.Delete(thisFilePath, true); } if (!string.IsNullOrEmpty(xmlInfo.savefile)) { FileInfo f = new FileInfo(xmlInfo.savefile);//ɾ��ԭ�������zip if (f.Exists) f.Delete(); } } catch (Exception fe) { vmobject.IsSuccess = false; vmobject.Msg = fe.Message; } vmobject.IsSuccess = false; vmobject.Msg = vmobject.Msg + "," + ex.Message; return Json(vmobject, "text/html"); } //��ȡ��һ���汾���� SearchVersionTrack sea = new SearchVersionTrack(); sea.VID = vid; VersionTrack vt = BoFactory.GetVersionTrackBo.GetVersionTrack(sea)[0]; if (vt != null) { if (vt.PreVersionId != 0) vid = vt.PreVersionId.ToString(); } vmobject.Msg = vid; vmobject.IsSuccess = true; return Json(vmobject, "text/html"); }
public ActionResult GetPluginNames(string vid) { var vmobject = new JsonReturnMessages(); ArrayList arr = GetArrays(vid); string status = ""; foreach (string a in arr) { SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = a; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; vmobject.Msg += v.PluginCode + ","; status = v.VersionStatus.ToString(); } vmobject.IsSuccess = true; vmobject.Msg = vmobject.Msg.Substring(0, vmobject.Msg.Length - 1) + "|" + status; return Json(vmobject); }
/// <summary> /// д��XML /// </summary> /// <param name="path"></param> private XmlConfigInfo InsertXml(string Vid) { XmlConfigInfo xml = new XmlConfigInfo(); ArrayList vids = GetArray(Vid);//����������VID IList<PluginInfoTemp> list = new List<PluginInfoTemp>(); SearchVersionTrack searchv = new SearchVersionTrack(); VersionTrack v = null; SearchConfig serach = new SearchConfig(); foreach (string vid in vids) { searchv.VID = vid; v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; PluginInfoTemp p = BoFactory.GetVersionTrackBo.GetPluginTempInfo(v.PluginCode.ToString()); serach.PluginCode = v.PluginCode.ToString(); IList<ConfigTemp> listct = BoFactory.GetVersionTrackBo.GetConfigListTemp(serach);//��ȡ������Ϣ IList<ConfigInfo> listc = new List<ConfigInfo>(); foreach (ConfigTemp c in listct) { listc.Add(CommonMethods.ConvertToConfigInfo(c));//ת�� } p.configList = listc; list.Add(p); } xml.PluginInfo = list; xml.PluginInfo = xml.PluginInfo.OrderBy(T => T.PluginCode).ToList(); CommonMethods.WritePluginfoConfigXml(xml, Path.Combine(v.FilePath.Trim(), Constants.pluginName)); return xml; }
/// <summary> /// д��XML /// </summary> /// <param name="path"></param> private XmlMainConfigInfo InsertXml(string Vid) { XmlMainConfigInfo xml = new XmlMainConfigInfo(); SearchVersionTrack searchv = new SearchVersionTrack(); SearchConfig serach = new SearchConfig(); searchv.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; serach.PluginCode = v.PluginCode.ToString(); IList<ConfigTemp> listct = BoFactory.GetVersionTrackBo.GetConfigListTemp(serach);//��ȡ������Ϣ IList<ConfigInfoPC> listc = new List<ConfigInfoPC>(); foreach (ConfigTemp c in listct) { listc.Add(CommonMethods.ConvertToConfigInfoPC(c));//ת�� } xml.configList = listc; //���� IList<ConfigInfoPC> listA = new List<ConfigInfoPC>(); IList<ConfigInfoPC> listS = new List<ConfigInfoPC>(); IList<ConfigInfoPC> listG = new List<ConfigInfoPC>(); foreach (var config in listc) { if (config.ConfigCategoryCode.Equals(Constants.SystemConfig)) listS.Add(config); else if (config.ConfigCategoryCode.Equals(Constants.GlobalConfig)) listG.Add(config); else listA.Add(config); } CommonMethods.WriteMaininfoConfigXml(listA, Path.Combine(v.FilePath.Trim(), Constants.AppName)); CommonMethods.WriteMaininfoConfigXml(listS, Path.Combine(v.FilePath.Trim(), Constants.systemName)); CommonMethods.WriteMaininfoConfigXml(listG, Path.Combine(v.FilePath.Trim(), Constants.globalName)); return xml; }
public ActionResult SaveFileInfo(VersionTrack ver, string IsAdd, string IsUpdate, FormCollection form) { var vmobject = new JsonReturnMessages(); string vid = form["VersionIds"].ToString(); XmlMainConfigInfo xmlInfo = null; try { SearchVersionTrack search = new SearchVersionTrack(); search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; if (Request.Files.Count > 0)//�����ϴ��ļ� xmlInfo = Decompressing(v.VersionName);//��ѹ vid = BoFactory.GetVersionTrackBo.SaveUpdaterZipInfo(ver, xmlInfo, IsAdd, IsUpdate, base.CurrentUser.UserUId, form["VersionIds"].ToString()); if (Request.Files.Count > 0)//�����ϴ��ļ� MoveFolder(xmlInfo, v.VersionName);//�ƶ��ļ��м��ļ� } catch (Exception ex) { try { string thisFilePath = AppConfig.filePath + Common.Entities.Constants.TempName; while (Directory.Exists(thisFilePath))//��ɾ��ԭ����ʱ�ļ��� { Directory.Delete(thisFilePath, true); } if (!string.IsNullOrEmpty(xmlInfo.savefile)) { FileInfo f = new FileInfo(xmlInfo.savefile);//ɾ��ԭ�������zip if (f.Exists) f.Delete(); } } catch (Exception fe) { vmobject.IsSuccess = false; vmobject.Msg = fe.Message; } vmobject.IsSuccess = false; vmobject.Msg = vmobject.Msg + "," + ex.Message; return Json(vmobject, "text/html"); } vmobject.Msg = vid; vmobject.IsSuccess = true; return Json(vmobject, "text/html"); }
public ActionResult SaveConfigInfo(FormCollection form, string Vid) { var vmobject = new JsonReturnMessages(); try { IList<ConfigInfo> list = new List<ConfigInfo>(); string[] keys = form.AllKeys; for (int i = 0; i < keys.Length; i++) { if (keys[i].EndsWith(".Key1")) { ConfigInfo config = new ConfigInfo(); string prefix = keys[i].Split('.')[0]; UpdateModel(config, prefix); //��������ͬʱ���Ի������ʵ����� config.PluginCode = Constants.UpdaterCode; list.Add(config); } } //���� BoFactory.GetVersionTrackBo.UpdateUpdaterConfigInfos(list);//���� InsertConfigXml(Vid);//����config SearchVersionTrack search = new SearchVersionTrack(); search.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; string[] codes = v.FilePath.Split(new string[] { "\\" }, StringSplitOptions.None); string name = codes[codes.Length - 2];//��ȡ���code Beyondbit.AutoUpdate.IPublisher pub = new Beyondbit.SmartBox.Publisher.SmartBoxPublisher(); if (Directory.Exists(Path.Combine(AppConfig.pubFolder, name + AppConfig.subFix)))//������ڴ��ļ��� pub.UpdateApplication(v.FilePath, name); else pub.CreateApplication(v.FilePath, name); vmobject.IsSuccess = true; vmobject.Msg = "�����ɹ�"; } catch (Exception ex) { vmobject.IsSuccess = false; vmobject.Msg = ex.Message; } return Json(vmobject); }
public ActionResult ResumeVersions(string vid) { var vmobject = new JsonReturnMessages(); try { SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = vid; var p = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; if (p.VersionStatus != 2) { vmobject.IsSuccess = false; vmobject.Msg = "��ǰΪ�ѷ����İ汾����δ������,��ѡ����ڰ汾!"; } ArrayList arr = new ArrayList(); arr.Add(vid); BoFactory.GetVersionTrackBo.ResumeExpiredVesionByUpdater(arr); vmobject.IsSuccess = true; } catch (Exception e) { vmobject.IsSuccess = false; vmobject.Msg = e.Message; } return Json(vmobject); }
public ActionResult PublishInfo(string Vid) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; SearchConfig searchc = new SearchConfig(); searchc.PluginCode = Constants.UpdaterCode; IList<ConfigTemp> list = BoFactory.GetVersionTrackBo.GetConfigListTemp(searchc); IList<ConfigInfo> listc = new List<ConfigInfo>(); foreach (ConfigTemp c in list) { c.Value1 = c.Value1.Replace("<", "<").Replace(">", ">"); listc.Add(CommonMethods.ConvertToConfigInfo(c)); } listc = InitConfigs(listc);//��ʼ�� v.configList = listc; IEnumerable<IGrouping<string, ConfigInfo>> listccc = v.configList.GroupBy(T => T.ConfigCategoryCode).ToList(); listccc = listccc.OrderBy(T => T.Key); ViewData["keys"] = listccc.First().Key; ViewData["lists"] = listccc; ViewData["configList"] = v.configList.Count; return View(v); }
/// <summary> /// /// </summary> /// <param name="id">���ID</param> /// <param name="IsAdd">0��ʾ������1Ϊ������2Ϊ������</param> /// <returns></returns> public ActionResult PluginWizard(string Vid, string IsAdd,string IsCate,string IsUpdate) { ViewData["Vid"] = ""; ViewData["IsUpdate"] = ""; ViewData["type"] = ""; if (!string.IsNullOrEmpty(Vid)) { ViewData["Vid"] = Vid; SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = Vid.Split(',')[0]; string pid = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0].PluginCode.ToString(); PluginInfo p = BoFactory.GetVersionTrackBo.GetPluginInfo(pid); if (p.PluginCateCode.Equals(Constants.PluginCateCode)) ViewData["type"]="1"; else ViewData["type"] = "0"; } if (!string.IsNullOrEmpty(IsUpdate)) ViewData["IsUpdate"] = IsUpdate; ViewData["IsAdd"] = IsAdd; ViewData["IsCate"] = IsCate; return View(); }
//��ȡ��ǰ������vid private ArrayList GetArrays(string Vid) { SearchVersionTrack search = new SearchVersionTrack(); //��õ�һ��vid�����ܶ��VID��Ҳ������1������������һ����������ͬ��filepath�����ص�VID�� search.VID = Vid; VersionTrack vs = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; SearchVersionTrack se = new SearchVersionTrack(); se.filepath = vs.FilePath; IList<VersionTrack> vlist = BoFactory.GetVersionTrackBo.GetVersionTrack(se); ArrayList arrVid = new ArrayList(); foreach (VersionTrack v1 in vlist) { arrVid.Add(v1.VersionId.ToString()); } return arrVid; }
public ActionResult GetVersionTrackList(FormCollection form, string id) { JsonFlexiGridData data = null; PageView view = new PageView(form); SearchVersionTrack search = new SearchVersionTrack(); search.PluginCode = id; data = BoFactory.GetVersionTrackBo.QueryVersionTrackInfo(view, search); return Json(data); }
public ActionResult SavePluginInfos(PluginInfoTemp pt, FormCollection form, ConfigTemp c,string IsAdd) { var vmobject = new JsonReturnMessages(); IList<PluginInfoTemp> listtemp = new List<PluginInfoTemp>(); IList<ConfigTemp> list = new List<ConfigTemp>(); string vids = ""; try { string[] keys = form.AllKeys; //��ȡ����б� for (int i = 0; i < keys.Length; i++) { if (keys[i].EndsWith(".PluginCode")) { PluginInfoTemp p = new PluginInfoTemp(); string prefix = keys[i].Split('.')[0]; UpdateModel(p, prefix); //��������ͬʱ���Ի������ʵ����� p.CompanyHomePage = pt.CompanyHomePage; p.CompanyLinkman = pt.CompanyLinkman; p.CompanyName = pt.CompanyName; p.CompanyTel = pt.CompanyTel; if (p.IsNeed == true) p.IsDefault = true; listtemp.Add(p); } } //��ȡ�б���� if (listtemp[0].IsIgnoreConfig == false) { for (int i = 0; i < keys.Length; i++) { if (keys[i].EndsWith(".Key1")) { ConfigTemp config = new ConfigTemp(); string prefix = keys[i].Split('.')[0]; UpdateModel(config, prefix); //��������ͬʱ���Ի������ʵ����� config.PluginCode = prefix.Split('|')[0]; list.Add(config); } } } BoFactory.GetVersionTrackBo.UpdateTempPlugin(listtemp, list, IsAdd, base.CurrentUser.UserUId); } catch (Exception ex) { vmobject.IsSuccess = false; vmobject.Msg = ex.Message; return Json(vmobject); } //��ȡ��һ���汾���� SearchVersionTrack sea = new SearchVersionTrack(); sea.PluginCode = listtemp[0].PluginCode; sea.VersionName = listtemp[0].Version; vids = BoFactory.GetVersionTrackBo.GetVersionTrack(sea)[0].VersionId.ToString();//Ĭ��Ϊ��ǰ��ʱ���һ�� foreach (PluginInfoTemp pti in listtemp) { SearchVersionTrack search = new SearchVersionTrack(); search.PluginCode = pti.PluginCode.ToString(); search.VersionName = pti.Version; VersionTrack vst = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; if (vst.PreVersionId != 0) { vids = vst.PreVersionId.ToString();//�����һ���汾������״̬ʱ��ֱ��ѡ����õ�vidһ��Ϊ�ϸ��汾vid break; } } vmobject.IsSuccess = true; vmobject.Msg = vids; return Json(vmobject); }
public ActionResult ViewPluginInfo(string id) { ViewData["Vid"] = id; SearchVersionTrack search = new SearchVersionTrack(); search.VID = id; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; PluginInfo p = BoFactory.GetVersionTrackBo.GetPluginInfo(v.PluginCode); SearchConfig searchc = new SearchConfig(); searchc.PluginCode = v.PluginCode; IList<ConfigInfo> list = BoFactory.GetVersionTrackBo.GetConfigList(searchc); //ת�� foreach (ConfigInfo c in list) { c.Value1 = c.Value1.Replace("<", "<").Replace(">", ">"); } p.configList = list; p.VersionSummary = v.VersionSummary; SearchPlugin sh = new SearchPlugin(); sh.PluginCateCode = p.PluginCateCode; p.PCname = BoFactory.GetVersionTrackBo.GetPluginCategoryInfos(sh)[0].DisplayName; return View(p); }
public ActionResult UpdateConfigInfo(string id) { ViewData["vid"] = id; ArrayList vids = GetArrays(id); IList<PluginInfo> plist = new List<PluginInfo>(); ViewData["configList"] = 0; foreach (string vid in vids) { SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = vid; id = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0].PluginCode.ToString(); PluginInfo p = BoFactory.GetVersionTrackBo.GetPluginInfo(id); p.VersionSummary = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0].VersionSummary; SearchConfig search = new SearchConfig(); if (p.IsIgnoreConfig == false) { search.PluginCode = id; search.ConfigCategoryCode = Constants.configCategory; p.configList = BoFactory.GetVersionTrackBo.GetConfigList(search); } if (p.PluginCateCode.Equals(Constants.ActionCateCode)) { search.PluginCode = id; IList<ActionExtend> alist = BoFactory.GetVersionTrackBo.QueryActionExtend(search); if (alist.Count > 0) { ActionExtend a = alist[0]; p.ActionCode = a.ActionCode; p.ActionSummary = a.Summary; } } SearchPlugin sh = new SearchPlugin(); sh.PluginCateCode = p.PluginCateCode; p.PCname = BoFactory.GetVersionTrackBo.GetPluginCategoryInfos(sh)[0].DisplayName; plist.Add(p); ViewData["configList"] = (int)ViewData["configList"] + p.configList.Count; } return View(plist); }
public ActionResult UpdateConfigInfo(string id) { string type = Request.QueryString["type"]; ViewData["vid"] = id; IList<PluginInfo> plist = new List<PluginInfo>(); ViewData["configList"] = 0; SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = id; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; SearchConfig search = new SearchConfig(); search.PluginCode = Constants.MianName; if (type == "pc") { search.ConfigCategoryCode = Constants.SystemConfig; //Constants.PCGlobalConfig; }else if(type =="mobile") { search.ConfigCategoryCode = Constants.SystemConfig + "," + Constants.AppNameConfig + "," + Constants.GlobalConfig; } //search.ConfigCategoryCode = Constants.PCGlobalConfig + "," + Constants.SystemConfig + "," + Constants.AppNameConfig + "," + Constants.GlobalConfig; IList<ConfigInfo> listconfigs = null; switch (type) { case "pc": listconfigs = BoFactory.GetVersionTrackBo.GetPCConfigList(search); break; case "mobile": listconfigs = BoFactory.GetVersionTrackBo.GetMobileConfigList(search); break; } //if (type == "mobile") if( listconfigs == null || listconfigs.Count == 0) { listconfigs = InitConfigs(listconfigs);//��ʼ�� } v.configList = listconfigs; IEnumerable<IGrouping<string, ConfigInfo>> listccc = v.configList.GroupBy(T => T.ConfigCategoryCode).ToList(); ViewData["keys"] = listccc.First().Key; ViewData["lists"] = listccc; ViewData["configList"] = v.configList.Count; return View(v); }
public ActionResult UploadVersionFile(string IsAdd, string Vid, string IsUpdate, string PluginCateCode) { ViewData["code"] = ""; ViewData["ver"] = ""; ViewData["weburl"] = ""; ViewData["IsAdd"] = IsAdd; ViewData["PluginCateCode"] = PluginCateCode; ViewData["IsUpdate"] = ""; if (!string.IsNullOrEmpty(Vid) && !Vid.Equals("undefined")) { ViewData["Vid"] = Vid; SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = Vid.Split(',')[0]; string pid = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0].PluginCode.ToString(); PluginInfo p = BoFactory.GetVersionTrackBo.GetPluginInfo(pid); PluginInfoTemp pt = BoFactory.GetVersionTrackBo.GetPluginTempInfo(pid); ViewData["code"] = p.PluginCode; if (pt != null) { ViewData["weburl"] = pt.PluginUrl; ViewData["ver"] = pt.Version; } else { ViewData["weburl"] = p.PluginUrl; ViewData["ver"] = p.Version; } } if (!string.IsNullOrEmpty(IsUpdate)) ViewData["IsUpdate"] = IsUpdate; return View(); }
public ActionResult SavePublishInfo(string Vid, FormCollection form) { var vmobject = new JsonReturnMessages(); try { XmlMainConfigInfo x = InsertXml(Vid);//д��XML SearchVersionTrack search = new SearchVersionTrack(); search.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; string[] codes = v.FilePath.Split(new string[] { "\\" }, StringSplitOptions.None); string name = codes[codes.Length - 2];//��ȡ���code Beyondbit.AutoUpdate.IPublisher pub = new Beyondbit.SmartBox.Publisher.SmartBoxPublisher(); if (Directory.Exists(Path.Combine(AppConfig.pubFolder ,name + AppConfig.subFix)))//������ڴ��ļ��� pub.UpdateApplication(v.FilePath, name); else pub.CreateApplication(v.FilePath, name); BoFactory.GetVersionTrackBo.UpdateUpdaterPlushVersionTracks(x, Vid, base.CurrentUser.UserUId);//����״̬ vmobject.IsSuccess = true; vmobject.Msg = "�����ɹ�"; } catch (Exception ex) { vmobject.IsSuccess = false; vmobject.Msg = ex.Message; } return Json(vmobject); }
//��ȡ���°汾����VID����Ϊ�б�����ʱ��������ʵ������һ�汾 private ArrayList GetArray(string Vid) { SearchVersionTrack search = new SearchVersionTrack(); search.VID = Vid; VersionTrack vs = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; string filepath = vs.FilePath; SearchVersionTrack setemp = new SearchVersionTrack(); setemp.filepath = filepath; IList<VersionTrack> vlisttemp = BoFactory.GetVersionTrackBo.GetVersionTrack(setemp);//�����һ���в���汾 //����ʱ�����������ϴ����CODE��������һ��CODEƥ�� foreach (VersionTrack vtemp in vlisttemp) { SearchVersionTrack searcht = new SearchVersionTrack(); searcht.PreVersionId = vtemp.VersionId.ToString();//������һ�����°汾�Ƿ���� IList<VersionTrack> templist = BoFactory.GetVersionTrackBo.GetVersionTrack(searcht); if (templist.Count > 0) { filepath = templist[0].FilePath; break; } } //��δ�ҵ��������õ�ǰ����汾 SearchVersionTrack se = new SearchVersionTrack(); se.filepath = filepath; IList<VersionTrack> vlist = BoFactory.GetVersionTrackBo.GetVersionTrack(se); ArrayList arrVid = new ArrayList(); foreach (VersionTrack v1 in vlist) { arrVid.Add(v1.VersionId.ToString()); } return arrVid; }
public ActionResult UpdateConfigInfo(string id) { ViewData["vid"] = id; IList<PluginInfo> plist = new List<PluginInfo>(); ViewData["configList"] = 0; SearchVersionTrack searchv = new SearchVersionTrack(); searchv.VID = id; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; SearchConfig search = new SearchConfig(); search.PluginCode = Constants.UpdaterCode; search.ConfigCategoryCode = Constants.UpdaterConfig; IList<ConfigInfo> listconfigs = BoFactory.GetVersionTrackBo.GetConfigList(search); listconfigs = InitConfigs(listconfigs);//��ʼ�� v.configList = listconfigs; IEnumerable<IGrouping<string, ConfigInfo>> listccc = v.configList.GroupBy(T => T.ConfigCategoryCode).ToList(); ViewData["keys"] = listccc.First().Key; ViewData["lists"] = listccc; ViewData["configList"] = v.configList.Count; return View(v); }
public ActionResult UpdatePluginInfo(string Vid, string IsAdd) { ViewData["configList"] = 0; ViewData["IsAdd"] = IsAdd; SearchVersionTrack search = new SearchVersionTrack(); search.VID = Vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; SearchConfig searchc = new SearchConfig(); searchc.PluginCode = v.PluginCode.ToString(); searchc.ConfigCategoryCode = Constants.UpdaterConfig; IList<ConfigInfo> list = BoFactory.GetVersionTrackBo.GetConfigList(searchc);//��ȡԭ�в��� Dictionary<string, ConfigInfo> dic = new Dictionary<string, ConfigInfo>(); foreach (var item in list) { var key = item.Key1 + "_FG$SP_" + item.PluginCode + "_FG$SP_" + item.ConfigCategoryCode; ConfigInfo temp = new ConfigInfo(); temp.Key1 = item.Key1; temp.OldValue = item.Value1; temp.ConfigCategoryCode = item.ConfigCategoryCode; temp.PluginCode = Constants.UpdaterCode; dic.Add(key, temp); } IList<ConfigTemp> listT = BoFactory.GetVersionTrackBo.GetConfigListTemp(searchc);//������ʱ������ foreach (var item in listT) { var key = item.Key1 + "_FG$SP_" + item.PluginCode + "_FG$SP_" + item.ConfigCategoryCode; if (dic.ContainsKey(key)) dic[key].Value1 = item.Value1; else { ConfigInfo temp = new ConfigInfo(); temp.Key1 = item.Key1; temp.Value1 = item.Value1; temp.OldValue = ""; temp.PluginCode = Constants.UpdaterCode; temp.ConfigCategoryCode = item.ConfigCategoryCode; dic.Add(key, temp); } } IList<ConfigInfo> listconfigs = dic.Values.ToList<ConfigInfo>(); listconfigs = InitConfigs(listconfigs);//��ʼ�� v.configList = listconfigs; IEnumerable<IGrouping<string, ConfigInfo>> listccc = v.configList.GroupBy(T => T.ConfigCategoryCode).ToList(); listccc = listccc.OrderBy(T => T.Key); ViewData["keys"] = listccc.First().Key; ViewData["lists"] = listccc; ViewData["configList"] = v.configList.Count; return View(v); }
private XmlConfigInfo InsertXmlByConfig(string Vid) { XmlConfigInfo xml = new XmlConfigInfo(); ArrayList vids = GetArrays(Vid);//����������VID IList<PluginInfoTemp> list = new List<PluginInfoTemp>(); SearchVersionTrack searchv = new SearchVersionTrack(); VersionTrack v = null; SearchConfig serach = new SearchConfig(); foreach (string vid in vids) { searchv.VID = vid; v = BoFactory.GetVersionTrackBo.GetVersionTrack(searchv)[0]; PluginInfo p = BoFactory.GetVersionTrackBo.GetPluginInfo(v.PluginCode.ToString()); serach.PluginCode = v.PluginCode.ToString(); IList<ConfigInfo> listct = BoFactory.GetVersionTrackBo.GetConfigList(serach);//��ȡ������Ϣ p.configList = listct; p.VersionSummary = v.VersionSummary; if (p.PluginCateCode.Equals(Constants.ActionCateCode)) { SearchConfig search = new SearchConfig(); search.PluginCode = p.PluginCode; ActionExtend a = BoFactory.GetVersionTrackBo.QueryActionExtend(search)[0]; p.ActionCode = a.ActionCode; p.ActionSummary = a.Summary; } list.Add(TPluginInfo(p)); } xml.PluginInfo = list; xml.PluginInfo = xml.PluginInfo.OrderBy(T => T.PluginCode).ToList(); CommonMethods.WritePluginfoConfigXml(xml, Path.Combine(v.FilePath.Trim(), Constants.pluginName)); return xml; }
public ActionResult UpdatePluginInfo(string Vid, string IsAdd) { ViewData["configList"] = 0; ViewData["IsAdd"] = IsAdd; SearchVersionTrack search = new SearchVersionTrack(); IList<PluginInfoTemp> plist = new List<PluginInfoTemp>(); ArrayList arrVid = GetArray(Vid);//����������VID foreach (string vid in arrVid) { search.VID = vid; VersionTrack v = BoFactory.GetVersionTrackBo.GetVersionTrack(search)[0]; PluginInfoTemp p = BoFactory.GetVersionTrackBo.GetPluginTempInfo(v.PluginCode.ToString()); if (p.IsIgnoreConfig == false)//�������������Ϣ { SearchConfig searchc = new SearchConfig(); searchc.PluginCode = v.PluginCode.ToString(); searchc.ConfigCategoryCode = Constants.configCategory; IList<ConfigInfo> list = BoFactory.GetVersionTrackBo.GetConfigList(searchc);//��ȡԭ�в��� Dictionary<string, ConfigInfo> dic = new Dictionary<string, ConfigInfo>(); foreach (var item in list) { var key = item.Key1 + "_FG$SP_" + item.PluginCode; ConfigInfo temp = new ConfigInfo(); temp.Key1 = item.Key1; temp.OldValue = item.Value1; dic.Add(key, temp); } IList<ConfigTemp> listT = BoFactory.GetVersionTrackBo.GetConfigListTemp(searchc);//������ʱ������ foreach (var item in listT) { var key = item.Key1 + "_FG$SP_" + item.PluginCode; if (dic.ContainsKey(key)) dic[key].Value1 = item.Value1; else { ConfigInfo temp = new ConfigInfo(); temp.Key1 = item.Key1; temp.Value1 = item.Value1; temp.OldValue = ""; dic.Add(key, temp); } } p.configList = dic.Values.ToList<ConfigInfo>(); ViewData["configList"] = (int)ViewData["configList"] + p.configList.Count; SearchPlugin sh = new SearchPlugin(); sh.PluginCateCode = p.PluginCateCode; p.PCname = BoFactory.GetVersionTrackBo.GetPluginCategoryInfos(sh)[0].DisplayName; } plist.Add(p); } return View(plist); }