public Response Execute(string request)
        {
            var req = JsonConvert.DeserializeObject <Request <GameTeamLoopTempletFilter> >(request);

            Response res = ResultHelper.Success();

            res.Tag  = GameLoopTempletHelper.IsExistTemplet(req.Filter.Name, req.Filter.ModifyFlag); //bool类型 ,TRUE为名称重复
            res.Tag1 = GameLoopTempletHelper.GetRuleCodes(req.Filter.PersonCount, true, true);       //队伍1(主队)对阵编码字符数组
            if (req.Filter.IsGuest)
            {
                res.Tag2 = GameLoopTempletHelper.GetRuleCodes(req.Filter.PersonCount, false, true);//队伍2(客队)对阵编码字符数组
            }
            else
            {
                res.Tag2 = GameLoopTempletHelper.GetRuleCodes(req.Filter.PersonCount, true, true);//队伍2(客队)对阵编码字符数组
            }
            return(res);
        }
示例#2
0
        /// <summary>
        /// 获取某个团体对阵模板及规则详情
        /// </summary>
        /// <param name="filter"></param>
        /// <returns></returns>
        public static Response GetTempletDetail(GameTeamLoopTempletFilter filter)
        {
            string  sqlStr = @"SELECT a.*,CASE WHEN ISNULL(b.PetName, '')='' THEN b.CardName ELSE b.PetName END AS SharePerson,
                             CAST(CASE WHEN a.UseCount >=5 THEN 1 ELSE 0 END AS BIT) AS IsEnableShare 
                             FROM GameTeamLoopTemplet AS a LEFT JOIN UserAccount AS b ON a.SharePersonId=b.Id
                             WHERE a.Id=@templetId";
            Command cmd    = CommandHelper.CreateText <GameTeamLoopTemplet>(FetchType.Fetch, sqlStr);

            cmd.Params.Add("@templetId", filter.TempletId);
            Response res = DbContext.GetInstance().Execute(cmd);

            if (res.Entities.Count > 0)
            {
                var temp = res.Entities[0] as GameTeamLoopTemplet;
                if (temp.UseCount > 0)
                {
                    temp.UseDes = "已被" + temp.UseCount + "场比赛使用";
                }
                else
                {
                    temp.UseDes = "还未正式被比赛使用过";
                }
                temp.IsUse = GameLoopTempletHelper.IsUseTemplet(filter.TempletId);                //模板是否使用
                sqlStr     = @"SELECT * FROM GameTeamLoopTempletDetail WHERE TempletId=@templetId ORDER BY OrderNo ";
                if (!string.IsNullOrEmpty(filter.GameId) && !string.IsNullOrEmpty(filter.LoopId)) //进入团体对阵页面时,获取规则对员对阵详情
                {
                    sqlStr = @"SELECT a.*,b.User1Name,b.User1Id,b.User2Name,b.User2Id FROM GameTeamLoopTempletDetail AS a LEFT JOIN GameLoopMap AS b ON a.OrderNo=b.OrderNo AND b.LoopId=@loopId
                               WHERE a.TempletId=@templetId ORDER BY a.OrderNo";
                }
                cmd = CommandHelper.CreateText <GameTeamLoopTempletDetail>(FetchType.Fetch, sqlStr);
                cmd.Params.Add("@templetId", filter.TempletId);
                if (!string.IsNullOrEmpty(filter.GameId) && !string.IsNullOrEmpty(filter.LoopId))
                {
                    cmd.Params.Add("@loopId", filter.LoopId);
                }
                Response res1 = DbContext.GetInstance().Execute(cmd);
                temp.Detail = res1.Entities.ToList <EntityBase, GameTeamLoopTempletDetail>();
                if (!string.IsNullOrEmpty(filter.GameId) && !string.IsNullOrEmpty(filter.LoopId))//进入团体对阵页面时,获取规则编码与队员映射关系
                {
                    sqlStr = @"SELECT a.Id,a.TempletId,a.GameId,a.LoopId,a.TeamId,a.Code,a.CodeUserId,a.CodeUserName,a.CreateDate,b.TeamName  
                              FROM GameTeamLoopTempletMap as a LEFT JOIN GameTeam as b ON a.TeamId=b.Id 
                              WHERE a.TempletId=@templetId AND a.GameId=@gameId AND a.LoopId=@loopId ORDER BY TeamId,a.Code";
                    cmd    = CommandHelper.CreateText <GameTeamLoopTempletMap>(FetchType.Fetch, sqlStr);
                    cmd.Params.Add("@templetId", filter.TempletId);
                    cmd.Params.Add("@gameId", filter.GameId);
                    cmd.Params.Add("@loopId", filter.LoopId);
                    res1            = DbContext.GetInstance().Execute(cmd);
                    temp.Map        = res1.Entities.ToList <EntityBase, GameTeamLoopTempletMap>();//规则编码与队员映射关系
                    temp.Team1Codes = GameLoopTempletHelper.GetRuleCodes(temp.PersonCount, true, false);
                    if (temp.IsGuest)
                    {
                        temp.Team2Codes = GameLoopTempletHelper.GetRuleCodes(temp.PersonCount, false, false);
                    }
                    else
                    {
                        temp.Team2Codes = GameLoopTempletHelper.GetRuleCodes(temp.PersonCount, true, false);
                    }
                }
            }
            return(res);
        }