Exemple #1
0
        public void AddRoomRole(RoomRole roomRole)
        {
            var room = Rooms.FirstOrDefault(r => r.Id == roomRole.Room_Id);

            if (room != null)
            {
                lock (RoomRoles)
                {
                    if (RoomRoles.FirstOrDefault(rr => rr.Room_Id == roomRole.Room_Id && rr.User_Id == roomRole.User_Id && rr.Role_Id == roomRole.Role_Id) == null)
                    {
                        RoomRoles.Add(roomRole);
                        lock (room.RoomRoles)
                        {
                            room.RoomRoles.Add(roomRole);
                        }
                    }
                }
            }
        }
Exemple #2
0
        public void RemoveRoomRole(int roomId, int roleId, int userId)
        {
            var room = Rooms.FirstOrDefault(r => r.Id == roomId);

            if (room != null)
            {
                lock (RoomRoles)
                {
                    var roomRole = RoomRoles.FirstOrDefault(rr => rr.Room_Id == roomId && rr.User_Id == userId && rr.Role_Id == roleId);
                    if (roomRole != null)
                    {
                        lock (room.RoomRoles)
                        {
                            room.RoomRoles.Remove(roomRole);
                        }
                        RoomRoles.Remove(roomRole);
                    }
                }
            }
        }
Exemple #3
0
        public void BuildRelationship()
        {
            foreach (var rg in RoomGroups)
            {
                rg.SubRoomGroups = new List <RoomGroup>();
                rg.SubRoomGroups.AddRange(RoomGroups.Where(g => g.ParentGroup_Id.HasValue && g.ParentGroup_Id.Value == rg.Id));
                rg.Rooms = Rooms.Where(r => r.RoomGroup_Id == rg.Id).ToList();
            }
            GiftGroups.ForEach(giftGroup =>
            {
                giftGroup.Gifts = Gifts.Where(g => g.GiftGroup_Id == giftGroup.Id).ToList();
            });
            foreach (var room in Rooms)
            {
                room.RoomRoles = new List <RoomRole>();
                var rrs = RoomRoles.Where(r => r.Room_Id == room.Id);
                if (rrs != null)
                {
                    room.RoomRoles.AddRange(rrs);
                }
            }
            foreach (var role in Roles)
            {
                if (role.Application_Id == applicationId || role.Application_Id == BuiltIns.AllApplication.Id)
                {
                    role.RoleCommands = new List <RoleCommandView>();
                    var rcs = RoleCommands.Where(rc => (rc.SourceRole_Id == role.Id || rc.SourceRole_Id == BuiltIns.AllRole.Id) &&
                                                 (rc.Application_Id == applicationId || rc.Application_Id == BuiltIns.AllApplication.Id));

                    if (rcs != null)
                    {
                        role.RoleCommands.AddRange(rcs);
                    }
                }
            }
        }