Ejemplo n.º 1
0
		public RoomViewModel(JabbrConnection jabbr, Room room) : base()
		{
			Connection = jabbr;
			Room = room;

			TypedMessage = string.Empty;
			Messages = new ObservableCollection<MessageViewModel> ();

			subTokMessageReceived = Messenger.SubscribeOnMainThread<JabbrMessageReceivedMessage> (msg => {

				if (!msg.RoomName.Equals(Room.Name, StringComparison.OrdinalIgnoreCase))
					return;

				lock (Messages)
					Messages.Add(new MessageViewModel(msg.Message));

			});

			subTokUserJoin = Messenger.Subscribe<JabbrUserJoinedMessage> (msg => {

				if (!msg.RoomName.Equals(Room.Name, StringComparison.OrdinalIgnoreCase))
					return;

				var uvm = new UserViewModel(msg.User);

				lock(Users)
				{
					if (!Users.Contains(uvm))
						_users.Add(uvm);
				}

				RaisePropertyChanged(() => Users);

			});

			subTokUserLeft = Messenger.Subscribe<JabbrUserLeftMessage> (msg => {

				if (!msg.RoomName.Equals(Room.Name, StringComparison.OrdinalIgnoreCase))
					return;

				var uvm = new UserViewModel(msg.User);

				lock(Users)
				{
					if (Users.Contains(uvm))
						_users.Remove(uvm);
				}

				RaisePropertyChanged(() => Users);
			});

			subTokCurrentRoomChgd = Messenger.Subscribe<CurrentRoomChangedMessage>(msg => {

				IsCurrent = msg.NewRoom.Room.Name.Equals(this.Room.Name, StringComparison.OrdinalIgnoreCase);
				RaisePropertyChanged(() => IsCurrent);

			});

			LoadRoom ();
		}
        public void LogIn(
            string url, Action<RequestSecurityTokenResponse> onLoggedIn, Action assumeCancelled,
            string identityProviderName = null)
        {
            var root = Application.Current.RootVisual as Frame;

            _messageHub = Mvx.Resolve<IMvxMessenger>();
            _subscriptionToken = _messageHub.Subscribe<RequestTokenMessage>(message =>
            {
                _response = message.TokenResponse;

                if (_response != null)
                {
                    onLoggedIn(_response);
                }
                else
                {
                    assumeCancelled();
                }

                if (root == null) return;
                if (root.CanGoBack)
                    root.GoBack();
            });

            if (root != null)
            {
                root.Navigate(
                    new Uri(
                        string.Format(
                            "/Cheesebaron.MvxPlugins.AzureAccessControl.WindowsPhone;component/Views/AccessControlWebAuthView.xaml?url={0}&name={1}",
                            WebUtility.UrlEncode(url), WebUtility.UrlEncode(identityProviderName)),
                        UriKind.Relative));
            }
        }
        public void LogIn(string url, Action<RequestSecurityTokenResponse> onLoggedIn, Action assumeCancelled, string identityProviderName = null)
        {
            var webAuthController = new AccessControlWebAuthController { RawUrl = url, IdentityProviderName = identityProviderName };

            _messageHub = Mvx.Resolve<IMvxMessenger>();
            _subscriptionToken = _messageHub.Subscribe<RequestTokenMessage>(message =>
            {
                webAuthController.OnCancel();

                if (message.TokenResponse != null)
                    onLoggedIn(message.TokenResponse);
                else
                    assumeCancelled();
            });

            var navControl = new UINavigationController(webAuthController)
            {
                Title = identityProviderName,
                NavigationBarHidden = false,
            };
            webAuthController.NavigationItem.LeftBarButtonItem = new UIBarButtonItem("Cancel", UIBarButtonItemStyle.Done,
                (sender, args) =>
                {
                    webAuthController.OnCancel();
                    assumeCancelled();
                });

            var modalHost = Mvx.Resolve<IMvxTouchModalHost>();
            modalHost.PresentModalViewController(navControl, true);
        }
Ejemplo n.º 4
0
 public MainViewModel(ISampleAppService sampleappservice, IMvxMessenger messenger)
 {
     _sampleAppService = sampleappservice;
     ReloadList();
     _messenger = messenger;
     _listChangedToken = _messenger.Subscribe<SampleAppChangedMessage>(OnListChanged);
 }
Ejemplo n.º 5
0
 public HomeViewModel(IDescriptionService descriptionService, IMvxMessenger messenger)
 {
     _token = messenger.SubscribeOnMainThread<TickMessage>(OnTick);
     Descriptions = descriptionService.Descriptions
                                     .Select(x => new DescriptionViewModel(x))
                                     .ToList();
 }
