Example #1
0
        DTOBuffMemberView GetMembers4Db(Guid managerId, ManagerSkillUseWrap use)
        {
            if (!FrameConfig.SWAPBuffDataReadDb ||
                null == use || use.Raw.SyncFlag != 0)
            {
                return(null);
            }
            var             rawMembers = BuffUtil.GetRawMembers(managerId, true);
            var             members    = NbManagerbuffmemberMgr.GetByMid(managerId, ShareUtil.GetTableMod(managerId));
            var             extra      = NbManagerextraMgr.GetById(managerId);
            var             dic        = new Dictionary <Guid, NbManagerbuffmemberEntity>(members.Count);
            DicPlayerEntity cfg        = null;

            foreach (var item in members)
            {
                cfg = PlayersdicCache.Instance.GetPlayer(Math.Abs(item.Pid));
                if (null == cfg)
                {
                    continue;
                }
                FillBuffMemberProp(item, cfg);
                item.ReadySkillList = item.ReadySkills.Split(',').ToList();
                item.LiveSkillList  = item.LiveSkills.Split(',').ToList();
            }
            var data = CreateBuffView(managerId, use, rawMembers.ToDictionary(i => i.Idx, i => i));

            data.Kpi          = extra.Kpi;
            data.SyncIdleFlag = false;
            data.BuffMembers  = dic;
            return(data);
        }
Example #2
0
        public DTOBuffMemberView RebuildMembers(Guid managerId, ArenaTeammemberFrame arenaFrame)
        {
            const bool homeFlag = true;
            var        buffPack = new DTOBuffPack();
            var        use      = ManagerUtil.GetSkillUseWrap(managerId);
            var        poolView = BuffPoolCore.Instance().GetRawPools(managerId, "", true);

            FillBuffPack(buffPack, homeFlag, managerId, arenaFrame);
            TeammemberDataHelper.FillTeammemberData(buffPack, homeFlag);
            use.OnPids = buffPack.GetOnPids(homeFlag).Keys.ToArray();
            BuffUtil.GetManagerSkillList(managerId, use);
            BuffCache.Instance().FillRankedSkillList(buffPack.GetSBM(homeFlag), use.ManagerSkills);
            BuffUtil.FillLiveSkillList(use, poolView.LiveSkills);
            var data = CreateBuffView(managerId, use, buffPack.GetRawMembers(homeFlag));

            data.PoolSyncTime    = poolView.SyncTime;
            data.PoolSyncVersion = poolView.SyncVersion;
            FillBuffView(data, buffPack, homeFlag, false, 0);
            BuffFlowFacade.ProcManagerBuff(buffPack, homeFlag, data.FirmSkillList, false);
            BuffFlowFacade.ProcPlayerBuff(buffPack, homeFlag, data.BuffMembers.Values, false);
            BuffFlowFacade.ProcManagerBuff(buffPack, homeFlag, poolView);
            FillBuffView(data, buffPack, homeFlag, true, 1);
            data.TalentType = BuffUtil.GetTalentType(managerId);
            NbManagerextraMgr.UpdateKpi(managerId, data.Kpi);
            data.SyncIdleFlag = false;
            s_memBuffMember.Set(arenaFrame.ArenaType.ToString() + managerId.ToString(), data);
            return(data);
        }
Example #3
0
        public static bool CheckFunction(string siteId, Guid managerId, EnumOpenFunction enumOpenFunction)
        {
            var managerExtra = NbManagerextraMgr.GetById(managerId, siteId);
            var func         = managerExtra.FunctionList;

            return(CheckFunction(func, (int)enumOpenFunction));
        }
Example #4
0
        public static List <PopMessageEntity> SaveManagerAfter(NbManagerEntity manager, NbManagerextraEntity extra, DbTransaction transaction)
        {
            if (manager == null)
            {
                return(null);
            }
            List <PopMessageEntity> popList = new List <PopMessageEntity>();

            if (manager.AddCoin > 0 || manager.AddExp > 0)
            {
                //ShadowMgr.SaveCoinCharge(manager.Idx, manager.AddCoin, manager.AddExp, manager.IsLevelup, manager.Level, manager.CoinSourceType, manager.CoinOrderId);
            }
            if (manager.IsLevelup)
            {
                // ChatHelper.SendOpenLevelGiftPop(manager);
                if (extra == null)
                {
                    extra = ManagerCore.Instance.GetManagerExtra(manager.Idx);
                }
                CalCurrentStamina(extra, manager.Level, manager.VipLevel);
                if (extra.Stamina < extra.StaminaMax)
                {
                    extra.Stamina = extra.StaminaMax;
                    // extra.Stamina += ManagerLevelupAddStamina;
                    //if (extra.Stamina > extra.StaminaMax)
                    //    extra.Stamina = extra.StaminaMax;
                    extra.ResumeStaminaTime = DateTime.Now;
                    NbManagerextraMgr.Update(extra, transaction);
                }
            }
            DeleteOpenFunctionCache(manager.Idx);
            manager.IsLevelup = false;
            return(popList);
        }
