示例#1
0
        public GangerWeapon AddGangerWeapon(GangerWeapon gangerWeapon)
        {
            gangerWeapon.GangerWeaponId = "AAAA-BBBB-CCCC";
            _gangerWeapons.Add(gangerWeapon);

            return(gangerWeapon);
        }
示例#2
0
        /// <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);
                }
            }
        }
示例#3
0
        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);
        }
示例#4
0
        /// <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));
        }
示例#5
0
        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);
        }