コード例 #1
0
        /// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2015/10/19 10:44:18</remarks>
        public bool Update(ConfigEquipmentplusEntity entity, DbTransaction trans)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_ConfigEquipmentplus_Update");

            database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, entity.Idx);
            database.AddInParameter(commandWrapper, "@Quality", DbType.Int32, entity.Quality);
            database.AddInParameter(commandWrapper, "@PlusValueMin", DbType.Int32, entity.PlusValueMin);
            database.AddInParameter(commandWrapper, "@PlusValueMax", DbType.Int32, entity.PlusValueMax);
            database.AddInParameter(commandWrapper, "@PlusRateMin", DbType.Int32, entity.PlusRateMin);
            database.AddInParameter(commandWrapper, "@PlusRateMax", DbType.Int32, entity.PlusRateMax);
            database.AddInParameter(commandWrapper, "@SlotMin", DbType.Int32, entity.SlotMin);
            database.AddInParameter(commandWrapper, "@SlotMax", DbType.Int32, entity.SlotMax);
            database.AddInParameter(commandWrapper, "@WashMallCode", DbType.Int32, entity.WashMallCode);
            database.AddInParameter(commandWrapper, "@LockMallCode", DbType.Int32, entity.LockMallCode);
            database.AddInParameter(commandWrapper, "@StarSkillPlusRate", DbType.Int32, entity.StarSkillPlusRate);


            int results = 0;

            if (trans != null)
            {
                results = database.ExecuteNonQuery(commandWrapper, trans);
            }
            else
            {
                results = database.ExecuteNonQuery(commandWrapper);
            }


            return(Convert.ToBoolean(results));
        }
コード例 #2
0
        /// <summary>
        /// 将IDataReader的当前记录读取到ConfigEquipmentplusEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public ConfigEquipmentplusEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new ConfigEquipmentplusEntity();

            obj.Idx               = (System.Int32)reader["Idx"];
            obj.Quality           = (System.Int32)reader["Quality"];
            obj.PlusValueMin      = (System.Int32)reader["PlusValueMin"];
            obj.PlusValueMax      = (System.Int32)reader["PlusValueMax"];
            obj.PlusRateMin       = (System.Int32)reader["PlusRateMin"];
            obj.PlusRateMax       = (System.Int32)reader["PlusRateMax"];
            obj.SlotMin           = (System.Int32)reader["SlotMin"];
            obj.SlotMax           = (System.Int32)reader["SlotMax"];
            obj.WashMallCode      = (System.Int32)reader["WashMallCode"];
            obj.LockMallCode      = (System.Int32)reader["LockMallCode"];
            obj.StarSkillPlusRate = (System.Int32)reader["StarSkillPlusRate"];

            return(obj);
        }
コード例 #3
0
        EquipmentProperty RandomProperty(int equipmentId, out ConfigEquipmentplusEntity plusEntity, int level = 0)
        {
            var equipEntity = GetEquipment(equipmentId);

            if (equipEntity == null)
            {
                throw new CacheException("can't find equip,id:" + equipmentId);
            }
            plusEntity = GetEquipmentPlus(equipEntity.Quality);
            if (plusEntity == null)
            {
                throw new CacheException("can't find equip plus,quality:" + equipEntity.Quality);
            }
            var itemProperty = new EquipmentProperty();

            itemProperty.PropertyPluses = new List <PropertyPlusEntity>(2);
            var plus1 = new PropertyPlusEntity(EnumPlusType.Abs, equipEntity.PropertyType1, RandomPlus1(plusEntity));

            itemProperty.PropertyPluses.Add(plus1);
            var plus2 = new PropertyPlusEntity(EnumPlusType.Percent, equipEntity.PropertyType2, RandomPlus2(plusEntity));

            itemProperty.PropertyPluses.Add(plus2);

            if (level > 0)
            {
                var upgradeEntity = PandoraCache.Instance.GetEquipmentUpgradeEntityByTarget(equipEntity.Quality, level);
                if (upgradeEntity != null)
                {
                    itemProperty.PrecisionCastingPropertis =
                        new List <PrecisionCastingPropertyEntity>(upgradeEntity.PropertyNum);

                    for (int i = 0; i < upgradeEntity.PropertyNum; i++)
                    {
                        var plus = AddPrecisionCastingProperty(itemProperty, equipEntity.Quality);
                        if (plus != null)
                        {
                            itemProperty.PrecisionCastingPropertis.Add(plus);
                        }
                    }
                }
            }
            return(itemProperty);
        }
コード例 #4
0
        public EquipmentProperty RandomEquipmentProperty(int equipmentId, int level = 0, int slotColorCount = 0)
        {
            ConfigEquipmentplusEntity plusEntity = null;
            var itemProperty = RandomProperty(equipmentId, out plusEntity, level);

            if (plusEntity.SlotMax > 0)
            {
                if (slotColorCount > plusEntity.SlotMax)
                {
                    slotColorCount = plusEntity.SlotMax;
                }

                int slotCount = RandomHelper.GetInt32(plusEntity.SlotMin, plusEntity.SlotMax);
                if (slotCount < slotColorCount)
                {
                    slotCount = slotColorCount;
                }
                if (slotCount > 0)
                {
                    itemProperty.EquipmentSlots = new List <EquipmentSlotEntity>(slotCount);
                    for (int i = 0; i < slotCount; i++)
                    {
                        if (slotColorCount > 0)
                        {
                            itemProperty.EquipmentSlots.Add(new EquipmentSlotEntity()
                            {
                                SlotId = i + 1, Color = 1
                            });
                            slotColorCount = slotColorCount - 1;
                        }
                        else
                        {
                            itemProperty.EquipmentSlots.Add(new EquipmentSlotEntity()
                            {
                                SlotId = i + 1, Color = RandomSlotColor()
                            });
                        }
                    }
                }
            }

            return(itemProperty);
        }
コード例 #5
0
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="idx">idx</param>
        /// <returns>ConfigEquipmentplusEntity</returns>
        /// <remarks>2015/10/19 10:44:18</remarks>
        public ConfigEquipmentplusEntity GetById(System.Int32 idx)
        {
            var database = new SqlDatabase(this.ConnectionString);

            DbCommand commandWrapper = database.GetStoredProcCommand("P_ConfigEquipmentplus_GetById");

            database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx);


            ConfigEquipmentplusEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
コード例 #6
0
        public EquipmentProperty RandomEquipmentPropertyForNpc(int equipmentId)
        {
            ConfigEquipmentplusEntity plusEntity = null;

            return(RandomProperty(equipmentId, out plusEntity));
        }
コード例 #7
0
 public int RandomPlus2(ConfigEquipmentplusEntity plusEntity)
 {
     return(RandomHelper.GetInt32(plusEntity.PlusRateMin, plusEntity.PlusRateMax));
 }
コード例 #8
0
 /// <summary>
 /// Update
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 /// <remarks>2015/10/19 10:44:18</remarks>
 public bool Update(ConfigEquipmentplusEntity entity)
 {
     return(Update(entity, null));
 }
コード例 #9
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="entity"></param>
 /// <param name="trans">The trans.</param>
 /// <returns></returns>
 /// <remarks>2015/10/19 10:44:18</remarks>
 public bool Insert(ConfigEquipmentplusEntity entity)
 {
     return(Insert(entity, null));
 }
コード例 #10
0
        public static bool Update(ConfigEquipmentplusEntity configEquipmentplusEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new ConfigEquipmentplusProvider(zoneId);

            return(provider.Update(configEquipmentplusEntity, trans));
        }