public ActionResult DeleteConfig(int id)
        {
            var game = new TCAdmin.GameHosting.SDK.Objects.Game(id);

            game.CustomFields["BannerModule:Settings"] = null;
            game.Save();

            return(JavaScript("window.location.reload(false);"));
        }
 public bool SetConfigurationForGame(TCAdmin.GameHosting.SDK.Objects.Game game, GeneralConfiguration obj)
 {
     game.AppData[$"__CustomModsModule::General_Config"] = JsonConvert.SerializeObject(obj);
     return(game.Save());
 }
Esempio n. 3
0
 public bool SetConfigurationForGame(TCAdmin.GameHosting.SDK.Objects.Game game, object obj)
 {
     game.AppData[$"__CustomModsModule::{this.Name.ReplaceWhitespace()}_Config"] = JsonConvert.SerializeObject(obj);
     return(game.Save());
 }
        private static void SaveBannerSettingsToGame(TCAdmin.GameHosting.SDK.Objects.Game game,
                                                     SettingsModel settingsModel)
        {
            var bannerSettings = game.CustomFields["BannerModule:Settings"];

            if (bannerSettings == null)
            {
                game.CustomFields["BannerModule:Settings"] = JsonConvert.SerializeObject(settingsModel);
                game.Save();
            }

            bannerSettings = game.CustomFields["BannerModule:Settings"];
            var settings = JsonConvert.DeserializeObject <SettingsModel>(bannerSettings.ToString(),
                                                                         new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Include,
            });

            if (settings == null)
            {
                throw new NullReferenceException("Cannot parse Settings variable for Game.");
            }

            if (settingsModel.GeneralSettingsModel != null)
            {
                settings.GeneralSettingsModel = settingsModel.GeneralSettingsModel;
            }

            if (settingsModel.Watermarks != null)
            {
                foreach (var settingsWatermark in settingsModel.Watermarks)
                {
                    if (settings.Watermarks.Any(x => x.BannerObjectId == settingsWatermark.BannerObjectId))
                    {
                        settings.Watermarks[
                            settings.Watermarks.FindIndex(ind =>
                                                          ind.BannerObjectId.Equals(settingsWatermark.BannerObjectId))] = settingsWatermark;
                    }
                    else
                    {
                        settings.Watermarks.Add(settingsWatermark);
                    }
                }

                var watermarksToDelete = settings.Watermarks.Except(settingsModel.Watermarks).ToList();
                foreach (var watermarkModel in watermarksToDelete)
                {
                    settings.Watermarks.Remove(watermarkModel);
                }
            }

            if (settingsModel.Overlays != null)
            {
                foreach (var settingsOverlay in settingsModel.Overlays)
                {
                    if (settings.Overlays.Any(x => x.BannerObjectId == settingsOverlay.BannerObjectId))
                    {
                        settings.Overlays[
                            settings.Overlays.FindIndex(ind =>
                                                        ind.BannerObjectId.Equals(settingsOverlay.BannerObjectId))] = settingsOverlay;
                    }
                    else
                    {
                        settings.Overlays.Add(settingsOverlay);
                    }
                }

                var overlaysToDelete = settings.Overlays.Except(settingsModel.Overlays).ToList();
                foreach (var watermarkModel in overlaysToDelete)
                {
                    settings.Overlays.Remove(watermarkModel);
                }
            }

            game.CustomFields["BannerModule:Settings"] = JsonConvert.SerializeObject(settings);
            game.Save();
        }