Example #5
0
        public static NBSolutionInfo GetSolutionInfo(Guid managerId)
        {
            var solution = GetSolution(managerId);

            if (solution == null)
            {
                return(null);
            }
            var manager = GetManager(managerId);

            if (manager == null)
            {
                return(null);
            }

            var solutionInfo = new NBSolutionInfo();

            solutionInfo.FormationId   = solution.FormationId;
            solutionInfo.PlayerString  = solution.PlayerString;
            solutionInfo.TeammemberMax = manager.TeammemberMax;
            solutionInfo.VeteranCount  = solution.VeteranCount;
            int veteranCount = NbManagerextraMgr.GetById(managerId).VeteranNumber;

            solutionInfo.MaxVeteranCount = veteranCount < _maxVeteranCount ? _maxVeteranCount : veteranCount;
            solutionInfo.ClothId         = BuffPoolCore.Instance().GetManagerClothId(managerId, null);
            solutionInfo.Teammembers     = GetSolutionTeammembers(managerId);
            return(solutionInfo);
        }
Example #6
0
        MessageCode Tran_SaveMatch(DbTransaction transaction, NbManagerEntity manager, NbManagerextraEntity managerex, BaseMatchData pkmatchData,
                                   Guid lotteryMatchId, int win, int lose, int draw, int prizeExp, int prizeCoin, int prizeItemCode, string prizeItemString
                                   , bool isrevenge, long revengeRecordId, ref long outRevengeRecordId, PlayerkillInfoEntity info, int prizeItemCount)
        {
            if (prizeCoin > 0 || prizeExp > 0)
            {
                if (!ManagerUtil.SaveManagerData(manager, managerex, transaction))
                {
                    return(MessageCode.NbUpdateFail);
                }
                else
                {
                    ManagerUtil.SaveManagerAfter(manager, managerex, transaction);
                }
                if (!NbManagerextraMgr.Update(managerex, transaction))
                {
                    return(MessageCode.NbUpdateFail);
                }
            }
            PlayerkillInfoMgr.Update(info);
            PlayerkillInfoMgr.SaveFightResult(pkmatchData.Home.ManagerId, manager.Logo, pkmatchData.Away.ManagerId, lotteryMatchId,
                                              win, lose, draw, DateTime.Now,
                                              pkmatchData.MatchId, pkmatchData.Home.Name, pkmatchData.Away.Name,
                                              pkmatchData.Home.Score, pkmatchData.Away.Score, prizeExp, prizeCoin,
                                              prizeItemCode
                                              , prizeItemString, isrevenge, revengeRecordId, prizeItemCount, ref outRevengeRecordId, transaction);

            return(MessageCode.Success);
        }
