| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Collections.ObjectModel;
- using System.ComponentModel.Composition;
- using System.ServiceModel;
- using WindowsPhone.Recipes.Push.Server.Services;
- namespace WindowsPhone.Recipes.Push.Server.ViewModels
- {
- [Export, PartCreationPolicy(CreationPolicy.Shared)]
- internal class MainViewModel : ViewModelBase
- {
- private PushService _pushService;
- private ImageService _imageService;
- private PushPatternViewModel _activePattern;
- [ImportingConstructor]
- public MainViewModel([ImportMany(typeof(PushPatternViewModel))] IEnumerable<PushPatternViewModel> pushPatterns)
- {
- PushPatterns = pushPatterns;
- ActivePattern = pushPatterns.FirstOrDefault();
- }
- [Import]
- private PushService PushService
- {
- get { return _pushService; }
- set
- {
- _pushService = value;
- _pushService.Subscribed += (s, e) => NotifyPropertyChanged("Subscribers");
- _pushService.Host();
- }
- }
- [Import]
- private ImageService ImageService
- {
- get { return _imageService; }
- set
- {
- _imageService = value;
- _imageService.Host();
- }
- }
- public IEnumerable<PushPatternViewModel> PushPatterns { get; private set; }
- [Import]
- public MessageStatusViewModel MessageStatus { get; private set; }
- public PushPatternViewModel ActivePattern
- {
- get { return _activePattern; }
- set
- {
- if (_activePattern != value)
- {
- if (_activePattern != null)
- {
- // Deactivate old pattern.
- _activePattern.IsActive = false;
- }
- _activePattern = value;
- if (_activePattern != null)
- {
- // Activate new pattern.
- _activePattern.IsActive = true;
- }
- NotifyPropertyChanged("ActivePattern");
- }
- }
- }
- public int Subscribers
- {
- get { return PushService.SubscribersCount; }
- }
- }
- }
|