public RoomWindowViewModel(RoomViewModel roomVM)
        {
            this.RoomVM = roomVM;
            userVMs.SetValue(new System.Collections.ObjectModel.ObservableCollection<UserViewModel>());
            privateMicUserVMs.SetValue(new System.Collections.ObjectModel.ObservableCollection<UserViewModel>());
            secretMicUserVMs.SetValue(new System.Collections.ObjectModel.ObservableCollection<UserViewModel>());
            fontFamilies.SetValue(new System.Collections.ObjectModel.ObservableCollection<string>());
            fontSizes.SetValue(new System.Collections.ObjectModel.ObservableCollection<int>());

            RoomCallback = new RoomServiceCallback();
            RoomClient = new RoomServiceClient(RoomCallback, roomVM.ServiceIp, ApplicationVM.LocalCache.RoomServicePort);

            SetVideoSize();
        }
Ejemplo n.º 2
0
        public bool HasCommand(UserViewModel target, CommandViewModel cmd, RoomViewModel room)
        {
            if (RoleVM != null && target.RoleVM != null)
            {
                var rcv =  RoleVM.RoleCommandVMs.FirstOrDefault(rc => rc.TargetRoleVM == target.RoleVM && rc.CommandVM == cmd);
                if (rcv != null)
                {
                    if (rcv.IsManagerCommand)
                    {
						return IsRoleInRoom(room, BuiltIns.RoomAdministratorRole);
                    }
                    return true;
                }
            }
            return false;
        }
Ejemplo n.º 3
0
        public void EnterRoom(int roomId)
        {
            if (Me.RoomWindowVM != null)
            {
                Messenger.Default.Send <EnumNotificationMessage <object, HallWindowAction> >(new EnumNotificationMessage <object, HallWindowAction>(HallWindowAction.AlreadyInRoom, roomId));
                return;
            }
            RoomViewModel roomVM = ApplicationVM.LocalCache.AllRoomVMs.FirstOrDefault(r => r.Id == roomId);

            if (roomVM != null)
            {
                roomVM.Enter();
            }
            else
            {
                Messenger.Default.Send <EnumNotificationMessage <object, HallWindowAction> >(new EnumNotificationMessage <object, HallWindowAction>(HallWindowAction.RoomNotExist));
            }
        }
Ejemplo n.º 4
0
 public bool IsRoleInRoom(RoomViewModel room, Role role)
 {
     return(RoomRoleVMs != null && RoomRoleVMs.FirstOrDefault(rr => rr.RoomId == room.Id && rr.RoleId == role.Id) != null);
 }
Ejemplo n.º 5
0
 private void BuildCache()
 {
     Cache.Images.ForEach(img =>
     {
         AddImage(img);
     });
     Cache.GiftGroups.ForEach(g =>
     {
         GiftGroupViewModel giftGroupVM = new GiftGroupViewModel(g);
         LocalCache.AllGiftGroupVMs.Add(giftGroupVM);
     });
     Cache.Gifts.ForEach(g =>
     {
         GiftViewModel giftVM = new GiftViewModel(g);
         giftVM.Initialize();
         LocalCache.AllGiftVMs.Add(giftVM);
     });
     LocalCache.AllGiftGroupVMs.ForEach(g =>
     {
         g.Initialize();
     });
     Cache.RoomGroups.ForEach(rg =>
     {
         RoomGroupViewModel roomGroupVM = new RoomGroupViewModel(rg);
         LocalCache.AllRoomGroupVMs.Add(roomGroupVM);
     });
     //Create all the RoomViewModels so that we can initialize the RoomVMs of RoomGroupVM
     Cache.Rooms.ForEach(r =>
     {
         RoomViewModel roomVM = new RoomViewModel(r);
         roomVM.Initialize();
         LocalCache.AllRoomVMs.Add(roomVM);
     });
     LocalCache.AllRoomGroupVMs.ForEach(rgv =>
     {
         rgv.Initialize();
     });
     Cache.Commands.ForEach(c =>
     {
         if (c.Application_Id == ApplicationId || c.Application_Id == BuiltIns.AllApplication.Id)
         {
             CommandViewModel vm = new CommandViewModel(c);
             vm.Initialize();
             LocalCache.AllCommandVMs.Add(vm);
         }
     });
     Cache.Roles.ForEach(r =>
     {
         if (r.Application_Id == ApplicationId || r.Application_Id == BuiltIns.AllApplication.Id)
         {
             RoleViewModel vm = new RoleViewModel(r);
             LocalCache.AllRoleVMs.Add(vm);
         }
     });
     Cache.RoleCommands.ForEach(rc =>
     {
         if (rc.Application_Id == ApplicationId || rc.Application_Id == BuiltIns.AllApplication.Id)
         {
             RoleCommandViewModel vm = new RoleCommandViewModel(rc);
             vm.Initialize();
             LocalCache.AllRoleCommandVMs.Add(vm);
         }
     });
     LocalCache.AllRoleVMs.ForEach(r =>
     {
         r.Initialize();
     });
     Cache.RoomRoles.ForEach(rr =>
     {
         RoomRoleViewModel vm = new RoomRoleViewModel(rr);
         vm.Initialize();
         LocalCache.AllRoomRoleVMs.Add(vm);
     });
     Cache.ExchangeRates.ForEach(er =>
     {
         ExchangeRateViewModel vm = new ExchangeRateViewModel(er);
         LocalCache.AllExchangeRateVMs.Add(vm);
     });
 }
