Beispiel #1
0
        public ActionResult New(CivilizationUnitsForm form)
        {
            Debug.WriteLine($"POST: Civilization Units Controller: New");
            DB_users user = Auth.User;
            var      game = GameState.Game;

            var dbUnit = game.GameStatistics.Units
                         .Where(x => x.Info.id == form.SelectedUnitID.Value)
                         .FirstOrDefault();

            if (dbUnit == null)
            {
                return(View(form));
            }

            DB_civilization_units unit = new DB_civilization_units();

            unit.game_id         = game.ID;
            unit.unit_id         = dbUnit.Info.id;
            unit.species_id      = (form.SelectedSpeciesID == -1) ? null : form.SelectedSpeciesID;
            unit.civilization_id = form.CivilizationID.Value;
            unit.name            = form.Name;
            unit.current_health  = dbUnit.Info.base_health;
            unit.experience      = form.Experience;
            unit.gmnotes         = form.GMNotes;
            Database.Session.Save(unit);

            Database.Session.Flush();
            return(RedirectToRoute("ViewCivilization", new { civilizationID = form.CivilizationID.Value }));
        }
Beispiel #2
0
        public ActionResult Edit(CivilizationUnitsForm form)
        {
            Debug.WriteLine($"POST: Civilization Units Controller: Edit");
            DB_users user = Auth.User;
            var      game = GameState.Game;

            DB_civilization_units unit = FindCivilizationUnit(form.ID).CivilizationInfo;

            if (unit.game_id != game.ID)
            {
                return(RedirectToRoute("game", new { gameID = game.Info.id }));
            }

            var dbUnit = game.GameStatistics.UnitsRaw
                         .Where(x => x.id == form.SelectedUnitID.Value)
                         .FirstOrDefault();

            if (dbUnit == null)
            {
                return(View(form));
            }

            unit.name = form.Name;
            if (RequireGMAdminAttribute.IsGMOrAdmin())
            {
                unit.civilization_id = form.CivilizationID.Value;
                unit.unit_id         = dbUnit.id;
                unit.species_id      = (form.SelectedSpeciesID == -1) ? null : form.SelectedSpeciesID;
                unit.current_health  = form.CurrentHealth;
                unit.experience      = form.Experience;
                unit.gmnotes         = form.GMNotes;
            }
            Database.Session.Update(unit);

            Database.Session.Flush();
            return(RedirectToRoute("ViewCivilization", new { civilizationID = form.CivilizationID.Value }));
        }