Ejemplo n.º 6
0
        public GoalEditViewModel()
        {
            //this.DefaultViewModel["Lebensmittel"] = ds.CurrentLebensmittel;
            //this.DefaultViewModel["Items"] = ds.LebensmittelConsumed;
            //this.DefaultViewModel["SelectedConsumed"] = ds.SelectedConsumed;
            //this.DefaultViewModel["Search"] = ds.LebensmittelResult;
            //this.DefaultViewModel["CurrentLebensmittel"] = ds.CurrentLebensmittel;
            //this.DefaultViewModel["SummaryConsumedDay"] = ds.SummaryConsumedDay;
            //this.DefaultViewModel["SummaryConsumedDaytime"] = ds.SummaryConsumedDaytime;

            //SelectedConsumed = null;

            _messenger = Mvx.Resolve<IMvxMessenger>();
            //_logintoken = _messenger.Subscribe<LoggedInEvent>(a => LoginChanged(a.LoggedIn));
            _synctoken = _messenger.Subscribe<SyncEvent>(a => RaisePropertyChanged("Sync"));
            SaveDailyCommand = new MvxCommand(SaveDaily, canSaveDaily);
            NewRecord = false;

            WorkoutMinutes = new ObservableCollection<int>() { 20, 40, 60 };
            WorkoutDays = new ObservableCollection<int>() { 1, 3, 5 };

            _goal_Endurance = CurrentGoal.Goal_Endurance;
            _goal_FatLoss = CurrentGoal.Goal_FatLoss;
            _goal_Muscle = CurrentGoal.Goal_Muscle;
            OnPropertyChanged("Goal_Muscle");
            OnPropertyChanged("Goal_Endurance");
            OnPropertyChanged("Goal_FatLoss"); ;
        }
Ejemplo n.º 7
0
        public ScanViewModel(IMvxMessenger mvxMessenger)
        {
            _mvxMessenger = mvxMessenger;

            _scanSubscriptionTokenToken =
                _mvxMessenger.Subscribe<ScanMessage>(OnScan);
        }
 public AddViewModel(ICollectionService collectionService, ILocationService locationService, IMvxMessenger messenger)
 {
     _collectionService = collectionService;
     _locationService = locationService;
     _token = messenger.SubscribeOnMainThread<LocationMessage>(OnLocation);
     GetInitialLocation();
 }
Ejemplo n.º 9
0
		public void Init(NavObject navObject)
		{
			_path = navObject.Path;
			HtmlUrl = navObject.HtmlUrl;
			_name = navObject.Name;
			_gitUrl = navObject.GitUrl;
			_forceBinary = navObject.ForceBinary;
			Username = navObject.Username;
			Repository = navObject.Repository;
			Branch = navObject.Branch;
			TrueBranch = navObject.TrueBranch;

			//Create the filename
			var fileName = System.IO.Path.GetFileName(_path);
			if (fileName == null)
				fileName = _path.Substring(_path.LastIndexOf('/') + 1);

			//Create the temp file path
			Title = fileName;

			_editToken = Messenger.SubscribeOnMainThread<SourceEditMessage>(x =>
			{
				if (x.OldSha == null || x.Update == null)
					return;
				_gitUrl = x.Update.Content.GitUrl;
				LoadCommand.Execute(true);
			});
		}
 public FlashCardSetListViewModel(IFlashCardManager flashCardManager, IMvxMessenger messenger, IStudySettingsService settingsService)
 {
     _flashCardManager = flashCardManager;
     _messenger = messenger;
     _settingsService = settingsService;
     GetFlashCardSetList();
     _flashCardSetSubscriptionToken = _messenger.Subscribe<FlashCardSetListChangedMessage>(OnListChanged);
 }
