public GangerWeapon AddGangerWeapon(GangerWeapon gangerWeapon) { gangerWeapon.GangerWeaponId = "AAAA-BBBB-CCCC"; _gangerWeapons.Add(gangerWeapon); return(gangerWeapon); }
/// <summary> /// Add ganger weapon /// </summary> /// <param name="gangerWeapon">Ganger weapon</param> /// <returns>Added ganger weapon</returns> public GangerWeapon AddGangerWeapon(GangerWeapon gangerWeapon) { using (var connection = new SqlConnection(_connectionString)) { using (var command = new SqlCommand("GangerWeapons_AddGangerWeapon", connection)) { connection.Open(); command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@GangerId", SqlDbType.NVarChar, 100).Value = gangerWeapon.GangerId; command.Parameters.Add("@WeaponId", SqlDbType.Int).Value = gangerWeapon.Weapon.WeaponId; var gangerWeaponId = command.Parameters.Add("@GangerWeaponId", SqlDbType.NVarChar, 100); gangerWeaponId.Direction = ParameterDirection.Output; var reader = command.ExecuteNonQuery(); gangerWeapon.GangerWeaponId = (string)gangerWeaponId.Value; return(gangerWeapon); } } }
private GangerWeapon GetGangerWeaponLimitedInformationFromReader(SqlDataReader reader) { var gangerWeapon = new GangerWeapon(); if (reader.Read()) { var value = reader.GetOrdinal("gangerId"); gangerWeapon.GangerId = reader.GetString(value); value = reader.GetOrdinal("weaponName"); gangerWeapon.Weapon.Name = reader.GetString(value); value = reader.GetOrdinal("cost"); gangerWeapon.Cost = (int)reader.GetInt32(value); } else { return(null); } return(gangerWeapon); }
/// <summary> /// Add ganger weapon (equip weapon to ganger) /// </summary> /// <param name="gangerId">Ganger Id</param> /// <param name="gangWeaponId">Ganger weapon</param> /// <returns>Added ganger weapon</returns> public GangerWeapon AddGangerWeapon(string gangerId, string gangWeaponId) { var ganger = _gangerProvider.GetByGangerId(gangerId); var gangWeapon = _weaponProvider.GetGangStash(ganger.GangId) .FirstOrDefault(gw => gw.GangWeaponId == gangWeaponId); if (gangWeapon == null) { throw new ArgumentException($"GangWeapon with id {gangWeaponId} was not found."); } _weaponProvider.RemoveGangWeapon(gangWeaponId); var gangerWeapon = new GangerWeapon() { Cost = gangWeapon.Cost, GangerId = ganger.GangerId, Weapon = gangWeapon.Weapon, }; return(_weaponProvider.AddGangerWeapon(gangerWeapon)); }
private GangerWeapon GetGangerWeaponFromReader(SqlDataReader reader) { var gangerWeapon = new GangerWeapon(); if (reader.Read()) { var value = reader.GetOrdinal("weaponId"); gangerWeapon.Weapon.WeaponId = (WeaponEnum)reader.GetInt32(value); value = reader.GetOrdinal("weaponName"); gangerWeapon.Weapon.Name = reader.GetString(value); value = reader.GetOrdinal("shortRange"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.ShortRange = reader.GetString(value); } value = reader.GetOrdinal("longRange"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.LongRange = reader.GetString(value); } value = reader.GetOrdinal("hitShort"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.HitShort = reader.GetString(value); } value = reader.GetOrdinal("hitLong"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.HitLong = reader.GetString(value); } value = reader.GetOrdinal("strength"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.Strength = reader.GetString(value); } value = reader.GetOrdinal("damage"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.Damage = reader.GetString(value); } value = reader.GetOrdinal("saveMod"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.SaveMod = reader.GetString(value); } value = reader.GetOrdinal("ammoRoll"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.AmmoRoll = reader.GetString(value); } value = reader.GetOrdinal("type"); gangerWeapon.Weapon.WeaponType = (WeaponType)reader.GetInt32(value); value = reader.GetOrdinal("cost"); gangerWeapon.Weapon.Cost = reader.GetString(value); value = reader.GetOrdinal("availability"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.WeaponAvailability = (WeaponAvailability)reader.GetInt32(value); } value = reader.GetOrdinal("description"); if (!reader.IsDBNull(value)) { gangerWeapon.Weapon.SpecialRules = reader.GetString(value); } value = reader.GetOrdinal("gangerWeaponId"); gangerWeapon.GangerWeaponId = reader.GetString(value); value = reader.GetOrdinal("gangerId"); gangerWeapon.GangerId = reader.GetString(value); } else { return(null); } return(gangerWeapon); }