Ejemplo n.º 6
0
 public bool IsRoleInRoom(RoomViewModel room, Role role)
 {
     return RoomRoleVMs != null && RoomRoleVMs.FirstOrDefault(rr => rr.RoomId == room.Id && rr.RoleId == role.Id) != null;
 }
		private void BuildCache()
		{
			Cache.Images.ForEach(img =>
			{
                AddImage(img);
			});
			Cache.GiftGroups.ForEach(g =>
			{
				GiftGroupViewModel giftGroupVM = new GiftGroupViewModel(g);
				LocalCache.AllGiftGroupVMs.Add(giftGroupVM);
			});
			Cache.Gifts.ForEach(g =>
			{
				GiftViewModel giftVM = new GiftViewModel(g);
				giftVM.Initialize();
				LocalCache.AllGiftVMs.Add(giftVM);
			});
			LocalCache.AllGiftGroupVMs.ForEach(g =>
			{
				g.Initialize();
			});
			Cache.RoomGroups.ForEach(rg =>
			{
				RoomGroupViewModel roomGroupVM = new RoomGroupViewModel(rg);
				LocalCache.AllRoomGroupVMs.Add(roomGroupVM);
			});
			//Create all the RoomViewModels so that we can initialize the RoomVMs of RoomGroupVM
			Cache.Rooms.ForEach(r =>
			{
				RoomViewModel roomVM = new RoomViewModel(r);
				roomVM.Initialize();
				LocalCache.AllRoomVMs.Add(roomVM);
			});
			LocalCache.AllRoomGroupVMs.ForEach(rgv =>
			{
				rgv.Initialize();
			});
			Cache.Commands.ForEach(c =>
			{
				if (c.Application_Id == ApplicationId || c.Application_Id == BuiltIns.AllApplication.Id)
				{
					CommandViewModel vm = new CommandViewModel(c);
					vm.Initialize();
					LocalCache.AllCommandVMs.Add(vm);
				}
			});
			Cache.Roles.ForEach(r =>
			{
				if (r.Application_Id == ApplicationId || r.Application_Id == BuiltIns.AllApplication.Id)
				{
					RoleViewModel vm = new RoleViewModel(r);
					LocalCache.AllRoleVMs.Add(vm);
				}
			});
			Cache.RoleCommands.ForEach(rc =>
			{
				if (rc.Application_Id == ApplicationId || rc.Application_Id == BuiltIns.AllApplication.Id)
				{
					RoleCommandViewModel vm = new RoleCommandViewModel(rc);
					vm.Initialize();
					LocalCache.AllRoleCommandVMs.Add(vm);
				}
			});
			LocalCache.AllRoleVMs.ForEach(r =>
			{
				r.Initialize();
			});
			Cache.RoomRoles.ForEach(rr =>
			{
				RoomRoleViewModel vm = new RoomRoleViewModel(rr);
                vm.Initialize();
				LocalCache.AllRoomRoleVMs.Add(vm);
			});
            Cache.ExchangeRates.ForEach(er =>
                {
                    ExchangeRateViewModel vm = new ExchangeRateViewModel(er);
                    LocalCache.AllExchangeRateVMs.Add(vm);
                });

		}