Ejemplo n.º 11
0
        public HomeViewModel()
            : base()
        {
            _mvxMsgTokenJabbrConnected = Messenger.Subscribe<JabbrConnectedMessage> (msg => RaisePropertyChanged (() => Rooms));
            _mvxMsgTokenJoinedRoom = Messenger.Subscribe<JabbrJoinedRoomMessage> (msg => RaisePropertyChanged(() => Rooms));

            Settings.Load ();
        }
 public GenerateViewModel(IMvxMessenger messenger, IDisplayDimensionsService displayDimensionsService,
                          IMandelbrotTaskGenerator mandelbrotTaskGenerator)
 {
     _displayDimensionsService = displayDimensionsService;
     _mandelbrotTaskGenerator = mandelbrotTaskGenerator;
     _mvxSubscriptionToken = messenger.SubscribeOnMainThread<TickMessage>(OnTick);
     _autoPlay = true;
 }
        public NutritionPlanOverviewViewModel()
        {
            _ds = BettrFitDataSource.Instance;

            _messenger = Mvx.Resolve<IMvxMessenger>();
            _synctoken = _messenger.Subscribe<SyncEvent>(a => RaisePropertyChanged("Sync"));
            CurrentDate = DateTime.Now;

            NutritionPlanCreateCommand = new MvxCommand(OnCreateNutritionPlan);
        }
Ejemplo n.º 14
0
		public RootViewModel(IAuthenticationService authService, IMvxMessenger messenger)
		{
			_authService = authService;

			_sessionChangedToken = messenger.SubscribeOnMainThread<SessionStateChangedMessage>((m) =>
				{
					reloadFavorites();
				});
			this.UserStoreViewModel = MvxToolbox.LoadViewModel<BaseUserStoreViewModel>();
		}
Ejemplo n.º 15
0
        public HomeViewModel()
            : base()
        {
            _mvxMsgTokenJabbrConnected = Messenger.Subscribe<JabbrConnectedMessage> (msg => RaisePropertyChanged (() => Rooms));
            _mvxMsgTokenJoinedRoom = Messenger.Subscribe<JabbrJoinedRoomMessage> (msg => RaisePropertyChanged(() => Rooms));

            Settings.Load ();

            if (Settings.Accounts == null || !Settings.Accounts.Any ())
                ShowAccountsCommand.Execute (null);
        }
Ejemplo n.º 16
0
        public EnterResultsViewModel(ITeamsService service, IMvxMessenger messenger, IGAService gaService)
		{
			_teamsService = service;
            _messenger = messenger;
            _gaService = gaService;

			_teamsChangedToken = messenger.Subscribe<TeamsChangedMessage> (OnTeamsChanged);
			_resultsChangedToken = messenger.Subscribe<ResultsChangedMessage> (OnResultsChanged);

			DataLoader = new DataLoader ();
		}
Ejemplo n.º 17
0
		public SideMenuViewModel(IAuthenticationService authService, IMvxMessenger messenger, ILocalizationService localizationService )
			:base(authService, messenger)
		{
			this.ShouldSubscribeToSessionChange = true;
			this._localizationService = localizationService;
			_languageChangeToken = messenger.Subscribe<LanguageChangedMessage>((message) =>
				{
					RaisePropertyChanged(() => NewLanguage);
				});

			PropertyChanged += propertyChanged;
		}
Ejemplo n.º 18
0
        public BootstrapViewModel(IMvxMessenger messenger)
            : base()
        {
            _messenger = messenger;

            _sendMessageClickedToken = _messenger.Subscribe<SendMessageClicked> (msg => {
                Click ();
            });

            Items = new ObservableCollection<ItemViewModel> ();
            Items.Add (new ItemViewModel ());
            Items.Add (new ItemViewModel ());
        }
 public AddViewModel(
     ICollectionService collectionService, 
     ILocationService locationService, 
     IMvxMessenger messenger, 
     IMvxPictureChooserTask pictureChooserTask, IMvxFileStore fileStore)
 {
     _collectionService = collectionService;
     _locationService = locationService;
     _pictureChooserTask = pictureChooserTask;
     _fileStore = fileStore;
     _token = messenger.SubscribeOnMainThread<LocationMessage>(OnLocation);
     GetInitialLocation();
 }
Ejemplo n.º 20
0
        public InboxViewModel(IInboxService inboxService,
                              IMvxMessenger mvxMessenger)
        {
            _inboxService = inboxService;
            _mvxMessenger = mvxMessenger;

            // fill our Inbox up with Items of Stuff from IInboxService
            ReloadInbox();

            // subscribe to Inbox Changed messages to react to changes in inbox service
            _inboxChangedSubToken =
                _mvxMessenger.Subscribe<InboxChangedMessage>(OnInboxChanged);
        }
Ejemplo n.º 21
0
		void reloadUserChangeSubscribtion()
		{
			if (this.ShouldSubscribeToSessionChange == false && _userChangeToken != null)
			{
				_messenger.Unsubscribe<CurrentUserChangedMessage>(_userChangeToken);
				_userChangeToken = null;
			}
			else if (ShouldSubscribeToSessionChange == true && _userChangeToken == null)
			{
				_userChangeToken = _messenger.SubscribeOnMainThread<CurrentUserChangedMessage>((message) =>
					{
						CurrentUser = message.CurrentUser;
					});
			}
		}
