public ActionResult New(SpeciesForm form) { Debug.WriteLine(string.Format("POST: Species Controller: New - gameID={0}", GameState.GameID)); var game = GameState.Game; DB_species species = new DB_species(); species.game_id = game.Info.id; species.name = form.Name; species.description = form.Description; species.base_attack = form.BaseAttack; species.base_special_attack = form.BaseSpecialAttack; species.base_health = form.BaseHealth; species.base_regeneration = form.BaseRegeneration; species.base_agility = form.BaseAgility; species.gmnotes = form.GMNotes; Database.Session.Save(species); var checkedCivilizations = form.Civilizations .Where(x => x.IsChecked) .ToList(); foreach (var civilizations in checkedCivilizations) { DB_civilization_species civilizationSpecies = new DB_civilization_species(); civilizationSpecies.game_id = game.ID; civilizationSpecies.civilization_id = civilizations.ID; civilizationSpecies.species_id = species.id; Database.Session.Save(civilizationSpecies); } Database.Session.Flush(); return(RedirectToRoute("Statistics")); }
private void CreateSpeciesAndCivilization(Game game, DB_planets planet, DB_starsystems starsystem, Fotiv_Automator.Models.StarMapGenerator.Models.SentientSpecies species) { // Create the Civilization DB_civilization dbCivilization = new DB_civilization(); dbCivilization.game_id = game.ID; dbCivilization.civilization_traits_1_id = RetrieveCivilizationTrait(species.Traits[0].ToString().SpaceUppercaseLetters()).id; dbCivilization.civilization_traits_2_id = RetrieveCivilizationTrait(species.Traits[1].ToString().SpaceUppercaseLetters()).id; dbCivilization.civilization_traits_3_id = RetrieveCivilizationTrait(species.Traits[2].ToString().SpaceUppercaseLetters()).id; dbCivilization.tech_level_id = RetrieveTechLevel($"TL{(int)species.TechLevel} {species.TechLevel.ToString().SpaceUppercaseLetters()}").id; dbCivilization.colour = "#E4D12F"; dbCivilization.name = $"Civilization {game.Random.Next(int.MaxValue)}"; dbCivilization.rp = 0; Database.Session.Save(dbCivilization); DB_species dbSpecies = new DB_species(); dbSpecies.game_id = game.ID; dbSpecies.name = $"Species {game.Random.Next(int.MaxValue)}"; dbSpecies.description = string.Join(",", species.Classifications.Select(x => x.ToString())); Database.Session.Save(dbSpecies); DB_civilization_species dbCivSpecies = new DB_civilization_species(); dbCivSpecies.game_id = game.ID; dbCivSpecies.civilization_id = dbCivilization.id; dbCivSpecies.species_id = dbSpecies.id; Database.Session.Save(dbCivSpecies); var homeworldInfrastructure = RetrieveInfrastructure("Homeworld"); DB_civilization_infrastructure dbInfrastructure = new DB_civilization_infrastructure(); dbInfrastructure.game_id = game.ID; dbInfrastructure.struct_id = homeworldInfrastructure.id; dbInfrastructure.civilization_id = dbCivilization.id; dbInfrastructure.planet_id = planet.id; dbInfrastructure.current_health = homeworldInfrastructure.base_health; dbInfrastructure.experience = 0; dbInfrastructure.name = homeworldInfrastructure.name; dbInfrastructure.can_upgrade = false; dbInfrastructure.is_military = true; Database.Session.Save(dbInfrastructure); DB_visited_starsystems dbVisitedStarSystem = new DB_visited_starsystems(); dbVisitedStarSystem.game_id = game.ID; dbVisitedStarSystem.civilization_id = dbCivilization.id; dbVisitedStarSystem.starsystem_id = starsystem.id; }