public IHttpActionResult AddShipDesigns([FromBody] UserDesigns design)
 {
     try
     {
         return(Ok(ShipDAL.AddShipDesigns(design)));
     }
     catch (Exception e)
     {
         return(InternalServerError(e));
     }
 }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
                }
        }
Exemple #4
0
        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);
        }