Ejemplo n.º 22
0
 public MenuViewModel(MenuMode mode)
 {
     if(mode != MenuMode.AtHome)
     {
         var messenger = Mvx.Resolve<IMvxMessenger>();
         _token = messenger.Subscribe<ContentReceivedMessage>(message =>
         {
             HasReceivedNotifications = true;
             RaisePropertyChanged(() => HasReceivedNotifications);
         });
     }
     HomeCommand = new MvxCommand(HomeCommandAction, () => mode != MenuMode.AtHome);
     SettingsCommand = new MvxCommand(SettingsCommandAction, () => mode != MenuMode.AtSettings);
     AddContactCommand = new MvxCommand(AddContactCommandAction, () => mode != MenuMode.AtAddContact);
 }
Ejemplo n.º 23
0
		#pragma warning restore 414

		protected override void OnCreate (Bundle bundle)
		{
			base.OnCreate (bundle);
			SetContentView (Resource.Layout.HomeView);

			mDrawerLayout = FindViewById<DrawerLayout> (Resource.Id.drawer);
			mDrawerView = FindViewById (Resource.Id.items);
			mDrawerToggle = new ActionBarDrawerToggle (this, mDrawerLayout, Resource.Drawable.ic_navigation_drawer, 0, 0);
			mDrawerLayout.SetDrawerListener (mDrawerToggle);

			ActionBar.SetHomeButtonEnabled (true);
			ActionBar.SetDisplayHomeAsUpEnabled (true);

			_closeDrawerToken = Mvx.Resolve<IMvxMessenger> ().SubscribeOnMainThread<CloseDrawerMessage> (
				message => mDrawerLayout.CloseDrawer (mDrawerView));     
		}
Ejemplo n.º 24
0
		public ConversationViewModel(IStorageService storageService, IMessageService messageService, IMvxMessenger messenger, IPopupHelper helper) : base(messenger, helper)
		{
			_storageService = storageService;
			_messageService = messageService;

			_token = _messenger.Subscribe<ContentReceivedMessage>(OnNotificationReceived, MvxReference.Strong);
			SendMessageCommand = new MvxCommand(SendMessageCommandAction, () => !string.IsNullOrWhiteSpace(MessageBody));

			CleaningUp += () =>
			{
				if (_token == null)
					return;
				_token.Dispose();
				_token = null;
			};
		}
Ejemplo n.º 25
0
		public BaseUserStoreViewModel(IAuthenticationService authService, IMvxMessenger messenger )
			:base(authService, messenger)
		{
			this.ShouldSubscribeToSessionChange = true;

			_storeChangeToken = messenger.SubscribeOnMainThread<StoreChangedMessage>((message) =>
				{
					//If the changed store is related to current user then refetch the user store to reflect the change
					if(message.Store != null && this.CurrentUser != null &&
						message.Store.OwnerID == this.CurrentUser.ID)
					{
						reloadUserStore();
					}
				});
			PropertyChanged += propertyChanged;
		}
        public void LogIn(string url, Action<RequestSecurityTokenResponse> onLoggedIn, Action assumeCancelled, string identityProviderName = null)
        {
            _onLoggedIn = onLoggedIn;
            _assumeCancelled = assumeCancelled;
            _messageHub = Mvx.Resolve<IMvxMessenger>();
            _subscriptionToken = _messageHub.Subscribe<RequestTokenMessage>(message =>
            {
                _response = message.TokenResponse;
            });

            var intent = new Intent(Mvx.Resolve<IMvxAndroidGlobals>()
                .ApplicationContext, typeof(AccessControlWebAuthActivity));
            intent.PutExtra("cheesebaron.mvxplugins.azureaccesscontrol.droid.Url", url);

            StartActivityForResult(LoginIdentityRequestCode, intent);
        }
        public TouchNotifications()
        {
            var messenger = Mvx.Resolve<IMvxMessenger>();
            _notificationRegisterMessageToken = messenger.Subscribe<NotificationRegisterMessage>(message =>
            {
                if(message.Registered)
                {
                    RegistrationId = message.RegistrationId;
                    IsRegistered = true;

                    if(Registered != null)
                        Registered(
                            this, new DidRegisterForNotificationsEventArgs {
                                RegistrationId = RegistrationId
                            });
                }
                else
                {
                    IsRegistered = false;

                    if(Unregistered != null)
                        Unregistered(this, EventArgs.Empty);
                }
            });
            _errorMessageToken = messenger.Subscribe<NotificationErrorMessage>(message => {
                if(Error != null)
                    Error(
                        this, new NotificationErrorEventArgs {Message = message.Message});
            });
            _notificationsToken = messenger.Subscribe<NotificationReceivedMessage>(async message => {
                if(message.Local) {
                    if(Configuration.LocalNotification != null)
                        await Configuration.LocalNotification(message.AlertAction, message.Body);
                    else
                        await
                            Configuration.DefaultLocalNotification(message.AlertAction, message.Body);
                }
                else {
                    if(Configuration.RemoteNotification != null)
                        await Configuration.RemoteNotification(message.Body);
                    else
                        await Configuration.DefaultRemoteNotification(message.Body);
                }
            });
        }