Example #7
0
 private MessageCode SaveMatchConfirm(NbManagerEntity manager, ItemPackageFrame package, LeagueRecordEntity leagueRecordInfo,
                                      LeagueManagerrecordEntity nextManagerRecord, LeagueManagerrecordEntity leagueManagerRecord, int point,
                                      bool isUpdatenextManagerRecord, LaegueManagerinfoEntity leagueManagerInfo, LeagueFightMapFrame fightMap, NbManagerextraEntity managerExtra, LeagueWincountrecordEntity leagueWinCount, DbTransaction trans)
 {
     if (!ManagerUtil.SaveManagerData(manager, managerExtra, trans))
     {
         return(MessageCode.NbUpdateFail);
     }
     if (!NbManagerextraMgr.Update(managerExtra, trans))
     {
         return(MessageCode.NbUpdateFail);
     }
     if (package != null)
     {
         if (!package.Save(trans))
         {
             return(MessageCode.NbUpdateFail);
         }
         package.Shadow.Save();
     }
     if (!LeagueRecordMgr.Update(leagueRecordInfo, trans))
     {
         return(MessageCode.NbUpdateFail);
     }
     if (isUpdatenextManagerRecord)
     {
         if (nextManagerRecord != null)
         {
             if (!LeagueManagerrecordMgr.Update(nextManagerRecord, trans))
             {
                 return(MessageCode.NbUpdateFail);
             }
         }
     }
     if (!LaegueManagerinfoMgr.Update(leagueManagerInfo, trans))
     {
         return(MessageCode.NbUpdateFail);
     }
     if (!LeagueManagerrecordMgr.Update(leagueManagerRecord, trans))
     {
         return(MessageCode.NbUpdateFail);
     }
     if (point > 0)
     {
         var code = PayCore.Instance.AddBonus(manager.Idx, point, EnumChargeSourceType.LeaguePrize,
                                              ShareUtil.GenerateComb().ToString(), trans);
         return(code);
     }
     if (!fightMap.SaveFIghtMap(trans))
     {
         return(MessageCode.NbUpdateFail);
     }
     if (!LeagueWincountrecordMgr.Update(leagueWinCount, trans))
     {
         return(MessageCode.NbUpdateFail);
     }
     return(MessageCode.Success);
 }
Example #8
0
        public static int GetTalentType(Guid managerId, string siteId = "")
        {
            var extra = NbManagerextraMgr.GetById(managerId, siteId);

            if (null == extra)
            {
                return(0);
            }
            return(extra.SkillType);
        }
Example #9
0
        public static int GetKpi(Guid managerId, string siteId = "")
        {
            var extra = NbManagerextraMgr.GetById(managerId, siteId);

            if (extra != null)
            {
                return(extra.Kpi);
            }
            return(0);
        }
Example #10
0
        public static List <PopMessageEntity> SaveManagerAfter(NbManagerEntity manager, bool sendByChat, NbManagerextraEntity extra = null, int currentPoint = -1, int tourLeagueId = -1)
        {
            if (manager == null)
            {
                return(null);
            }
            List <PopMessageEntity> popList = new List <PopMessageEntity>();

            if (manager.AddCoin > 0 || manager.AddExp > 0)
            {
                //ShadowMgr.SaveCoinCharge(manager.Idx, manager.AddCoin, manager.AddExp, manager.IsLevelup, manager.Level, manager.CoinSourceType, manager.CoinOrderId);
            }
            if (manager.IsLevelup)
            {
                // ChatHelper.SendOpenLevelGiftPop(manager);
                if (extra == null)
                {
                    extra = ManagerCore.Instance.GetManagerExtra(manager.Idx);
                }
                CalCurrentStamina(extra, manager.Level, manager.VipLevel);
                if (extra.Stamina < extra.StaminaMax)
                {
                    extra.Stamina = extra.StaminaMax;
                    //extra.Stamina += ManagerLevelupAddStamina;
                    //if (extra.Stamina > extra.StaminaMax)
                    //    extra.Stamina = extra.StaminaMax;
                    NbManagerextraMgr.Update(extra);
                }
            }

            //var pop1 = ChatHelper.SendUpdateManagerInfoPop(manager, extra, sendByChat, currentPoint, tourLeagueId);
            //if (pop1 != null)
            //    popList.Add(pop1);
            //var pop2 = ChatHelper.SendOpenFuncPop(manager, sendByChat);
            //if (pop2 != null)
            //    popList.Add(pop2);
            //var pop3 = ChatHelper.SendOpenTaskPop(manager, sendByChat);
            //if (pop3 != null)
            //    popList.Add(pop3);

            DeleteOpenFunctionCache(manager.Idx);
            manager.IsLevelup = false;
            return(popList);
        }
