示例#1
0
        public JObject GenV4ServersPackageConfig(
            List <VgcApis.Interfaces.ICoreServCtrl> servList,
            string packageName,
            VgcApis.Models.Datas.Enums.PackageTypes packageType)
        {
            JObject package;

            switch (packageType)
            {
            case VgcApis.Models.Datas.Enums.PackageTypes.Chain:
                package = GenV4ChainConfig(servList, packageName);
                break;

            case VgcApis.Models.Datas.Enums.PackageTypes.Balancer:
            default:
                package = GenV4BalancerConfig(servList, packageName);
                break;
            }

            try
            {
                var finalConfig = GetGlobalImportConfigForPacking();
                Misc.Utils.CombineConfigWithRoutingInTheEnd(ref finalConfig, package);
                return(finalConfig);
            }
            catch
            {
                setting.SendLog(I18N.InjectPackagingImportsFail);
                return(package);
            }
        }
示例#2
0
        public string PackSelectedServersV4(
            string orgUid, string pkgName,
            VgcApis.Models.Datas.Enums.BalancerStrategies strategy,
            VgcApis.Models.Datas.Enums.PackageTypes packageType)
        {
            var servList = new List <VgcApis.Interfaces.ICoreServCtrl>();

            lock (serverListWriteLock)
            {
                servList = queryHandler.GetSelectedServers().ToList();
            }
            return(PackServersIntoV4PackageWorker(
                       servList, orgUid, pkgName, strategy, packageType));
        }
示例#3
0
        /// <summary>
        /// packageName is Null or empty ? "PackageV4" : packageName
        /// </summary>
        /// <param name="packageName"></param>
        /// <param name="servList"></param>
        public string PackServersV4Ui(
            List <VgcApis.Interfaces.ICoreServCtrl> servList,
            string orgUid,
            string packageName,
            VgcApis.Models.Datas.Enums.BalancerStrategies strategy,
            VgcApis.Models.Datas.Enums.PackageTypes packageType)
        {
            if (servList == null || servList.Count < 1)
            {
                VgcApis.Misc.UI.MsgBoxAsync(I18N.ListIsEmpty);
                return("");
            }

            var uid = PackServersIntoV4PackageWorker(
                servList, orgUid, packageName, strategy, packageType);

            Misc.UI.ShowMessageBoxDoneAsync();
            return(uid);
        }
示例#4
0
        string PackServersIntoV4PackageWorker(
            List <ICoreServCtrl> servList,
            string orgUid,
            string packageName,
            VgcApis.Models.Datas.Enums.BalancerStrategies strategy,
            VgcApis.Models.Datas.Enums.PackageTypes packageType)
        {
            if (servList == null || servList.Count < 1)
            {
                return("");
            }

            JObject package = configMgr.GenV4ServersPackageConfig(
                servList, packageName, packageType);
            string mark;

            switch (packageType)
            {
            case VgcApis.Models.Datas.Enums.PackageTypes.Balancer:
                InjectBalacerStrategy(ref package, strategy);
                mark = @"PackageV4";
                break;

            case VgcApis.Models.Datas.Enums.PackageTypes.Chain:
            default:
                mark = @"ChainV4";
                break;
            }

            var    newConfig = package.ToString(Formatting.None);
            string newUid    = ReplaceOrAddNewServer(orgUid, newConfig, mark);

            UpdateMarkList();
            setting.SendLog(I18N.PackageDone);
            return(newUid);
        }