Ejemplo n.º 28
0
        public DailyDataEditViewModel()
        {
            //this.DefaultViewModel["Lebensmittel"] = ds.CurrentLebensmittel;
            //this.DefaultViewModel["Items"] = ds.LebensmittelConsumed;
            //this.DefaultViewModel["SelectedConsumed"] = ds.SelectedConsumed;
            //this.DefaultViewModel["Search"] = ds.LebensmittelResult;
            //this.DefaultViewModel["CurrentLebensmittel"] = ds.CurrentLebensmittel;
            //this.DefaultViewModel["SummaryConsumedDay"] = ds.SummaryConsumedDay;
            //this.DefaultViewModel["SummaryConsumedDaytime"] = ds.SummaryConsumedDaytime;

            //SelectedConsumed = null;

            _messenger = Mvx.Resolve<IMvxMessenger>();
            //_logintoken = _messenger.Subscribe<LoggedInEvent>(a => LoginChanged(a.LoggedIn));
            _synctoken = _messenger.Subscribe<SyncEvent>(a => RaisePropertyChanged("Sync"));
            SaveDailyCommand = new MvxCommand(SaveDaily, canSaveDaily);
            NewRecord = false;
        }
        public MakeStuffActionableViewModel(IMvxMessenger mvxMessenger,
                                            IInboxService inboxService,
                                            IProjectService projectService,
                                            IActionService actionService)
        {
            _mvxMessenger = mvxMessenger;
            _inboxService = inboxService;
            _projectService = projectService;
            _actionService = actionService;

            ReloadProjects();

            // subscribe to Projects Changed messages to react to changes in project service
            _projectsChangedSubToken =
                _mvxMessenger.Subscribe<ProjectsChangedMessage>(OnProjectsChanged);

            _isSingleActionProject = true;
        }
Ejemplo n.º 30
0
		public void Init(NavObject nav)
		{
			Username = nav.Username;
			Repository = nav.Repository;
			_issues = new FilterableCollectionViewModel<IssueModel, IssuesFilterModel>("IssuesViewModel:" + Username + "/" + Repository);
			_issues.GroupingFunction = Group;
			_issues.Bind(x => x.Filter, () => LoadCommand.Execute(true));

			_addToken = Messenger.SubscribeOnMainThread<IssueAddMessage>(x =>
			{
				if (x.Issue == null || !DoesIssueBelong(x.Issue))
					return;
				Issues.Items.Insert(0, x.Issue);
			});

			_editToken = Messenger.SubscribeOnMainThread<IssueEditMessage>(x =>
			{
				if (x.Issue == null || !DoesIssueBelong(x.Issue))
					return;
				
				var item = Issues.Items.FirstOrDefault(y => y.LocalId == x.Issue.LocalId);
				if (item == null)
					return;

				var index = Issues.Items.IndexOf(item);

				using (Issues.DeferRefresh())
				{
					Issues.Items.RemoveAt(index);
					Issues.Items.Insert(index, x.Issue);
				}
			});

            _deleteToken = Messenger.SubscribeOnMainThread<IssueDeleteMessage>(x =>
            {
                var find = Issues.Items.FirstOrDefault(i => i.LocalId == x.Issue.LocalId);
                if (find != null)
                    Issues.Items.Remove(find);
            });

            _filterToken = Messenger.SubscribeOnMainThread<IssuesFilterMessage>(x => {
                _issues.Filter = x.Filter;
            });
		}
Ejemplo n.º 31
0
 public void Unsubscribe <TMessage>(MvxSubscriptionToken mvxSubscriptionId) where TMessage : MvxMessage
 {
     InternalUnsubscribe <TMessage>(mvxSubscriptionId.Id);
 }