/// <summary>
        /// 带事务的Update
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="trans">The trans.</param>
        /// <returns></returns>
        /// <remarks>2015/10/18 15:50:38</remarks>
        public bool Update(TeammemberGrowEntity entity, DbTransaction trans = null)
        {
            var       database       = new SqlDatabase(this.ConnectionString);
            DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_TeammemberGrow_Update");

            database.AddInParameter(commandWrapper, "@Idx", DbType.Guid, entity.Idx);
            database.AddInParameter(commandWrapper, "@ManagerId", DbType.Guid, entity.ManagerId);
            database.AddInParameter(commandWrapper, "@GrowLevel", DbType.Int32, entity.GrowLevel);
            database.AddInParameter(commandWrapper, "@GrowNum", DbType.Int32, entity.GrowNum);
            database.AddInParameter(commandWrapper, "@DayGrowCount", DbType.Int32, entity.DayGrowCount);
            database.AddInParameter(commandWrapper, "@DayFastGrowCount", DbType.Int32, entity.DayFastGrowCount);
            database.AddInParameter(commandWrapper, "@DayFreeFastGrowCount", DbType.Int32, entity.DayFreeFastGrowCount);
            database.AddInParameter(commandWrapper, "@RecordDate", DbType.DateTime, entity.RecordDate);
            database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime);


            int results = 0;

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

            entity.Idx = (System.Guid)database.GetParameterValue(commandWrapper, "@Idx");

            return(Convert.ToBoolean(results));
        }
Esempio n. 2
0
        void CalTeammemberGrowData(TeammemberGrowEntity entity)
        {
            if (entity.RecordDate != DateTime.Now.Date)
            {
                entity.RecordDate           = DateTime.Now.Date;
                entity.DayFastGrowCount     = 0;
                entity.DayFreeFastGrowCount = 0;
                entity.DayGrowCount         = 0;
            }
            else
            {
                CalFreeFastGrowData(entity);
            }
            //根据等级获取成长配置数据
            DicGrowEntity dicGrow = CacheFactory.TeammemberCache.GetGrow(entity.GrowLevel);

            if (dicGrow != null)
            {
                entity.BreakGrowNum  = dicGrow.GrowNum;
                entity.BreakRate     = dicGrow.BreakRate;
                entity.GrowCostReiki = dicGrow.Reiki;
                if (entity.FreeFastGrowCount < 1)
                {
                    entity.FastGrowCostReiki = dicGrow.FastReiki;
                }
                else
                {
                    entity.FastGrowCostReiki = 0;
                }
            }
        }
Esempio n. 3
0
 void CalFreeFastGrowData(TeammemberGrowEntity entity)
 {
     if (entity.DayGrowCount >= _growCountToFast && entity.DayFreeFastGrowCount <= 0)
     {
         entity.FreeFastGrowCount = 1;
         entity.FastGrowCostReiki = 0;
     }
 }
Esempio n. 4
0
        public static List <TeammemberEntity> GetRawMembers(Guid managerId, bool syncFlag = true, string siteId = "")
        {
            try
            {
                List <TeammemberEntity> list = null;
                if (syncFlag)
                {
                    list = MemcachedFactory.TeammembersClient.Get <List <TeammemberEntity> >(managerId);
                }
                if (null != list && list.Count > 0)
                {
                    return(list);
                }
                list = TeammemberMgr.GetByManager(managerId, ShareUtil.GetTableMod(managerId), siteId);

                TeammemberGrowEntity grow = null;
                var growList = TeammemberGrowMgr.GetByManager(managerId, siteId);
                foreach (var entity in list)
                {
                    if (!entity.IsHirePlayer)
                    {
                        grow = growList.Find(d => d.Idx == entity.Idx);
                        if (grow != null)
                        {
                            entity.GrowLevel = grow.GrowLevel;
                        }
                    }
                    if (entity.UsedPlayerCard != null && entity.UsedPlayerCard.Length > 0)
                    {
                        entity.PlayerCard = SerializationHelper.FromByte <PlayerCardUsedEntity>(entity.UsedPlayerCard);
                    }
                    if (entity.UsedEquipment != null && entity.UsedEquipment.Length > 0)
                    {
                        entity.Equipment = SerializationHelper.FromByte <EquipmentUsedEntity>(entity.UsedEquipment);
                    }
                    TeammemberDataHelper.CalPropertyCount(entity);
                    if (entity.IsHirePlayer)
                    {
                        TeammemberDataHelper.CalMaxGrow(entity, null);
                    }
                    else
                    {
                        TeammemberDataHelper.CalMaxGrow(entity, grow, siteId);
                    }
                    entity.RawProperty = new TeammemberPropertyEntity(entity);
                }
                if (syncFlag && list.Count > 0)
                {
                    MemcachedFactory.TeammembersClient.Set(managerId, list);
                }
                return(list);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("GetRawMembers", string.Format("mid:{0}", managerId), ex);
                throw ex;
            }
        }
Esempio n. 5
0
        public TeammemberGrowEntity GetTeammemberGrow(Guid managerId, Guid teammemberId)
        {
            TeammemberGrowEntity entity = TeammemberGrowMgr.GetById(teammemberId);

            if (entity == null || entity.ManagerId != managerId)
            {
                return(null);
            }
            CalTeammemberGrowData(entity);
            return(entity);
        }
Esempio n. 6
0
        public static void CalMaxGrow(TeammemberEntity entity, TeammemberGrowEntity grow, string siteId = "")
        {
            int growLevel = 1;

            if (grow == null)
            {
                grow = TeammemberGrowMgr.GetById(entity.Idx, siteId);
            }
            if (grow != null)
            {
                growLevel = grow.GrowLevel;
            }
            var playerCache = CacheFactory.PlayersdicCache.GetPlayer(entity.PlayerId);
        }
        /// <summary>
        /// 将IDataReader的当前记录读取到TeammemberGrowEntity 对象
        /// </summary>
        /// <param name="reader"></param>
        /// <returns></returns>
        public TeammemberGrowEntity LoadSingleRow(IDataReader reader)
        {
            var obj = new TeammemberGrowEntity();

            obj.Idx                  = (System.Guid)reader["Idx"];
            obj.ManagerId            = (System.Guid)reader["ManagerId"];
            obj.GrowLevel            = (System.Int32)reader["GrowLevel"];
            obj.GrowNum              = (System.Int32)reader["GrowNum"];
            obj.DayGrowCount         = (System.Int32)reader["DayGrowCount"];
            obj.DayFastGrowCount     = (System.Int32)reader["DayFastGrowCount"];
            obj.DayFreeFastGrowCount = (System.Int32)reader["DayFreeFastGrowCount"];
            obj.RecordDate           = (System.DateTime)reader["RecordDate"];
            obj.RowTime              = (System.DateTime)reader["RowTime"];

            return(obj);
        }
        /// <summary>
        /// GetById
        /// </summary>
        /// <param name="idx">idx</param>
        /// <returns>TeammemberGrowEntity</returns>
        /// <remarks>2015/10/18 15:50:38</remarks>
        public TeammemberGrowEntity GetById(System.Guid idx)
        {
            var database = new SqlDatabase(this.ConnectionString);

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

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


            TeammemberGrowEntity obj = null;

            using (IDataReader reader = database.ExecuteReader(commandWrapper))
            {
                if (reader.Read())
                {
                    obj = LoadSingleRow(reader);
                }
            }
            return(obj);
        }
Esempio n. 9
0
        public static bool Update(TeammemberGrowEntity teammemberGrowEntity, DbTransaction trans = null, string zoneId = "")
        {
            var provider = new TeammemberGrowProvider(zoneId);

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