public IHttpActionResult AddShipDesigns([FromBody] UserDesigns design) { try { return(Ok(ShipDAL.AddShipDesigns(design))); } catch (Exception e) { return(InternalServerError(e)); } }
public static PlanetDetail AddShipQueue(BuildingQue buildingQue) { PlanetDetail pl = PlanetDAL.GetPlanet(buildingQue.PlanetID, buildingQue.UserID); UserDesigns ship = ShipDAL.GetShipDesignbyUser(buildingQue.UserID).Find(x => x.ShipDesignID == buildingQue.BuildingID); if (pl.Materials < ship.MaterialCost || pl.Military < ship.MilitaryCost) { throw new Exception("Not enough resources"); } else { PlanetDAL.UpdatePopAndMats(buildingQue.PlanetID, pl.Materials - buildingQue.MaterialCost, pl.Population, pl.Military - (int)ship.MilitaryCost.Value); pl.Materials -= buildingQue.MaterialCost; pl.Military -= (int)ship.MilitaryCost.Value; } AllbuildQues BuildingsQueLeft = PlanetBLL.GetBuildingQueue(buildingQue.PlanetID, buildingQue.UserID); DateTime UTC = DateTime.UtcNow; BuildingQue bq = new BuildingQue(); bq.BuildingID = buildingQue.BuildingID; bq.PlanetID = buildingQue.PlanetID; bq.Seconds = buildingQue.Seconds; bq.UserID = buildingQue.UserID; bq.MaterialCost = buildingQue.MaterialCost; bq.Movement = buildingQue.Movement; bq.Type = 3; DateTime?maxCompletetionDate = BuildingsQueLeft.shipQue.FindAll(x => x.Type == 3).Max(x => x.CompletetionDate); if (maxCompletetionDate.HasValue) { bq.CompletetionDate = maxCompletetionDate.Value.AddSeconds(buildingQue.Seconds.Value); } else { bq.CompletetionDate = UTC.AddSeconds(buildingQue.Seconds.Value); } PlanetDAL.AddBuildingQue(bq); return(pl); }
public static List <UserDesigns> GetShipDesignbyUser(int?UserID) { List <UserDesigns> UserDesigns = new List <UserDesigns>(); using (SqlConnection sqlConn = DatabaseHelper.GetConnection()) using (SqlCommand DBCmd = new SqlCommand("dbo.GetShipDesignbyUser", sqlConn)) { SqlDataReader sqlReader = default(SqlDataReader); DBCmd.CommandType = CommandType.StoredProcedure; DBCmd.Parameters.AddWithValue("@UserID", UserID); sqlConn.Open(); sqlReader = DBCmd.ExecuteReader(CommandBehavior.CloseConnection); while (sqlReader.Read()) { UserDesigns UserDesign = new UserDesigns(); UserDesign.ShipDesignID = sqlReader.GetInt32Nullable("ShipDesignID"); UserDesign.UserID = sqlReader.GetInt32Nullable("UserID"); UserDesign.DesignName = sqlReader.GetString("DesignName"); UserDesign.HullID = sqlReader.GetInt32Nullable("HullID"); UserDesign.HullName = sqlReader.GetString("HullName"); UserDesign.ShipYardLevel = sqlReader.GetInt32Nullable("ShipYardLevel"); UserDesign.MaterialCost = sqlReader.GetDoubleNullable("MaterialCost"); UserDesign.MilitaryCost = sqlReader.GetInt32Nullable("MilitaryCost"); UserDesign.Energy = sqlReader.GetDoubleNullable("Energy"); UserDesign.EnergyCost = sqlReader.GetDoubleNullable("EnergyCost"); UserDesign.Laser = sqlReader.GetDoubleNullable("Laser"); UserDesign.Missile = sqlReader.GetDoubleNullable("Missile"); UserDesign.Plasma = sqlReader.GetDoubleNullable("Plasma"); UserDesign.Shields = sqlReader.GetDoubleNullable("Shields"); UserDesign.Armor = sqlReader.GetDoubleNullable("Armor"); UserDesign.Bays = sqlReader.GetDoubleNullable("Bays"); UserDesign.Movement = sqlReader.GetDoubleNullable("Movement"); UserDesign.Colony = sqlReader.GetInt32Nullable("Colony"); UserDesigns.Add(UserDesign); } return(UserDesigns); } }
public static List <UserDesigns> AddShipDesigns(UserDesigns design) { int?ShipDesignID = null; using (SqlConnection sqlConn = DatabaseHelper.GetConnection()) using (SqlCommand DBCmd = new SqlCommand("dbo.AddShipDesigns", sqlConn)) { SqlDataReader sqlReader = default(SqlDataReader); DBCmd.CommandType = CommandType.StoredProcedure; DBCmd.Parameters.AddWithValue("@UserID", design.UserID); DBCmd.Parameters.AddWithValue("@DesignName", design.DesignName); DBCmd.Parameters.AddWithValue("@HullID", design.HullID); DBCmd.Parameters.AddWithValue("@ShipYardLevel", design.ShipYardLevel); DBCmd.Parameters.AddWithValue("@MaterialCost", design.MaterialCost); DBCmd.Parameters.AddWithValue("@MilitaryCost", design.MilitaryCost); DBCmd.Parameters.AddWithValue("@Laser", design.Laser); DBCmd.Parameters.AddWithValue("@Energy", design.Energy); DBCmd.Parameters.AddWithValue("@EnergyCost", design.EnergyCost); DBCmd.Parameters.AddWithValue("@Missile", design.Missile); DBCmd.Parameters.AddWithValue("@Plasma", design.Plasma); DBCmd.Parameters.AddWithValue("@Shields", design.Shields); DBCmd.Parameters.AddWithValue("@Armor", design.Armor); DBCmd.Parameters.AddWithValue("@Bays", design.Bays); DBCmd.Parameters.AddWithValue("@Movement", design.Movement); DBCmd.Parameters.AddWithValue("@Colony", design.Colony); sqlConn.Open(); sqlReader = DBCmd.ExecuteReader(CommandBehavior.CloseConnection); if (sqlReader.Read()) { ShipDesignID = sqlReader.GetInt32Nullable("ShipDesignID"); } } List <UserDesigns> designs = GetShipDesignbyUser(design.UserID); return(designs); }