示例#1
0
 private void EntGroupOperationEvent(GroupOperationResponse response)
 {
     if (response != null)
     {
         switch (response.type)
         {
         case 1:
             this.EntGroupNoticeCreate(response);
             break;
         case 2:
             this.EntGroupNoticeUpdate(response);
             break;
         case 3:
             this.EntGroupNoticeDelete(response);
             break;
         case 5:
             this.EntGroupNoticeAddMember(response);
             break;
         case 6:
             this.EntGroupNoticeRemoveMember(response);
             break;
         case 7:
             this.EntGroupNoticeAddAdmin(response);
             break;
         case 8:
             this.EntGroupNoticeRemoveAdmin(response);
             break;
         case 9:
             this.EntGroupNoticeExit(response);
             break;
         }
     }
 }
示例#2
0
 private void EntGroupNoticeRemoveMember(GroupOperationResponse response)
 {
     EntGroup group = this.dataService.GetEntGroup((long)((ulong)((uint)response.gid)));
     if (group != null)
     {
         long[] newMembers = this.StringToLong(response.member.Split(new char[]
         {
             ':'
         }));
         if (-1 == this.FingGroupMember(newMembers, this.sessionService.Uid))
         {
             group.RemoveLocalMembers(newMembers);
             this.RemoveGroupMemberHandler(newMembers, group.Gid);
         }
         else
         {
             this.EntGroupNoticeDelete(response);
         }
     }
 }
示例#3
0
 private void EntGroupNoticeUpdate(GroupOperationResponse response)
 {
     EntGroup group = this.dataService.GetEntGroup(response.gid);
     if (group != null)
     {
         group.Name = response.name;
         group.Description = response.description;
         this.UpdateGroupHandler(group);
     }
 }
示例#4
0
 private void EntGroupNoticeRemoveAdmin(GroupOperationResponse response)
 {
     EntGroup group = this.dataService.GetEntGroup(response.gid);
     if (group != null)
     {
         long[] newAdmin = this.StringToLong(response.member.Split(new char[]
         {
             ':'
         }));
         group.DeleLocalAdmins(newAdmin);
         this.DeleAdminHandler(newAdmin, group.Gid);
     }
 }
示例#5
0
 private void EntGroupNoticeExit(GroupOperationResponse vo)
 {
     EntGroup group = this.dataService.GetEntGroup((long)((ulong)((uint)vo.gid)));
     if (group != null)
     {
         long[] newMembers = this.StringToLong(vo.member.Split(new char[]
         {
             ':'
         }));
         if (newMembers.Length == 1)
         {
             if (newMembers[0] != this.sessionService.Uid)
             {
                 group.RemoveLocalMember(newMembers[0]);
                 this.ExitEntGroupHandler(newMembers, group.Gid);
             }
             else
             {
                 this.EntGroupNoticeDelete(vo);
             }
         }
     }
 }
示例#6
0
 private void EntGroupNoticeDelete(GroupOperationResponse vo)
 {
     EntGroup group = this.dataService.GetEntGroup((long)((ulong)((uint)vo.gid)));
     if (group != null)
     {
         this.DeleGroupHandler(group);
     }
 }
示例#7
0
 private void EntGroupNoticeCreate(GroupOperationResponse response)
 {
     EntGroup group = this.dataService.GetEntGroup(response.gid);
     if (group == null)
     {
         group = new EntGroup();
         group.Gid = response.gid;
         group.AdminIcon = this.imageService.GetIcon(ImageTypeIcon.GroupIconAdmin);
         this.dataService.AddEntGroup(group);
     }
     group.Name = response.name;
     group.Description = response.description;
     group.Member = this.StringToLong(response.member.Split(new char[]
     {
         ':'
     }));
     group.Admin = this.StringToLong(response.admin.Split(new char[]
     {
         ':'
     }));
     this.CreateEntGroupHandler(group);
 }
示例#8
0
 private void EntGroupNoticeAddMember(GroupOperationResponse response)
 {
     EntGroup group = this.dataService.GetEntGroup(response.gid);
     if (group != null)
     {
         long[] newMembers = this.StringToLong(response.member.Split(new char[]
         {
             ':'
         }));
         if (-1 == this.FingGroupMember(newMembers, this.sessionService.Uid))
         {
             group.AddLocalMembers(newMembers);
             this.AddEntGroupHandler(newMembers, group.Gid);
         }
     }
     else
     {
         this.EntGroupNoticeCreate(response);
     }
 }