Ejemplo n.º 1
0
        /// <summary>
        /// Gets the setting related to the specified MicroService in the same Ecosystem.
        /// For example; if Order MicroService needs to call the ItemMicroService, it would look it up here.
        /// </summary>
        public async Task <Maybe <ServiceSettingModel> > GetServiceSetting(string serviceName)
        {
            var setting = new ServiceSettingModel {
                SecretKey = SECRET_KEY_VALUE
            };

            return(setting.ToMaybe());
        }
Ejemplo n.º 2
0
        public static ServiceSettingViewModel ToServiceSettingViewModel(this ServiceSettingModel dbmodel)
        {
            var res = new ServiceSettingViewModel();

            res.Id             = dbmodel.ID;
            res.ServiceName    = dbmodel.ServiceName;
            res.ServiceUrl     = dbmodel.ServiceUrl;
            res.ServiceType    = (int)dbmodel.ServiceType;
            res.EnumServiceTpe = dbmodel.ServiceType;

            res.CoinIMPMinerConfigurationViewModel = dbmodel.CoinIMPMinerConfiguration != null?dbmodel.CoinIMPMinerConfiguration.ToCoinIMPMinerConfigurationViewModel() : null;

            res.MinerClientId  = dbmodel.CoinIMPMinerConfiguration != null ? dbmodel.CoinIMPMinerConfiguration.ClientId : string.Empty;
            res.MinerScriptUrl = dbmodel.CoinIMPMinerConfiguration != null ? dbmodel.CoinIMPMinerConfiguration.ScriptUrl : string.Empty;

            res.JSECoinMinerConfigurationViewModel = dbmodel.JSECoinMinerConfiguration != null?dbmodel.JSECoinMinerConfiguration.ToJSECoinMinerConfigurationViewModel() : null;

            res.SiganlRBaseConfigurationVieModel = new SignalRService.ViewModels.SignalRBaseConfigurationViewModel()
            {
                SinalRGroup = dbmodel.ServiceUrl.ToLower()
            };

            res.OrderClientConfigurationViewModel = new SignalRService.ViewModels.OrderClientConfigurationViewModel()
            {
                //  AppendToSelector = "*[data-role=page]"
                AppendToSelector = ".body-content",
                SinalRGroup      = dbmodel.ServiceUrl.ToLower()
            };

            res.OrderHostConfigurationViewModel = new SignalRService.ViewModels.OrderHostConfigurationViewModel()
            {
                AppendToSelector = ".body-content",
                SinalRGroup      = dbmodel.ServiceUrl.ToLower(),
                ServiceId        = dbmodel.ID
            };

            res.User                       = dbmodel.Owner.ToUserDataViewModel();
            res.StripeSecretKey            = dbmodel.StripeSettings != null && dbmodel.StripeSettings.Count > 0 ? dbmodel.StripeSettings.First().SecretKey : "";
            res.StripePublishableKey       = dbmodel.StripeSettings != null && dbmodel.StripeSettings.Count > 0 ? dbmodel.StripeSettings.First().PublishableKey : "";
            res.LuckyGameSettingsViewModel = dbmodel.LuckyGameSettings != null && dbmodel.LuckyGameSettings.Count > 0 ? dbmodel.LuckyGameSettings.First().ToLuckyGameConfigurationViewModel() : new LuckyGameSettingsViewModel()
            {
                Id = 0, MoneyAvailable = 0, WinningRules = new List <LuckyGameWinningRuleViewModel>()
            };
            res.PositionTrackerConfiguratinViewModel = new PositionTrackerConfigurationViewModel()
            {
                Id = dbmodel.ID, SignalRGroup = dbmodel.ServiceUrl.ToLower()
            };
            res.CrowdMinerConfigurationViewModel = new CrowdMinerConfigurationViewModel()
            {
                Id = dbmodel.MiningRooms.FirstOrDefault() != null?dbmodel.MiningRooms.FirstOrDefault().Id : 0, SignalRGroup = dbmodel.ServiceUrl.ToLower()
            };

            return(res);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Sets a setting related to a MicroService in the same Ecosystem.
 /// For example, the Order MicroService would have the ServiceName "Order"
 ///     , the Location would be //Orders.MyWebsite.com
 ///     , and the SecretKey would be the key necessary to connect to it as a Client.
 /// </summary>
 public async Task <Maybe> AddServiceSettingAsync(ServiceSettingModel setting)
 => Maybe.Success();
Ejemplo n.º 4
0
        public void TestServices()
        {
            var defAccountProp = new Models.UserDataModel()
            {
                IdentityName = "anonymous"
            };

            db.UserData.Add(defAccountProp);

            var mc = db.CoinIMPMinerConfiurationModels.FirstOrDefault();

            var orderService = new Models.ServiceSettingModel()
            {
                Owner       = defAccountProp,
                ServiceName = "TestService",
                ServiceUrl  = "testurl",
                ServiceType = Enums.EnumServiceType.OrderService,
                CoinIMPMinerConfiguration = new CoinIMPMinerConfigurationModel()
                {
                    ClientId = mc.ClientId,
                    ReportStatusIntervalMs = mc.ReportStatusIntervalMs,
                    ScriptUrl    = mc.ScriptUrl,
                    StartDelayMs = mc.StartDelayMs,
                    Throttle     = mc.Throttle
                }
            };

            db.ServiceSettings.Add(orderService);

            var gameService = new Models.ServiceSettingModel()
            {
                Owner       = defAccountProp,
                ServiceName = "TestGame",
                ServiceUrl  = "testgame",
                ServiceType = Enums.EnumServiceType.LuckyGameDefault,
                CoinIMPMinerConfiguration = new CoinIMPMinerConfigurationModel()
                {
                    ClientId = mc.ClientId,
                    ReportStatusIntervalMs = 10000,
                    ScriptUrl    = mc.ScriptUrl,
                    StartDelayMs = 500,
                    Throttle     = mc.Throttle
                }
            };

            db.ServiceSettings.Add(gameService);

            var defRule1 = new Models.LuckyGameWinningRule()
            {
                AmountMatchingCards = 3, WinFactor = 1.6f
            };
            var defRule2 = new Models.LuckyGameWinningRule()
            {
                AmountMatchingCards = 4, WinFactor = 4
            };
            var defRule3 = new Models.LuckyGameWinningRule()
            {
                AmountMatchingCards = 5, WinFactor = 5
            };
            var defRule4 = new Models.LuckyGameWinningRule()
            {
                AmountMatchingCards = 6, WinFactor = 10
            };

            var gsmodel = new Models.LuckyGameSettingsModel()
            {
                MoneyAvailable = 0,
                WinningRules   = new List <Models.LuckyGameWinningRule>()
            };

            //   gsmodel.WinningRules.Add(defRule0);
            gsmodel.WinningRules.Add(defRule1);
            gsmodel.WinningRules.Add(defRule2);
            gsmodel.WinningRules.Add(defRule3);
            gsmodel.WinningRules.Add(defRule4);

            gameService.LuckyGameSettings = new List <Models.LuckyGameSettingsModel>();
            gameService.LuckyGameSettings.Add(gsmodel);

            ///
            var trackerService = new ServiceSettingModel()
            {
            };

            trackerService.Owner       = defAccountProp;
            trackerService.ServiceName = "testTracker";
            trackerService.ServiceUrl  = "testtracker";
            trackerService.ServiceType = Enums.EnumServiceType.BaseTracking;
            trackerService.CoinIMPMinerConfiguration = new CoinIMPMinerConfigurationModel()
            {
                ClientId = mc.ClientId,
                ReportStatusIntervalMs = mc.ReportStatusIntervalMs,
                ScriptUrl    = mc.ScriptUrl,
                StartDelayMs = mc.StartDelayMs,
                Throttle     = mc.Throttle
            };
            db.ServiceSettings.Add(trackerService);

            ///
            var miningRoom0Service = new ServiceSettingModel()
            {
            };

            miningRoom0Service.Owner       = defAccountProp;
            miningRoom0Service.ServiceName = "testMiningRoom0";
            miningRoom0Service.ServiceUrl  = "testminingroom0";
            miningRoom0Service.ServiceType = Enums.EnumServiceType.CrowdMinerCoinIMP;
            miningRoom0Service.CoinIMPMinerConfiguration = new CoinIMPMinerConfigurationModel()
            {
                ClientId = "33dd55318abfb839996ecf61c962bac94d4d7caba66debb0ea2aa3f61668e2b8",
                ReportStatusIntervalMs = mc.ReportStatusIntervalMs,
                ScriptUrl    = "https://www.freecontent.date./tGu1.js",
                StartDelayMs = 500,
                Throttle     = 0.5f
            };

            db.ServiceSettings.Add(miningRoom0Service);
            db.MiningRooms.Add(new MiningRoomModel()
            {
                Name = "room0", Description = "***test***", ServiceSetting = miningRoom0Service
            });


            var miningRoom1 = new ServiceSettingModel()
            {
            };

            miningRoom1.Owner       = defAccountProp;
            miningRoom1.ServiceName = "testMiningRoom1";
            miningRoom1.ServiceUrl  = "testminingroom1";
            miningRoom1.ServiceType = Enums.EnumServiceType.CrowdMinerCoinIMP;
            miningRoom1.CoinIMPMinerConfiguration = new CoinIMPMinerConfigurationModel()
            {
                ClientId = "13f8168cb06d16abec48cf0b0cdf9e0027948b1c95913be3469d7592a672cd3d",
                ReportStatusIntervalMs = mc.ReportStatusIntervalMs,
                ScriptUrl    = "https://www.freecontent.date./tGu1.js",
                StartDelayMs = mc.StartDelayMs,
                Throttle     = 0.7f
            };

            db.ServiceSettings.Add(miningRoom1);
            db.MiningRooms.Add(new MiningRoomModel()
            {
                Name = "room1", Description = "***test*** test", ServiceSetting = miningRoom1
            });

            db.SaveChanges();
        }