public ActionResult New(RnDResearchForm form) { Debug.WriteLine($"POST: Civilization RnD Research Controller: New"); DB_users user = Auth.User; var game = GameState.Game; var dbResearch = game.GameStatistics.Research .Where(x => x.id == form.SelectedResearchID.Value) .FirstOrDefault(); var dbBuildAtStruct = game.GetCivilization(form.CivilizationID.Value).Assets.CompletedInfrastructure .Where(x => x.CivilizationInfo.id == form.SelectedBuildAtInfrastructureID) .FirstOrDefault(); if (dbResearch == null || dbBuildAtStruct == null) { return(RedirectToRoute("ViewCivilization", new { civilizationID = form.CivilizationID.Value })); } DB_civilization_rnd_research research = new DB_civilization_rnd_research(); research.game_id = game.ID; research.civilization_id = form.CivilizationID.Value; research.research_id = dbResearch.id; research.civ_struct_id = dbBuildAtStruct.CivilizationInfo.id; research.build_percentage = form.BuildPercentage; Database.Session.Save(research); Database.Session.Flush(); return(RedirectToRoute("ViewCivilization", new { civilizationID = form.CivilizationID.Value })); }
public ActionResult Edit(RnDResearchForm form) { Debug.WriteLine($"POST: Civilization RND Research Controller: Edit"); DB_users user = Auth.User; var game = GameState.Game; DB_civilization_rnd_research research = FindRNDCivilizationResearch(form.ID).Info; if (research.game_id != game.ID) { return(RedirectToRoute("game", new { gameID = game.Info.id })); } var dbResearch = game.GameStatistics.Research .Where(x => x.id == form.SelectedResearchID.Value) .FirstOrDefault(); var dbBuildAtStruct = game.GetCivilization(form.CivilizationID.Value).Assets.CompletedInfrastructure .Where(x => x.CivilizationInfo.id == form.SelectedBuildAtInfrastructureID) .FirstOrDefault(); if (dbResearch == null || dbBuildAtStruct == null) { return(RedirectToRoute("ViewCivilization", new { civilizationID = form.CivilizationID.Value })); } if (RequireGMAdminAttribute.IsGMOrAdmin()) { research.civilization_id = form.CivilizationID.Value; research.research_id = dbResearch.id; research.civ_struct_id = dbBuildAtStruct.CivilizationInfo.id; } Database.Session.Update(research); Database.Session.Flush(); return(RedirectToRoute("ViewCivilization", new { civilizationID = form.CivilizationID.Value })); }