Exemplo n.º 1
0
        public string InviteUser(InviteUserParameterModel 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 isJoinOther = context.db_TeamUser.Where(c => c.UserID == para.UserID)
                                  .FirstOrDefault();
                if (isJoinOther != null)
                {
                    message.MessageCode = MESSAGE.USERJOINOTHERTEAM_CODE;
                    message.Message     = MESSAGE.USERJOINOTHERTEAM;
                }
                else
                {
                    //判断是否发出过邀请
                    int inviteCount = context.db_Message.Where(c => c.SendID == para.TeamID)
                                      .Where(c => c.ReceiveID == para.UserID)
                                      .Where(c => c.State == 2)
                                      .ToList().Count;
                    if (inviteCount > 0)
                    {
                        message.MessageCode = MESSAGE.INVITEUSER_CODE;
                        message.Message     = MESSAGE.INVITEUSER;
                    }
                    else
                    {
                        //db_Message表插入一条数据
                        db_Message mes = new db_Message();
                        mes.SendID      = para.TeamID;
                        mes.ReceiveID   = para.UserID;
                        mes.State       = 2;
                        mes.MessageType = "招募队员";
                        mes.SendTime    = DateTime.Now;
                        context.db_Message.Add(mes);
                        context.SaveChanges();
                        message.Message     = MESSAGE.OK;
                        message.MessageCode = MESSAGE.OK_CODE;
                    }
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static int InsertMsg(MessageInfo msg)
        {
            db_Message dbmsg = new db_Message
            {
                Name    = msg.Name,
                Target  = msg.Target,
                Message = msg.Message,
                Bmp     = msg.Bmp,
                Time    = msg.Time
            };

            var count = con.Insert(dbmsg);

            return(count);
        }
Exemplo n.º 3
0
        public string ApplyTeam(ApplyTeamParameterModel para)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断角色是否是队长,队长不可申请加入其它战队
                //判断是否参加其它战队,每个队员只可以参加一只战队
                if (Team.IsCreateOrJoinTeam(para.UserID, context) == false)
                {
                    //判断是否向该战队发出过申请
                    int applyCount = context.db_Message.Where(c => c.SendID == para.UserID)
                                     .Where(c => c.ReceiveID == para.TeamID)
                                     .Where(c => c.State == 1)
                                     .ToList().Count;
                    //申请加入
                    if (applyCount > 0)
                    {
                        message.MessageCode = MESSAGE.JIONEDTEAM_CODE;
                        message.Message     = MESSAGE.JIONEDTEAM;
                    }
                    else
                    {
                        db_Message applyMessage = new db_Message();
                        applyMessage.SendID      = para.UserID;
                        applyMessage.ReceiveID   = para.TeamID;
                        applyMessage.SendTime    = DateTime.Now;
                        applyMessage.State       = 1;
                        applyMessage.MessageType = "加入战队";
                        context.db_Message.Add(applyMessage);
                        context.SaveChanges();
                        message.Message     = MESSAGE.OK;
                        message.MessageCode = MESSAGE.OK_CODE;
                    }
                }
                else
                {
                    message.MessageCode = MESSAGE.JIONTEAM_CODE;
                    message.Message     = MESSAGE.JIONTEAM;
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }
Exemplo n.º 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);
        }
Exemplo n.º 5
0
        public string Delete(SimpleTeamModel team)
        {
            string               result       = "";
            MessageModel         message      = new MessageModel();
            JavaScriptSerializer jss          = new JavaScriptSerializer();
            HashSet <object>     returnResult = new HashSet <object>();

            using (HiGame_V1Entities context = new HiGame_V1Entities())
            {
                //判断是否有权解散战队
                var deleteTeam = context.db_Team.Where(c => c.CreateUserID == team.CreatUserID)
                                 .Where(c => c.TeamName == team.TeamName)
                                 .Where(c => c.State == 0).
                                 FirstOrDefault();
                if (deleteTeam == null)
                {
                    //无权解散战队
                    message.Message     = MESSAGE.DELETETEAM;
                    message.MessageCode = MESSAGE.DELETETEAM_CODE;
                }
                else
                {
                    //db_Team表状态修改为1(已解散)
                    deleteTeam.State = 1;
                    //如果还有其他战队,将注册时间最晚的战队设为默认战队
                    var otherTeam = context.db_Team.Where(c => c.CreateUserID == team.CreatUserID)
                                    .Where(c => c.TeamName != team.TeamName)
                                    .Where(c => c.State == 0)
                                    .OrderByDescending(c => c.CreateTime)
                                    .FirstOrDefault();
                    if (otherTeam != null)
                    {
                        otherTeam.IsDeault = 0;
                    }
                    //删除teamuser表数据
                    var teamUsers = context.db_TeamUser.Where(c => c.TeamID == deleteTeam.TeamID)
                                    .ToList();
                    if (teamUsers != null)
                    {
                        for (int i = 0; i < teamUsers.Count; i++)
                        {
                            //移出队员
                            context.db_TeamUser.Remove(teamUsers[i]);

                            //向队员发送解散信息
                            //Message表添加记录
                            db_Message msg = new db_Message();
                            msg.SendID      = teamUsers[i].TeamID;
                            msg.ReceiveID   = teamUsers[i].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);
                        }
                    }
                    context.SaveChanges();
                }
            }
            returnResult.Add(message);
            result = jss.Serialize(returnResult);
            return(result);
        }