Beispiel #1
0
 public CoachFrame(Guid managerId)
 {
     _entity = CoachManagerMgr.GetById(managerId);
     if (_entity == null)
     {
         _entity  = new CoachManagerEntity(managerId);
         isInsert = true;
     }
     AnalyseTurntable();
 }
Beispiel #2
0
        /// <summary>
        /// 教练升级
        /// </summary>
        /// <param name="managerId"></param>
        /// <param name="coachId"></param>
        /// <returns></returns>
        public CoachGetInfoResponse CoachUpgrade(Guid managerId, int coachId)
        {
            var response = new CoachGetInfoResponse();

            response.Data = new CoachGetInfoEntity();
            try
            {
                var frame = GetFrame(managerId);
                var info  = frame.GetCoachInfo(coachId);
                if (info == null)
                {
                    return(ResponseHelper.Create <CoachGetInfoResponse>(MessageCode.CoachNotAlready));
                }
                var manager = ManagerCore.Instance.GetManager(managerId);
                if (manager == null)
                {
                    return(ResponseHelper.Create <CoachGetInfoResponse>(MessageCode.NbParameterError));
                }
                if (info.CoachLevel >= manager.Level)
                {
                    return(ResponseHelper.Create <CoachGetInfoResponse>(MessageCode.LackofManagerLevel));
                }
                if (frame.Entity == null)
                {
                    return(ResponseHelper.Create <CoachGetInfoResponse>(MessageCode.NbParameterError));
                }
                if (frame.Entity.HaveExp <= 0)
                {
                    return(ResponseHelper.Create <CoachGetInfoResponse>(MessageCode.CoachExpNot));
                }
                var costExp = frame.CoachUpgarde(coachId);
                if (!frame.Save())
                {
                    return(ResponseHelper.Create <CoachGetInfoResponse>(MessageCode.NbUpdateFail));
                }
                //插入扣除记录
                if (costExp > 0)
                {
                    CoachManagerMgr.CostExpRecord(managerId, costExp);
                }
                response.Data.CoachInfo     = frame.GetCoachInfo(coachId);
                response.Data.EnableCoachId = frame.Entity.EnableCoachId;
                response.Data.SumExp        = frame.Entity.HaveExp;

                MatchDataCacheHelper.DeleteTeammemberAndSolutionCache(managerId, true);
                response.Data.Kpi = ManagerCore.Instance.GetKpi(managerId);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("教练升级", ex);
                response.Code = (int)MessageCode.NbParameterError;
            }
            return(response);
        }
Beispiel #3
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns></returns>
        public bool Save(DbTransaction trans = null)
        {
            var coachString = GenerateFightMapString();

            _entity.CoachString = coachString;
            _entity.UpdateTime  = DateTime.Now;
            if (isInsert)
            {
                if (!CoachManagerMgr.Insert(_entity, trans))
                {
                    return(false);
                }
            }
            else if (!CoachManagerMgr.Update(_entity, trans))
            {
                return(false);
            }

            return(true);
        }