public CoachFrame(Guid managerId) { _entity = CoachManagerMgr.GetById(managerId); if (_entity == null) { _entity = new CoachManagerEntity(managerId); isInsert = true; } AnalyseTurntable(); }
/// <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); }
/// <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); }