Example #11
0
        public PriendInvitePrizeList FriendInvitePrizeList(string account, Guid managerId)
        {
            PriendInvitePrizeList response = new PriendInvitePrizeList();

            response.ItemList = new List <ItemInfo>();
            //获取成功邀请人数
            var count = NbManagerextraMgr.GetInviteFriendCount(managerId);

            response.InviteCount = count;
            var result = CacheFactory.FriendCache.GetAllPrize();

            ConfigFriendinviteprizeEntity[] dic = new ConfigFriendinviteprizeEntity[result.Count];
            result.CopyTo(dic);
            if (dic != null && dic.Length != 0)
            {
                response.IsInviteAccomplish = false;
                //获取领取奖励记录
                var record = FriendinvitePrizerecordMgr.InvitePrizeIsGet(account);
                List <ConfigFriendinviteprizeEntity> list = new List <ConfigFriendinviteprizeEntity>();

                //移除领取过的奖励
                foreach (var item in record)
                {
                    if (ConvertHelper.ConvertToInt(item.PrizeInfo) == 0)
                    {
                        continue;
                    }
                    foreach (var item1 in dic)
                    {
                        if (item1.SucceedCount == ConvertHelper.ConvertToInt(item.PrizeInfo))
                        {
                            continue;
                        }
                        list.Add(item1);
                    }
                    if (list.Count != 0)
                    {
                        dic  = list.ToArray();
                        list = new List <ConfigFriendinviteprizeEntity>();
                    }
                }


                //留下最低挡的奖励
                int idx = dic.Min(r => r.SucceedCount);
                foreach (var item in dic)
                {
                    if (item.SucceedCount == idx)
                    {
                        list.Add(item);
                    }
                }
                response.NextInviteCount = list[0].SucceedCount - count < 0 ? 0 : list[0].SucceedCount - count;
                response.PrizeId         = list[0].SucceedCount;
                foreach (var item in list)
                {
                    ItemInfo info = new ItemInfo();
                    info.Count     = item.Count;
                    info.ItemCode  = item.ItemCode;
                    info.PrizeType = item.PrizeType;
                    info.IsBinding = item.IsBinding;
                    response.ItemList.Add(info);
                }
            }
            else
            {
                response.IsInviteAccomplish = true;
            }
            return(response);
        }
