Example #1
0
        public static bool IsCreateOrJoinTeam(int userID, HiGame_V1Entities context)
        {
            db_Team team = context.db_Team.
                           Where(c => c.CreateUserID == userID).
                           Where(c => c.State == 0).
                           Where(c => c.IsDeault == 0).
                           FirstOrDefault();

            if (team == null)
            {
                db_TeamUser teamUser = context.db_TeamUser.Where(c => c.UserID == userID).FirstOrDefault();
                if (teamUser == null)
                {
                    return(false);
                }
            }
            return(true);
        }
Example #2
0
        public static TeamModel MyTeam(int userID, HiGame_V1Entities context)
        {
            TeamModel myTeam = new TeamModel();

            db_Team team = context.db_Team.
                           Where(c => c.CreateUserID == userID).
                           Where(c => c.State == 0).
                           Where(c => c.IsDeault == 0).
                           FirstOrDefault();

            if (team == null)
            {
                db_TeamUser teamUser = context.db_TeamUser.Where(c => c.UserID == userID).FirstOrDefault();
                db_Team     team2    = context.db_Team.
                                       Where(c => c.TeamID == teamUser.TeamID).
                                       Where(c => c.State == 0).
                                       FirstOrDefault();
                if (team2 != null)
                {
                    myTeam.Asset           = team2.Asset == null ? 0 : team2.Asset;;
                    myTeam.TeamID          = team2.TeamID;
                    myTeam.Creater         = team2.CreateUserID;
                    myTeam.CreateTime      = ((DateTime)team2.CreateTime).ToString("yyyy-MM-dd");
                    myTeam.FightScore      = team2.FightScore == null ? 0 : team2.FightScore;;
                    myTeam.FollowCount     = team2.FollowCount == null ? 0 : team2.FollowCount;
                    myTeam.IsDeault        = team2.IsDeault;
                    myTeam.LoseCount       = team2.LoseCount == null ? 0 : team2.LoseCount;
                    myTeam.Role            = "teamuser";
                    myTeam.TeamLogo        = team2.TeamPicture;
                    myTeam.TeamName        = team2.TeamName;
                    myTeam.TeamType        = team2.TeamType;
                    myTeam.TeamDescription = team2.TeamDescription;
                    myTeam.WinCount        = team2.WinCount == null ? 0 : team2.WinCount;
                    myTeam.RecruitContent  = GetRecruitContentByTeamID(team2.TeamID);
                    myTeam.UserCount       = GetTeamUserCountByTeamID(team2.TeamID);
                    //添加战队成员图标
                    myTeam.TeamUser = GetTeamUserByUserID(team2.TeamID);
                    //添加战队队长图标
                    myTeam.CreaterPicture = GetUserPictureByUserID(team2.CreateUserID);
                }
            }
            else
            {
                myTeam.Asset           = team.Asset == null ? 0 : team.Asset;
                myTeam.Creater         = team.CreateUserID;
                myTeam.TeamID          = team.TeamID;
                myTeam.CreateTime      = ((DateTime)team.CreateTime).ToString("yyyy-MM-dd");
                myTeam.FightScore      = team.FightScore == null?0:team.FightScore;
                myTeam.FollowCount     = team.FollowCount == null ? 0 : team.FollowCount;
                myTeam.IsDeault        = team.IsDeault;
                myTeam.LoseCount       = team.LoseCount == null ? 0 : team.LoseCount;
                myTeam.Role            = "teamcreater";
                myTeam.TeamLogo        = team.TeamPicture;
                myTeam.TeamName        = team.TeamName;
                myTeam.TeamType        = team.TeamType;
                myTeam.TeamDescription = team.TeamDescription;
                myTeam.WinCount        = team.WinCount == null ? 0 : team.WinCount;
                myTeam.RecruitContent  = GetRecruitContentByTeamID(team.TeamID);
                myTeam.UserCount       = context.db_TeamUser.Where(c => c.TeamID == team.TeamID).ToList().Count;
                //添加战队成员图标
                myTeam.TeamUser = GetTeamUserByUserID(team.TeamID);
                //添加战队队长图标
                myTeam.CreaterPicture = GetUserPictureByUserID(team.CreateUserID);
            }

            return(myTeam);
        }
