private void UpdateRazorFile(string realfilename, Dictionary <string, string> Parameters) { if (Path.GetExtension(realfilename) == ".cshtml") { try { object Model = DataSourceUtils.GetModel(Parameters); string[] Lines = File.ReadAllLines(realfilename); if (Lines.Length > 0 && Lines[0].Contains("@inherits")) { Lines[0] = "@inherits Satrabel.OpenBlocks.TemplateEngine.TemplateWebPage<" + Model.GetType().FullName + ">"; File.WriteAllLines(realfilename, Lines); } } catch (Exception) { //throw; } } }
public override void InstallBindings() { if (!PluginConfig.Instance.ModEnable) { return; } Logger.logger.Debug("Binding BPM Downloader"); if (!Utils.Utils.IsModEnabled(DataSourceUtils.WEBSOCKET_SHARP_MOD_ID) && DataSourceUtils.NeedWebSocket(Config.DataSource)) { Logger.logger.Error($"{DataSourceUtils.WEBSOCKET_SHARP_MOD_ID} is not installed but required for the data source {Config.DataSource}, NOT BINDING!"); return; } switch (Config.DataSource) { case "WebRequest": if (Config.FeedLink == "NotSet") { Logger.logger.Warn("Feed link not set."); return; } Container.Bind <BpmDownloader>().To <WebRequest>().AsSingle(); break; case "Pulsoid Token": if (Config.PulsoidToken == "NotSet") { Logger.logger.Warn("Pulsoid Token not set."); return; } Container.Bind <BpmDownloader>().To <Pulsoid>().AsSingle(); break; case "HypeRate": if (Config.HypeRateSessionID == "-1") { Logger.logger.Warn("Hype Rate Session ID not set."); return; } Container.Bind <BpmDownloader>().To <HRProxy>().AsSingle(); break; case "Pulsoid": if (Config.PulsoidWidgetID == "NotSet") { Logger.logger.Warn("Pulsoid Widget ID not set."); return; } Container.Bind <BpmDownloader>().To <HRProxy>().AsSingle(); break; case "FitbitHRtoWS": if (Config.FitbitWebSocket == string.Empty) { Logger.logger.Warn("FitbitWebSocket is empty."); return; } Container.Bind <BpmDownloader>().To <FitbitHRtoWS>().AsSingle(); break; case "YUR APP": Container.Bind <BpmDownloader>().To <YURApp>().AsSingle(); break; case "YUR MOD": if (!Utils.Utils.IsModEnabled(DataSourceUtils.YUR_MOD_ID)) { Logger.logger.Error($"{DataSourceUtils.YUR_MOD_ID} is not installed but required for the data source {Config.DataSource}, NOT BINDING!"); return; } Container.Bind <BpmDownloader>().To <YURMod>().AsSingle(); break; case "Random": Container.Bind <BpmDownloader>().To <RandomHR>().AsSingle(); break; default: Logger.logger.Warn("Unknown Data Sources"); break; } if (Container.HasBinding <BpmDownloader>()) { Logger.logger.Debug("binding hr controller"); Container.BindInterfacesAndSelfTo <HRController>().AsSingle().NonLazy(); } else { Logger.logger.Debug("no downloader bounded"); } }