/// <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()); }
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); }
/// <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();
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(); }