Example #12
0
        public static bool SaveManagerData(NbManagerEntity manager, NbManagerextraEntity extra, bool openTask = true,
                                           DbTransaction transaction = null, string zoneId = "")
        {
            try
            {
                var functionList = manager.FunctionList;
                if (manager.IsLevelup)
                {
                    var function = CacheFactory.ManagerDataCache.GetFunctionList(manager.Level);
                    if (function != null)
                    {
                        if (function.FunctionId > 0)
                        {
                            manager.AddOpenFunc(function.FunctionId);
                        }
                        functionList = function.FunctionList;
                        if (extra != null)
                        {
                            extra.FunctionList = functionList;
                        }
                    }
                }
                int returnCode        = -2;
                var levelGiftExpired  = ShareUtil.BaseTime;
                var levelGiftExpired2 = ShareUtil.BaseTime;
                var levelGiftExpired3 = ShareUtil.BaseTime;
                int step = 0;
                if (manager.IsLevelup)
                {
                    step = CacheFactory.ManagerDataCache.GetLevelgiftStep(manager.Level);
                    if (step > 0)
                    {
                        manager.OpenLevelGift = true;
                        switch (step)
                        {
                        case 1:
                            levelGiftExpired = DateTime.Now.AddHours(72);
                            break;

                        case 2:
                            levelGiftExpired2 = DateTime.Now.AddHours(72);
                            break;

                        case 3:
                            levelGiftExpired3 = DateTime.Now.AddHours(72);
                            break;
                        }
                        if (extra != null)
                        {
                            extra.LevelGiftExpired  = levelGiftExpired;
                            extra.LevelGiftExpired2 = levelGiftExpired2;
                            extra.LevelGiftExpired3 = levelGiftExpired3;
                            extra.LevelGiftStep     = step;
                        }
                    }
                }
                NbManagerMgr.Save(manager.Idx, manager.Level, manager.EXP, manager.Sophisticate, manager.Score, manager.Coin,
                                  manager.Reiki, manager.TeammemberMax, manager.TrainSeatMax, manager.VipLevel,
                                  functionList, levelGiftExpired, levelGiftExpired2, levelGiftExpired3, step, manager.RowVersion, ref returnCode, transaction, zoneId);
                if (returnCode != 0)
                {
                    return(false);
                }
                manager.FunctionList = functionList;

                try
                {
                    if (manager.IsLevelup)
                    {
                        var code = SkillCardRules.SetSkillMapByManagerLevel(manager, transaction);
                        if (code != MessageCode.Success)
                        {
                            return(false);
                        }

                        var addSkillPoint = CacheFactory.ManagerDataCache.GetAddSkillPointByLevel(manager.Level);
                        if (extra != null)
                        {
                            extra.SkillPoint += addSkillPoint;
                        }
                        else
                        {
                            if (!NbManagerextraMgr.AddSkillPoint(manager.Idx, addSkillPoint, transaction))
                            {
                                return(false);
                            }
                        }

                        CalCurrentStamina(extra, manager.Level, manager.VipLevel);
                        if (extra == null)
                        {
                            extra = ManagerCore.Instance.GetManagerExtra(manager.Idx);
                            if (extra.Stamina < extra.StaminaMax)
                            {
                                extra.Stamina = extra.StaminaMax;
                                // extra.Stamina += ManagerLevelupAddStamina;
                                //if (extra.Stamina > extra.StaminaMax)
                                //    extra.Stamina = extra.StaminaMax;
                                extra.ResumeStaminaTime = DateTime.Now;
                                NbManagerextraMgr.Update(extra, transaction);
                            }
                        }
                        else
                        {
                            if (extra.Stamina < extra.StaminaMax)
                            {
                                extra.Stamina           = extra.StaminaMax;
                                extra.ResumeStaminaTime = DateTime.Now;
                            }
                        }

                        //if (TaskCore.Instance.CheckOpenDailyTask(manager.Level))
                        //{
                        //    var daily = TaskDailyrecordMgr.GetById(manager.Idx, zoneId);
                        //    if (daily == null)
                        //    {
                        //        var entity = TaskCore.Instance.CreateDailyTask(manager.Idx);
                        //        if (!TaskDailyrecordMgr.Insert(entity, transaction, zoneId))
                        //            return false;
                        //    }
                        //}
                        if (openTask)
                        {
                            List <TaskRecordEntity> newTasks = new List <TaskRecordEntity>();
                            TaskCore.Instance.GetLevelOpenTasks(manager.Idx, manager.Level, ref newTasks, zoneId);
                            if (newTasks.Count > 0)
                            {
                                foreach (var entity in newTasks)
                                {
                                    TaskCore.Instance.HandleOpenTaskStatus(entity, zoneId);
                                    if (!TaskRecordMgr.Add(entity, transaction, zoneId))
                                    {
                                        return(false);
                                    }
                                }
                                manager.HasOpenTask = true;
                            }
                        }
                        //如果等级为15级 向竞技场注册用户
                        //获取竞技场等级限制
                        //if (manager.Level == level.Values)
                        //{

                        //}
                    }
                }
                catch (Exception ex)
                {
                    SystemlogMgr.ErrorByZone("SaveManagerData Task pending", ex, zoneId);
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                SystemlogMgr.ErrorByZone("SaveManagerData", ex, zoneId);
                return(false);
            }
            finally
            {
                ManagerCore.Instance.DeleteCache(manager.Idx);
            }
        }
Example #13
0
        public MessageCode BackSaveSolution(Guid managerId, NbSolutionEntity solution, int[] newPids, List <TeammemberEntity> members)
        {
            if (null == solution)
            {
                return(MessageCode.Success);
            }
            if (newPids.Length != SystemConstants.TeammemberCount)
            {
                return(MessageCode.TeammemberInvalidCount);
            }
            if (null == members)
            {
                members = MatchDataHelper.GetTeammembers(managerId, null, true);
            }
            List <int> tempPids     = new List <int>(newPids.Length);
            int        veteranCount = 0;
            int        orangeCount  = 0;
            int        combCount    = 0;

            foreach (var pId in newPids)
            {
                int id = ConvertHelper.ConvertToInt(pId);
                if (!members.Exists(d => d.PlayerId == id))
                {
                    return(MessageCode.TeammemberInvalidPlayer);
                }
                if (tempPids.Contains(id))
                {
                    return(MessageCode.TeammemberSolutionPlayerRepeat);
                }
                tempPids.Add(id);
                var player = CacheFactory.PlayersdicCache.GetPlayer(id);
                if (player.CardLevel == (int)EnumPlayerCardLevel.Gold || player.CardLevel == (int)EnumPlayerCardLevel.Silver)
                {
                    veteranCount++;
                }
                else if (player.CardLevel == (int)EnumPlayerCardLevel.Orange || player.CardLevel == (int)EnumPlayerCardLevel.BlackGold)
                {
                    orangeCount++;
                }
            }
            int veteranNumber = _maxVeteranCount;
            var manager       = NbManagerextraMgr.GetById(managerId);

            if (manager == null)
            {
                return(MessageCode.NbParameterError);
            }
            if (manager.VeteranNumber > _maxVeteranCount)
            {
                veteranNumber = manager.VeteranNumber;
            }
            if (veteranCount > veteranNumber)
            {
                return(MessageCode.TeammemberVeteranCountOver);
            }
            combCount = ManagerSkillCache.Instance().GetCombsNum(tempPids.ToArray());
            string playerString = string.Join(",", newPids);

            if (!TeammemberMgr.SaveSolution(managerId, solution.FormationId, playerString, veteranCount, orangeCount, combCount))
            {
                return(MessageCode.NbUpdateFail);
            }
            //DeleteSolutionCache(managerId, true);
            return(MessageCode.Success);
        }
Example #14
0
        public NBSolutionInfoResponse SaveSolution(Guid managerId, int formationId, string playerString, bool hasTask)
        {
            var solution = MatchDataHelper.GetSolution(managerId);

            if (solution == null)
            {
                return(ResponseHelper.InvalidParameter <NBSolutionInfoResponse>());
            }

            bool isChangePlayer = solution.PlayerString != playerString;

            string[] pIds = playerString.Split(',');
            if (pIds.Length != SystemConstants.TeammemberCount)
            {
                return(ResponseHelper.Create <NBSolutionInfoResponse>(MessageCode.TeammemberInvalidCount));
            }
            var formation = CacheFactory.FormationCache.GetFormation(formationId);

            if (formation == null)
            {
                return(ResponseHelper.InvalidParameter <NBSolutionInfoResponse>());
            }

            var        teammembers  = MatchDataHelper.GetTeammembers(managerId, null, true);
            List <int> tempPids     = new List <int>(pIds.Length);
            int        veteranCount = 0;
            int        orangeCount  = 0;
            int        combCount    = 0;

            foreach (var pId in pIds)
            {
                int id = ConvertHelper.ConvertToInt(pId);
                if (!teammembers.Exists(d => d.PlayerId == id))
                {
                    return(ResponseHelper.Create <NBSolutionInfoResponse>(MessageCode.TeammemberInvalidPlayer));
                }
                if (tempPids.Contains(id))
                {
                    return(ResponseHelper.Create <NBSolutionInfoResponse>(MessageCode.TeammemberSolutionPlayerRepeat));
                }
                tempPids.Add(id);
                var player = CacheFactory.PlayersdicCache.GetPlayer(id);
                if (player.CardLevel == (int)EnumPlayerCardLevel.Gold || player.CardLevel == (int)EnumPlayerCardLevel.Silver)
                {
                    veteranCount++;
                }
                else if (player.CardLevel == (int)EnumPlayerCardLevel.Orange || player.CardLevel == (int)EnumPlayerCardLevel.BlackGold)
                {
                    orangeCount++;
                }
            }
            foreach (var tempPid in tempPids)
            {
                var linkList = CacheFactory.PlayersdicCache.GetLinkPlayerList(tempPid);
                if (linkList != null)
                {
                    foreach (var link in linkList)
                    {
                        if (tempPids.Exists(d => d == link))
                        {
                            return(ResponseHelper.Create <NBSolutionInfoResponse>(MessageCode.TeammemberSolutionPlayerRepeat));
                        }
                    }
                }
            }
            int veteranNumber = _maxVeteranCount;
            var manager       = NbManagerextraMgr.GetById(managerId);

            if (manager == null)
            {
                return(ResponseHelper.Create <NBSolutionInfoResponse>(MessageCode.NbParameterError));
            }
            if (manager.VeteranNumber > _maxVeteranCount)
            {
                veteranNumber = manager.VeteranNumber;
            }
            if (veteranCount > veteranNumber)
            {
                return(ResponseHelper.Create <NBSolutionInfoResponse>(MessageCode.TeammemberVeteranCountOver));
            }
            combCount = ManagerSkillCache.Instance().GetCombsNum(tempPids.ToArray());
            if (TeammemberMgr.SaveSolution(managerId, formationId, playerString, veteranCount, orangeCount, combCount))
            {
                DeleteSolutionCache(managerId, true);
                ActivityExThread.Instance.TememberColect(managerId, 3, orangeCount);
                var response = SolutionAndTeammemberResponse(managerId);
                if (hasTask && isChangePlayer)
                {
                    var pop = TaskHandler.Instance.SolutionChangePlayer(managerId);
                    if (response.Data != null)
                    {
                        response.Data.PopMsg = pop;
                    }
                }
                return(response);
            }
            else
            {
                return(ResponseHelper.Create <NBSolutionInfoResponse>(MessageCode.NbUpdateFail));
            }
        }
Example #15
0
        void BindData()
        {
            var accountData = Master.GetAccount();

            if (accountData == null)
            {
                Master.ShowMessage("请先选择经理.");
                return;
            }
            var manager = NbManagerMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (manager == null)
            {
                Master.ShowMessage("获取经理信息失败.");
                return;
            }
            ClearData();
            lblCoin.Text         = manager.Coin.ToString();
            lblExp.Text          = manager.EXP.ToString();
            lblLevel.Text        = manager.Level.ToString();
            lblLogo.Text         = manager.Logo.ToString();
            lblName.Text         = manager.Name;
            lblReiki.Text        = manager.Reiki.ToString();
            lblSophisticate.Text = manager.Sophisticate.ToString();
            lblStatus.Text       = CacheDataHelper.Instance.GetEnumDescription("EnumManagerStatus", manager.Status);
            lblSubstitute.Text   = (manager.TeammemberMax - 11).ToString();
            lblVipLevel.Text     = manager.VipLevel.ToString();

            var payAccount = PayUserMgr.GetById(accountData.Account, accountData.ZoneId);

            if (payAccount != null)
            {
                lblCash.Text  = payAccount.TotalCash.ToString();
                lblPoint.Text = string.Format("{0}+{1}(赠送)={2}", payAccount.Point, payAccount.Bonus, payAccount.TotalPoint);
            }

            var user = NbUserMgr.GetById(accountData.Account, accountData.ZoneId);

            if (user != null)
            {
                lblLastLoginTime.Text = user.LastLoginTime.ToString(AdminMgr.TimeFormat);
                lblRegisterTime.Text  = user.RowTime.ToString(AdminMgr.TimeFormat);
                lblLoginday.Text      = user.ContinuingLoginDay.ToString();
            }
            var onlineEntity = OnlineInfoMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (onlineEntity != null)
            {
                lblOnlineStatus.Text = onlineEntity.IsOnline ? "在线" : "不在线";
                var total  = onlineEntity.RealTotalMinutes;
                var day    = total / 1440;
                var hour   = (total % 1440) / 60;
                var minute = ((total % 1440) % 60);
                lblOnlineTotal.Text = string.Format("{0} 天 {1} 小时 {2} 分钟", day, hour, minute);
                lblOnlineCur.Text   = onlineEntity.TodayMinutes + " 分钟";
            }
            else
            {
                lblOnlineStatus.Text = "无记录";
            }
            var    solution     = NbSolutionMgr.GetById(accountData.ManagerId, accountData.ZoneId);
            string playerString = "";

            if (solution != null)
            {
                var formation = CacheFactory.FormationCache.GetFormation(solution.FormationId);
                lblSolution.Text = formation == null?solution.FormationId.ToString() : formation.Name;

                lblSolutionPlayer.Text = solution.PlayerString;
                lblSolutionSkill.Text  = solution.SkillString;
                playerString           = solution.PlayerString;
            }

            var managerExtra = NbManagerextraMgr.GetById(accountData.ManagerId, accountData.ZoneId);

            if (managerExtra != null)
            {
                ManagerUtil.CalCurrentStamina(managerExtra, manager.Level, manager.VipLevel);
                lblStamina.Text = managerExtra.Stamina.ToString();
            }

            var teammembers = TeammemberMgr.GetByManager(accountData.ManagerId, accountData.Mod, accountData.ZoneId);

            if (teammembers != null)
            {
                foreach (var teammember in teammembers)
                {
                    teammember.Name   = AdminCache.Instance.GetPlayerName(teammember.PlayerId);
                    teammember.IsMain = playerString.Contains(teammember.PlayerId.ToString());
                }
                datagrid1.DataSource = teammembers;
                datagrid1.DataBind();
            }

            var list = FriendinviteMgr.InviteManagerList(manager.Account, accountData.ZoneId);

            if (list != null)
            {
                var friendInviteString = "";
                foreach (var item in list)
                {
                    friendInviteString += item.Name + ",";
                }
                lblFriendInvite.Text = friendInviteString;
            }
        }