Example #3
0
        public string HandleMyApply(ApplyTeamParameter2Model para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                var msg = context.db_Message.Where(c => c.MID == para.MessageID).FirstOrDefault();
                //拒绝加入的情况,信息状态设为加入失败
                if (para.ISOK == 1)
                {
                    msg.MessageType     = "加入失败";
                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = "已拒绝";
                }
                else
                {
                    //判断是否已经加入该战队
                    var isJoin = context.db_TeamUser.Where(c => c.TeamID == para.TeamID).
                                 Where(c => c.UserID == para.UserID).FirstOrDefault();
                    if (isJoin != null)
                    {
                        msg.MessageType     = "加入成功";
                        message.MessageCode = MESSAGE.OK_CODE;
                        message.Message     = "加入成功";
                    }
                    else
                    {
                        //判断是否已加入其它战队
                        var isJoinOther = context.db_TeamUser.
                                          Where(c => c.UserID == para.UserID).FirstOrDefault();
                        if (isJoinOther != null)
                        {
                            //已加入其它战队,此条信息状态设为已被抢
                            msg.MessageType     = "已被抢";
                            message.MessageCode = MESSAGE.USERJOINOTHERTEAM_CODE;
                            message.Message     = MESSAGE.USERJOINOTHERTEAM;
                        }
                        else
                        {
                            //如果未加入其它战队,状态设为招募成功
                            msg.MessageType = "加入成功";
                            db_TeamUser teamUser = new db_TeamUser();
                            teamUser.TeamID = para.TeamID;
                            teamUser.UserID = para.UserID;
                            context.db_TeamUser.Add(teamUser);
                            context.SaveChanges();

                            //重新计算战队战斗力
                            db_Team joinTeam = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                            joinTeam.FightScore = Team.GetFightScoreByTeamID(joinTeam.TeamID);
                            context.SaveChanges();

                            message.MessageCode = MESSAGE.OK_CODE;
                            message.Message     = "已同意";

                            //如果同时你也邀请该队员了,将邀请队员的那条信息更改为招募成功
                            var msgSend = context.db_Message.
                                          Where(c => c.State == 2).
                                          Where(c => c.SendID == para.TeamID).
                                          Where(c => c.ReceiveID == para.UserID).
                                          FirstOrDefault();
                            if (msgSend != null)
                            {
                                msgSend.MessageType = "招募成功";
                            }
                        }
                    }
                }
                context.SaveChanges();
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Example #4
0
        public string RemoveUser(ApplyTeamParameter2Model para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //获取战队信息
                db_Team team = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                if (team != null)
                {
                    //删除TeamUser表记录
                    db_TeamUser teamUser = context.db_TeamUser.
                                           Where(c => c.TeamID == para.TeamID).
                                           Where(c => c.UserID == para.UserID).
                                           FirstOrDefault();
                    context.db_TeamUser.Remove(teamUser);

                    //Message表添加记录
                    db_Message msg = new db_Message();
                    msg.SendID      = para.TeamID;
                    msg.ReceiveID   = para.UserID;
                    msg.SendName    = team.TeamName;
                    msg.Title       = "移出战队";
                    msg.MessageType = "移出战队";
                    msg.SendTime    = DateTime.Now;
                    msg.State       = 0;
                    msg.Content     = "你已被移出战队【" + team.TeamName + "】,感谢一起战斗的岁月";
                    context.db_Message.Add(msg);

                    //TeamRemoveUser表添加记录
                    db_TeamRemoveUser teamRemoveUser = new db_TeamRemoveUser();
                    teamRemoveUser.RemoveTime = DateTime.Now;
                    teamRemoveUser.TeamID     = para.TeamID;
                    teamRemoveUser.UserID     = para.UserID;
                    context.db_TeamRemoveUser.Add(teamRemoveUser);
                    context.SaveChanges();

                    //重新计算战队战斗力
                    db_Team joinTeam = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                    joinTeam.FightScore = Team.GetFightScoreByTeamID(joinTeam.TeamID);

                    //message表删除申请记录
                    var applyMessage = context.db_Message.Where(c => c.SendID == para.UserID)
                                       .Where(c => c.ReceiveID == para.TeamID)
                                       .Where(c => c.State == 1)
                                       .FirstOrDefault();
                    if (applyMessage != null)
                    {
                        context.db_Message.Remove(applyMessage);
                    }
                    context.SaveChanges();

                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = MESSAGE.OK;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Example #5
0
        public string HandleMyInvited(ApplyTeamParameter2Model para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                var msg = context.db_Message.Where(c => c.MID == para.MessageID).FirstOrDefault();
                //拒绝加入的情况,信息状态设为加入失败
                if (para.ISOK == 1)
                {
                    msg.MessageType     = "招募失败";
                    message.MessageCode = MESSAGE.OK_CODE;
                    message.Message     = "已拒绝";
                }
                else
                {
                    //判断是否已经加入该战队
                    var isJoin = context.db_TeamUser.Where(c => c.TeamID == para.TeamID).
                                 Where(c => c.UserID == para.UserID).FirstOrDefault();
                    if (isJoin != null)
                    {
                        msg.MessageType     = "招募成功";
                        message.MessageCode = MESSAGE.OK_CODE;
                        message.Message     = "招募成功";
                    }
                    else
                    {
                        //判断是否已加入其它战队
                        var isJoinOther = context.db_TeamUser.
                                          Where(c => c.UserID == para.UserID).FirstOrDefault();
                        if (isJoinOther != null)
                        {
                            //已加入其它战队,此条信息状态设为已被抢
                            msg.MessageType     = "招募失败";
                            message.MessageCode = MESSAGE.YOUJOINOTHERTEAM_CODE;
                            message.Message     = MESSAGE.YOUJOINOTHERTEAM;
                        }
                        else
                        {
                            var count = context.db_TeamUser.Where(c => c.TeamID == para.TeamID).ToList().Count;
                            //同意加入的情况,判断战队人数是否已满

                            if (count >= 7)
                            {
                                //如果人数已满,此条信息状态设为已失效
                                msg.MessageType     = "招募失败";
                                message.MessageCode = MESSAGE.USERFULL_CODE;
                                message.Message     = MESSAGE.USERFULL;
                            }
                            else
                            {
                                //如果人数未满,状态设为加入成功
                                msg.MessageType = "招募成功";
                                db_TeamUser teamUser = new db_TeamUser();
                                teamUser.TeamID = para.TeamID;
                                teamUser.UserID = para.UserID;
                                context.db_TeamUser.Add(teamUser);
                                context.SaveChanges();
                                //重新计算战队战斗力
                                db_Team joinTeam = context.db_Team.Where(c => c.TeamID == para.TeamID).FirstOrDefault();
                                joinTeam.FightScore = Team.GetFightScoreByTeamID(joinTeam.TeamID);
                                context.SaveChanges();

                                message.MessageCode = MESSAGE.OK_CODE;
                                message.Message     = "招募成功";

                                //设置其它邀请信息【已拒绝】
                                var msgList = context.db_Message.Where(c => c.ReceiveID == para.UserID)
                                              .Where(c => c.MID != para.MessageID)
                                              .Where(c => c.State == 2)
                                              .ToList();
                                if (msgList != null)
                                {
                                    for (int i = 0; i < msgList.Count; i++)
                                    {
                                        msgList[i].MessageType = "招募失败";
                                    }
                                }
                                //如果同时我也申请加入了该战队,将申请记录设为加入成功
                                var msgSend = context.db_Message.
                                              Where(c => c.State == 1).
                                              Where(c => c.SendID == para.UserID).
                                              Where(c => c.ReceiveID == para.TeamID).
                                              FirstOrDefault();
                                if (msgSend != null)
                                {
                                    msgSend.MessageType = "加入成功";
                                }
                            }
                        }
                    }
                }
                context.SaveChanges();
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }