/// <summary></summary> /// <returns>The <see cref="List"/>.</returns> public List<ShipModel> GetAllShips() { List<ShipModel> ships = new List<ShipModel>(); ShipModel shipModel = null; string query = "select s.*, st.* from Ship s join shiptype st on (s.shiptypetype = st.type) "; OracleCommand command = new OracleCommand(query, DatabaseSettings.Connection); OracleDataReader reader = command.ExecuteReader(); while (reader.Read()) { ShipTypeModel.ShipTypeEnum shipType; ShipTypeModel.ShipTypeEnum.TryParse(reader[2].ToString(), true, out shipType); ShipTypeModel shipTypeModel = new ShipTypeModel(shipType, Convert.ToInt32(reader[6]), Convert.ToInt32(reader[7])); shipModel = new ShipModel(Convert.ToInt32(reader[0]), reader[1].ToString(), shipTypeModel, Convert.ToInt32(reader[3]), Convert.ToInt32(reader[4])); ships.Add(shipModel); } return ships; }
/// <summary></summary> /// <param name="description">The description.</param> /// <param name="x">The x.</param> /// <param name="y">The y.</param> /// <param name="startDate">The start date.</param> /// <param name="endDate">The end date.</param> /// <param name="ship">The ship.</param> /// <returns>The <see cref="MissionModel"/>.</returns> public MissionModel CreateHopeMission(string description, int x, int y, DateTime startDate, DateTime endDate, ShipModel ship) { MissionModel missionModel = new MissionModel(0, ship.ID, description, startDate, x, y, MissionModel.MissionType.Hope, endDate); try { string query = string.Format( "INSERT INTO MISSION (ID, SHIPID, STARTDATE, DISCRIPTION, X, Y, ACTIVE, MISSIONTYPE, APPROVED, ENDDATE) " + "VALUES (seq_mission.nextval, '{0}', TO_TIMESTAMP('{1} 11:39:02.070000000', 'YYYY-MM-DD HH24:MI:SS.FF'), '{2}', '{3}', '{4}', '0', 'HOPE', '0', TO_DATE('{5} 11:39:31', 'YYYY-MM-DD HH24:MI:SS'))", missionModel.ShipId, missionModel.StartDate.ToShortDateString(), missionModel.Description, missionModel.X, missionModel.Y, missionModel.EndDate.ToShortDateString()); OracleCommand command = new OracleCommand(query, DatabaseSettings.Connection); command.ExecuteNonQuery(); DatabaseSettings.Commit(); return missionModel; } catch (Exception) { return null; } }
/// <summary></summary> /// <param name="AvailableCrew">The available crew.</param> /// <param name="ship">The ship.</param> /// <returns>The <see cref="bool"/>.</returns> public bool ManShip(List<CrewMemberModel> AvailableCrew, ShipModel ship ) { List<CrewMemberModel> shipsCrew = new List<CrewMemberModel>(); // First search for a captain foreach (CrewMemberModel crewMemberModel in AvailableCrew) { if (crewMemberModel.Job == CrewMemberModel.JobEnum.Kapitein) { shipsCrew.Add(crewMemberModel); break; } } int i = 0; foreach (CrewMemberModel crewMemberModel in AvailableCrew) { if (i < ship.Type.MaxCrew) { if (crewMemberModel.Job == CrewMemberModel.JobEnum.Bioloog || crewMemberModel.Job == CrewMemberModel.JobEnum.Politie) { shipsCrew.Add(crewMemberModel); i++; } } } foreach (CrewMemberModel crewMemberModel in shipsCrew) { string query = string.Format( "insert into crewmember_ship(shipID,crewmemberID) values({0},{1})", ship.ID, crewMemberModel.Id); OracleCommand command = new OracleCommand(query, DatabaseSettings.Connection); command.ExecuteNonQuery(); } return true; }
/// <summary>The get ship by id.</summary> /// <param name="id">The id.</param> /// <returns>The <see cref="ShipModel"/>.</returns> public ShipModel GetShipById(int id) { ShipModel shipModel = null; string query = string.Format("select s.*, st.* from Ship s join shiptype st on (s.shiptypetype = st.type) where id = {0}", id); OracleCommand command = new OracleCommand(query, DatabaseSettings.Connection); OracleDataReader reader = command.ExecuteReader(); while (reader.Read()) { ShipTypeModel.ShipTypeEnum shipType; ShipTypeModel.ShipTypeEnum.TryParse(reader[2].ToString(), true, out shipType); ShipTypeModel shipTypeModel = new ShipTypeModel(shipType, Convert.ToInt32(reader[6]), Convert.ToInt32(reader[7])); shipModel = new ShipModel(Convert.ToInt32(reader[0]), reader[1].ToString(), shipTypeModel, Convert.ToInt32(reader[3]), Convert.ToInt32(reader[4])); } return shipModel; }