public ActionResult EditUnit([DataSourceRequest] DataSourceRequest request, UnitModelAdmin unit) { if (unit != null && ModelState.IsValid) { var context = new ApplicationDbContext(); var unitToEdit = context.Units.FirstOrDefault(p => p.Id == unit.Id); if (unitToEdit != null) { unitToEdit.Type = unit.Type; unitToEdit.WoodCost = unit.WoodCost; unitToEdit.IronCost = unit.IronCost; unitToEdit.FoodCost = unit.FoodCost; unitToEdit.PopulationCost = unit.PopulationCost; unitToEdit.BuildTime = TimeToSeconds(unit.BuildTime); unitToEdit.Speed = unit.Speed; unitToEdit.HealthPoints = unit.HealthPoints; unitToEdit.CarryingCapacity = unit.CarryingCapacity; unitToEdit.CavalryPower = unit.CavalryPower; unitToEdit.InfantryPower = unit.InfantryPower; unitToEdit.SiegeArtilleryPower = unit.SiegeArtilleryPower; context.SaveChanges(); } } return(Json(new[] { unit }.ToDataSourceResult(request, ModelState))); }
public ActionResult DeleteUnit([DataSourceRequest] DataSourceRequest request, UnitModelAdmin unit) { if (unit != null) { var context = new ApplicationDbContext(); var removeFromUnits = context.Units.Where(u => u.Id == unit.Id); foreach (var u in removeFromUnits) { context.Units.Remove(u); } var removeFromUnitsInProgress = context.UnitsInProgress.Where(u => u.Id == unit.Id); foreach (var u in removeFromUnitsInProgress) { context.UnitsInProgress.Remove(u); } var removeFromUserUnits = context.UsersUnits.Where(u => u.UnitId == unit.Id); foreach (var u in removeFromUserUnits) { context.UsersUnits.Remove(u); } var buildingToRemove = context.Units.FirstOrDefault(b => b.Id == unit.Id); if (buildingToRemove != null) { context.Units.Remove(buildingToRemove); context.SaveChanges(); } } return(Json(new[] { unit }.ToDataSourceResult(request, ModelState))); }
public ActionResult CreateNewUnit([DataSourceRequest] DataSourceRequest request, UnitModelAdmin unit) { if (unit != null && ModelState.IsValid) { var context = new ApplicationDbContext(); var newUnit = new Unit { Type = unit.Type, WoodCost = unit.WoodCost, IronCost = unit.IronCost, FoodCost = unit.FoodCost, PopulationCost = unit.PopulationCost, BuildTime = Convert.ToInt32(unit.BuildTime), CarryingCapacity = unit.CarryingCapacity, Speed = unit.Speed, CavalryPower = unit.CavalryPower, SiegeArtilleryPower = unit.SiegeArtilleryPower, InfantryPower = unit.InfantryPower, HealthPoints = unit.HealthPoints, }; context.Units.Add(newUnit); context.UnitRequirements.Add(new UnitRequirement { UnitId = newUnit.Id, RequiredBuildingId = context.Buildings.FirstOrDefault(x => x.Type == "Barracks").Id, RequiredBuildingLevel = 1 }); context.SaveChanges(); } unit.BuildTime = SecondsToTime(Convert.ToInt32(unit.BuildTime)); return(Json(new[] { unit }.ToDataSourceResult(request, ModelState))); }