protected Package4AI CopyPackageExt2Package4AI(SMC_PackageExt ext, Package4AI package4AI) { package4AI.BuildVer = int.Parse(ext.pe_BuildVer); package4AI.ClientType = ext.pe_ClientType; package4AI.CreateTime = ext.pe_CreatedTime; package4AI.CreateUid = ext.pe_CreateUid; package4AI.Description = ext.pe_Description; package4AI.DisplayName = ext.pe_DisplayName; package4AI.DownloadUri = ext.pe_DownloadUri; if (String.IsNullOrEmpty(package4AI.Type)) { package4AI.Type = ext.pe_Type; } package4AI.UpdateTime = ext.pe_UpdateTime; package4AI.UpdateUid = ext.pe_UpdateUid; package4AI.Version = ext.pe_Version; package4AI.UpdateTime = DateTime.Now; if (package4AI.Type == null) { package4AI.Type = "plugin"; } return(package4AI); }
static OutsideWS.SMC_PackageExt CopyPackageExt(SMC_PackageExt ext) { OutsideWS.SMC_PackageExt entity = new OutsideWS.SMC_PackageExt(); entity.pe_2dPictureUrl = ext.pe_2dPictureUrl; entity.pe_BuildVer = ext.pe_BuildVer; entity.pe_Category = ext.pe_Category; entity.pe_ClientType = ext.pe_ClientType; entity.pe_CreatedTime = ext.pe_CreatedTime; entity.pe_CreateUid = ext.pe_CreateUid; entity.pe_Description = ext.pe_Description; entity.pe_DisplayName = ext.pe_DisplayName; entity.pe_DownCount = ext.pe_DownCount; entity.pe_DownloadUri = ext.pe_DownloadUri; entity.pe_Firmware = ext.pe_Firmware; entity.pe_id = ext.pe_id; entity.pe_IsBB = ext.pe_IsBB; entity.pe_IsTJ = ext.pe_IsTJ; entity.pe_Name = ext.pe_Name; entity.pe_PictureUrl = ext.pe_PictureUrl; entity.pe_Size = ext.pe_Size; entity.pe_UnitCode = ext.pe_UnitCode; entity.pe_UnitName = ext.pe_UnitName; entity.pe_UpdateTime = ext.pe_UpdateTime; entity.pe_UpdateUid = ext.pe_UpdateUid; entity.pe_Version = ext.pe_Version; entity.TableID = ext.TableID; entity.TableName = ext.TableName; return(entity); }
public virtual void SMC_PackageExtInternalRelease(int pe_id) { SMC_PackageExtDao daoSMC_PackageExt = new SMC_PackageExtDao(AppConfig.statisticDBKey); List <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >(); pars.Add(new KeyValuePair <string, object>("pe_id", pe_id)); SMC_PackageExt ext = daoSMC_PackageExt.Get(pars); _SMC_PackageExtInternalRelease(ext); }
public bool PackageExtSync(SMC_PackageExt entity) { try { return(bo.PackageExtSyncInsideToOutside(entity)); } catch (Exception e) { Log4NetHelper.Error(e); return(false); } }
protected WebApplication CopyPackageExt2WebApplication(SMC_PackageExt ext, WebApplication webApplication) { //webApplication.AppID = ext.pe_ApplicationCode; webApplication.ClientType = ext.pe_ClientType; webApplication.CreateTime = ext.pe_CreatedTime; webApplication.CreateUid = ext.pe_CreateUid; webApplication.ShortName = ext.pe_Name; webApplication.Unit = ext.pe_UnitCode; webApplication.UpdateTime = ext.pe_UpdateTime; webApplication.UpdateUid = ext.pe_UpdateUid; //webApplication.Uri = ext. return(webApplication); }
private void _AddAction4Android(Package4AI package, SMC_PackageExt ext) { if (!String.IsNullOrEmpty(ext.pe_ApplicationCode)) { string[] apps = ext.pe_ApplicationCode.Split(",".ToCharArray()); if (apps != null && apps.Length > 0) { ApplicationDao appDao = new ApplicationDao(AppConfig.mainDbKey); App4AIDao app4AIDao = new App4AIDao(AppConfig.mainDbKey); string TEMPPATH = Path.Combine(AppConfig.PackUploadFolder, "Temp"); int idx = 1; Action4AndroidDao action4AndroidDao = new Action4AndroidDao(AppConfig.mainDbKey); foreach (string appCode in apps) { if (String.IsNullOrEmpty(appCode)) { continue; } List <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >(); pars.Add(new KeyValuePair <string, object>("[NAME]", appCode)); Application application = appDao.Get(pars); //for (int activtyIndex = 0; activtyIndex < Convert.ToInt32(form["activityCount_" + appIndex.ToString()]); activtyIndex++) //{ Action4Android action4Android = new Action4Android(); action4Android.Seq = idx; //Convert.ToInt32(form["ActivitySeq_" + appIndex.ToString() + "_" + activtyIndex.ToString()]); action4Android.DisplayName = ""; //form["ActivityDisplayName_" + appIndex.ToString() + "_" + activtyIndex.ToString()]; action4Android.IsLaunch = true; //Convert.ToBoolean(form["ActivityLaunch_" + appIndex.ToString() + "_" + activtyIndex.ToString()]); action4Android.IconUri = ""; //GetAndroidApplicationIcoUri(Path.Combine(TEMPPATH, package.DownloadUri), form["ActivityIco_" + appIndex.ToString() + "_" + activtyIndex.ToString()]); action4Android.ShortName = ""; //form["ActivityShortName_" + appIndex.ToString() + "_" + activtyIndex.ToString()]; action4Android.Name = ""; //form["ActivityName_" + appIndex.ToString() + "_" + activtyIndex.ToString()]; action4Android.CreateTime = DateTime.Now; action4Android.UpdateTime = DateTime.Now; action4Android.CreateUid = ""; //CurrentUser.UserUId; action4Android.UpdateUid = ""; //CurrentUser.UserUId; action4AndroidDao.Insert(action4Android); //} ++idx; } } } }
protected SMC_Package4Out CopyPackageExt2SMC_Package4Out(SMC_PackageExt ext, SMC_Package4Out packageOut) { packageOut.BuildVer = int.Parse(ext.pe_BuildVer); packageOut.ClientType = ext.pe_ClientType; packageOut.CreateTime = ext.pe_CreatedTime; packageOut.CreateUid = ext.pe_CreateUid; packageOut.Description = ext.pe_Description; packageOut.DisplayName = ext.pe_DisplayName; packageOut.DownloadUri = ext.pe_DownloadUri; packageOut.Name = ext.pe_Name; packageOut.Type = ext.pe_Type; packageOut.UpdateTime = DateTime.Now; packageOut.UpdateUid = ext.pe_UpdateUid; packageOut.Version = ext.pe_Version; if (packageOut.Type == null) { packageOut.Type = "plugin"; } return(packageOut); }
public ActionResult EditIOSOutsideApp(string id) { IOSOutsideApp app; id = Request.QueryString["id"]; if (string.IsNullOrEmpty(id)) { app = new IOSOutsideApp(); } else { app = BoFactory.GetVersionTrackBo.GetIOSOutsideApp(id); } SMC_PackageExt ext = null; if (!String.IsNullOrEmpty(id)) { List <KeyValuePair <string, object> > objs = new List <KeyValuePair <string, object> >(); objs.Add(new KeyValuePair <string, object>("TableName", "IOSOutsideApplication")); objs.Add(new KeyValuePair <string, object>("TableID", id)); ext = Bo.BoFactory.GetSMC_PackageExtBO.Get(objs); } //获取ClientType,只包含ios类型 var clientTypes = BoFactory.GetVersionTrackBo.QueryClientTypeList(); IList <ClientTypes> cTypes = new List <ClientTypes>(); foreach (var cT in clientTypes) { if (cT.ClientType.ToLower().Contains("ios")) { cTypes.Add(cT); } } List <SelectListItem> unitList = new List <SelectListItem>(); //获取当前用户的本单位 IList <SmartBox.Console.Common.Entities.SMC_Unit> js = GetUnitData(); foreach (SmartBox.Console.Common.Entities.SMC_Unit r in js) { if (r == null) { continue; } //unitList.Add(new SelectListItem { Text = "全局", Value = "" }); unitList.Add(new SelectListItem { Text = r.Unit_Name, Value = r.Unit_ID }); } List <SelectListItem> IsRecom = new List <SelectListItem>(); IsRecom.Add(new SelectListItem { Text = "推荐", Value = "1", Selected = true }); IsRecom.Add(new SelectListItem { Text = "不推荐", Value = "0" }); List <SelectListItem> IsMust = new List <SelectListItem>(); IsMust.Add(new SelectListItem { Text = "必备", Value = "1", Selected = true }); IsMust.Add(new SelectListItem { Text = "不必备", Value = "0" }); ViewData["IsRecom"] = IsRecom; ViewData["IsMust"] = IsMust; ViewData["Unit"] = unitList; ViewData["Application"] = BoFactory.GetVersionTrackBo.QueryApplicationList().ToDataTable(); ViewData["ClientType"] = cTypes.ToDataTable(); SelectHelper ddlApplicationSelect = new SelectHelper(BoFactory.GetVersionTrackBo.QueryApplicationCategoryList().ToDataTable()); ViewData["Cate"] = ddlApplicationSelect.GetSelectList("DisplayName", "ID", false); ViewData["DispName"] = (ext == null ? "" : ext.pe_DisplayName); return(View(app)); }
public JsonResult EditIOSOutsideApp(IOSOutsideApp webApplication) { JsonReturnMessages data = new JsonReturnMessages() { IsSuccess = true, Msg = "操作成功" }; webApplication.UpdateTime = DateTime.Now; webApplication.UpdateUid = CurrentUser.UserUId; try { if (string.IsNullOrEmpty(Convert.ToString(webApplication.ID)) || webApplication.ID == 0) {//新增 webApplication.CreateTime = DateTime.Now; webApplication.CreateUid = CurrentUser.UserUId; BoFactory.GetVersionTrackBo.InsertIOSOutSideApp(webApplication); } else { BoFactory.GetVersionTrackBo.UpdateIOSOutSideApp(webApplication); } SMC_PackageExt packageExt = new SMC_PackageExt(); packageExt.pe_id = BoFactory.GetVersionTrackBo.GetMaxPackageExtId() + 1; packageExt.pe_ClientType = webApplication.ClientType; packageExt.pe_IsTJ = Request.Form["IsRecom"]; packageExt.pe_IsBB = Request.Form["IsMust"]; //FileInfo fi = new FileInfo(saveFilePath); packageExt.pe_Size = 0;// (int)fi.Length; packageExt.TableName = "IOSOutsideApplication"; packageExt.TableID = webApplication.ID; packageExt.pe_UnitCode = Request.Form["Unit"]; packageExt.pe_CategoryID = Request.Form["Cate"]; packageExt.pe_Category = BoFactory.GetVersionTrackBo.GetApplicationCategory(Request.Form["Cate"]).DisplayName; packageExt.pe_ApplicationCode = Request.Form["AppID"]; if (!String.IsNullOrEmpty(packageExt.pe_ApplicationCode)) { string[] appIds = packageExt.pe_ApplicationCode.Split(",".ToCharArray()); string appNames = ""; foreach (string appid in appIds) { Application application = Bo.BoFactory.GetVersionTrackBo.GetApplication(appid); if (application != null) { appNames += application.DisplayName + ","; } } packageExt.pe_ApplicationName = appNames; } packageExt.pe_UnitName = BoFactory.GetSMC_UnitBo.Get(packageExt.pe_UnitCode).Unit_Name; packageExt.pe_CreateUid = CurrentUser.UserUId; packageExt.pe_CreatedTime = DateTime.Now; packageExt.pe_UpdateUid = CurrentUser.UserUId; packageExt.pe_UpdateTime = DateTime.Now; packageExt.pe_Version = Request.Form["Version"]; // form["packageVersion"]; packageExt.pe_BuildVer = Request.Form["BuildVer"]; // form["packageBuildVer"]; packageExt.pe_Name = Request.Form["DisplayName"]; // form["packageDisplayName"]; packageExt.pe_DisplayName = Request.Form["DisplayName"]; // form["packageDisplayName"]; packageExt.pe_Description = ""; // form["packageDescription"]; packageExt.pe_Firmware = Request.Form["Firmware"]; packageExt.pe_DownloadUri = Request.Form["Uri"]; string conSolePath = HttpRuntime.AppDomainAppPath; //服务器路径 string pDir = SAVEOUTPATH + @"\" + packageExt.pe_id.ToString(); //相对路径 用安装包ID做文件夹名 string saveDir = conSolePath + pDir; //生成下载url,并生成二维码 string url = packageExt.pe_DownloadUri; string uri = base.Save2DPicture(packageExt.pe_id, url); packageExt.pe_2dPictureUrl = uri; int i = Request.Files.Count; string iconSavePath = ""; if (i > 0) { //保存安装包图标 HttpPostedFileBase icon = Request.Files[0]; string iconFileName = "AppIcon.png"; iconSavePath = System.IO.Path.Combine(saveDir, iconFileName); if (System.IO.File.Exists(iconSavePath)) { System.IO.File.Delete(iconSavePath); } icon.SaveAs(iconSavePath); packageExt.pe_PictureUrl = @"~/" + pDir + "/AppIcon.png"; packageExt.pe_PictureUrl = packageExt.pe_PictureUrl.Replace(@"\\", "/"); } GlobalParam parm = Bo.BoFactory.GetGlobalParamBO.GetGlobalParam("app_sj_need_auth"); if (parm.ConfigValue == "1") { //需要审核 packageExt.pe_AuthStatus = 0;//待审核 packageExt.pe_AuthSubmitTime = DateTime.Now; packageExt.pe_AuthSubmitName = CurrentUser.FullName; packageExt.pe_AuthSubmitUID = CurrentUser.UserUId; packageExt.pe_Direction = "发布"; packageExt.pe_Type = "ios_out"; packageExt.pe_UsefulStstus = "0"; packageExt.pe_UsefulTime = DateTime.Now; packageExt.pe_UsefulOperatorUID = CurrentUser.UserUId; packageExt.pe_UsefulOperatorName = CurrentUser.FullName; } else { packageExt.pe_AuthStatus = 1;//审核通过 packageExt.pe_AuthSubmitTime = DateTime.Now; packageExt.pe_AuthTime = DateTime.Now; packageExt.pe_AuthSubmitName = CurrentUser.FullName; packageExt.pe_AuthSubmitUID = CurrentUser.UserUId; packageExt.pe_AuthManUID = CurrentUser.UserUId; packageExt.pe_AuthMan = CurrentUser.FullName; packageExt.pe_SyncStatus = 0; packageExt.pe_Direction = "发布"; packageExt.pe_Type = "ios_out"; packageExt.pe_UsefulStstus = "1"; packageExt.pe_UsefulTime = DateTime.Now; packageExt.pe_UsefulOperatorUID = CurrentUser.UserUId; packageExt.pe_UsefulOperatorName = CurrentUser.FullName; } BoFactory.GetVersionTrackBo.InsertPackageExt(packageExt); if (parm.ConfigValue == "0") { //不需要审核,直接同步到应用中心 //同步至外网数据 _SyncPackageExt(packageExt); } } catch (Exception ex) { data.IsSuccess = false; data.Msg = ex.Message.Replace("'", "`"); Log4NetHelper.Error(ex); } return(Json(data)); }
public virtual void SMC_PackageExtInternalRelease(SMC_PackageExt ext) { _SMC_PackageExtInternalRelease(ext); }
private void _AddApp4AI(Package4AI package, SMC_PackageExt ext) { if (!String.IsNullOrEmpty(ext.pe_ApplicationCode)) { string[] apps = ext.pe_ApplicationCode.Split(",".ToCharArray()); if (apps != null && apps.Length > 0) { ApplicationDao appDao = new ApplicationDao(AppConfig.mainDbKey); App4AIDao app4AIDao = new App4AIDao(AppConfig.mainDbKey); string TEMPPATH = Path.Combine(AppConfig.PackUploadFolder, "Temp"); int idx = 1; Hashtable extendInfo = null; JObject extObj = null; if (!String.IsNullOrEmpty(ext.pe_ExtentInfo)) { extendInfo = Newtonsoft.Json.JsonConvert.DeserializeObject <Hashtable>(ext.pe_ExtentInfo); extObj = JObject.Parse(ext.pe_ExtentInfo); } Newtonsoft.Json.Linq.JArray appsHash = (Newtonsoft.Json.Linq.JArray)extendInfo["Applications"]; JArray appsJobj = (JArray)extObj["Applications"]; foreach (string appCode in apps) { if (String.IsNullOrEmpty(appCode)) { continue; } if (extendInfo.Count > 0) { } //appsHash.Select(e => { e.}); List <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >(); pars.Add(new KeyValuePair <string, object>("[NAME]", appCode)); Application application = appDao.Get(pars); App4AI app4AI = new App4AI(); app4AI.AppID = application.ID; //Newtonsoft.Json.Linq.JToken.EqualityComparer = new Newtonsoft.Json.Linq.JTokenEqualityComparer(); //ec. string AppIconUri = ""; foreach (var j in appsJobj) { var i = (JObject)j; string ApplicationID = (string)i["ApplicationID"]; if (ApplicationID == application.ID.ToString()) { var oIcon = (JObject)i["ApplicationIcon"]; AppIconUri = (string)oIcon["AppIconUri"]; break; } } //Hashtable appHash = appsHash.Find(e => e["ApplicationID"] == application.ID.ToString()); //Hashtable appIconHash = (Hashtable)appHash["ApplicationIcon"]; //string AppIconUri = (string)appIconHash["AppIconUri"]; app4AI.Package4AIID = package.ID; //app4AI.PackageName = package.Name; app4AI.AppCode = appCode; app4AI.ClientType = package.ClientType; //form["AppCheckClentType_" + appIndex.ToString()]; //string appIco = "";//form["AppIco_" + appIndex.ToString()] app4AI.IconUri = AppIconUri; // GetAndroidApplicationIcoUri(Path.Combine(TEMPPATH, package.DownloadUri), appIco); app4AI.Seq = idx; app4AI.CreateTime = DateTime.Now; app4AI.UpdateTime = DateTime.Now; app4AI.CreateUid = ""; app4AI.UpdateUid = ""; IList <KeyValuePair <string, object> > _pars = new List <KeyValuePair <string, object> >(); _pars.Add(new KeyValuePair <string, object>("Package4AIID", app4AI.Package4AIID)); _pars.Add(new KeyValuePair <string, object>("AppCode", app4AI.AppCode)); _pars.Add(new KeyValuePair <string, object>("ClientType", app4AI.ClientType)); App4AI _app4ai = app4AIDao.Get(_pars); if (_app4ai == null) { //package.App4AIList.Add(app4AI); app4AIDao.Insert(app4AI); } else { app4AIDao.Update(app4AI); } ++idx; } } } }
/// <summary> /// 复制安装包到更新文件目录 /// </summary> /// <param name="ext"></param> private void _CopyExtFileToUpdateFilesFolder(SMC_PackageExt ext) { string pathSource = HttpContext.Current.Server.MapPath(ext.pe_FileUrl); //string[] files = Directory.GetFiles(pathSource); Dao.Package4AIDao daoPackage4AI = new Package4AIDao(AppConfig.mainDbKey); IList <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >(); pars.Add(new KeyValuePair <string, object>("id", ext.TableID)); Package4AI package4AI = daoPackage4AI.Get(pars); //string sourceFileName = Path.GetFileName(ext.pe_FileUrl); //foreach (string file in files) { string sFileName = Path.GetFileName(pathSource); if (sFileName.EndsWith(".ipa") || sFileName.EndsWith(".apk")) { string destFileName = Path.GetFileName(ext.pe_DownloadUri); string destFolder = AppConfig.PackUploadFolder; if (destFolder.EndsWith(@"\") == false) { destFolder += @"\"; } destFolder += destFileName; try { File.Copy(pathSource, destFolder, true); } catch (Exception ex) { Log4NetHelper.Error(ex); } } string savefilePath = AppConfig.PublishConfig.GetValue(ext.pe_ClientType).Path; //saveFileName = savefilePath; string saveFilePathOut = ""; if (savefilePath.IndexOf("$") != -1) { string[] savefilePaths = savefilePath.Split("$".ToCharArray()); savefilePath = savefilePaths[0]; saveFilePathOut = savefilePaths[1]; } //内网本地存储固定名称的主程序 try { System.IO.File.Copy(pathSource, savefilePath, true); } catch (Exception ex) { Log4NetHelper.Error(ex); } Service.ApplicationCenterWS.WebService acws = new Service.ApplicationCenterWS.WebService(); //StreamReader sr = new StreamReader(); FileStream fs = new FileStream(pathSource, FileMode.Open); byte[] content = new byte[fs.Length]; fs.Read(content, 0, (int)fs.Length - 1); fs.Close(); fs.Dispose(); //发布到外网存储固定名称的主程序 if (package4AI != null && package4AI.Type.ToLower() == "main") { acws.RemotePublish(content, saveFilePathOut); } } }
private void _SMC_PackageExtInternalRelease(SMC_PackageExt ext) { if (ext == null) { return; } string tableName = ext.TableName.ToLower(); int tableId = ext.TableID; List <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >(); switch (tableName) { case "webapplication": pars.Add(new KeyValuePair <string, object>("id", tableId)); WebApplication webApplication = daoWebApplication.Get(pars); if (webApplication == null) { webApplication = new WebApplication(); CopyPackageExt2WebApplication(ext, webApplication); daoWebApplication.Insert(webApplication); ext.TableID = webApplication.ID; } else { CopyPackageExt2WebApplication(ext, webApplication); daoWebApplication.Update(webApplication); } break; case "package4ai": pars.Add(new KeyValuePair <string, object>("id", tableId)); Package4AI package4AI = daoPackage4AI.Get(pars); if (package4AI == null) { package4AI = new Package4AI(); CopyPackageExt2Package4AI(ext, package4AI); daoPackage4AI.Insert(package4AI); ext.TableID = package4AI.ID; } else { CopyPackageExt2Package4AI(ext, package4AI); daoPackage4AI.Update(package4AI); } try { _AddApp4AI(package4AI, ext); } catch (Exception ex) { Log4NetHelper.Error(ex); } try { _AddAction4Android(package4AI, ext); } catch (Exception ex) { Log4NetHelper.Error(ex); } break; case "smc_package4out": pars.Add(new KeyValuePair <string, object>("po_ID", tableId)); SMC_Package4Out package4Out = daoSMC_Package4Out.Get(pars); if (package4Out == null) { package4Out = new SMC_Package4Out(); CopyPackageExt2SMC_Package4Out(ext, package4Out); daoSMC_Package4Out.Insert(package4Out); ext.TableID = package4Out.po_ID; } else { CopyPackageExt2SMC_Package4Out(ext, package4Out); daoSMC_Package4Out.Update(package4Out); } break; } daoSMC_PackageExt.Update(ext); _CopyExtFileToUpdateFilesFolder(ext); }