Пример #1
0
        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);
        }
Пример #2
0
 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);
 }
Пример #3
0
        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);
        }
Пример #4
0
 public bool PackageExtSync(SMC_PackageExt entity)
 {
     try
     {
         return(bo.PackageExtSyncInsideToOutside(entity));
     }
     catch (Exception e)
     {
         Log4NetHelper.Error(e);
         return(false);
     }
 }
Пример #5
0
 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);
 }
Пример #6
0
        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;
                    }
                }
            }
        }
Пример #7
0
        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);
        }
Пример #8
0
        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));
        }
Пример #9
0
        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));
        }
Пример #10
0
 public virtual void SMC_PackageExtInternalRelease(SMC_PackageExt ext)
 {
     _SMC_PackageExtInternalRelease(ext);
 }
Пример #11
0
        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;
                    }
                }
            }
        }
Пример #12
0
        /// <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);
                }
            }
        }
Пример #13
0
        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);
        }