Example #1
0
        /// <summary>
        /// Shared Ctor initialisation
        /// </summary>
        /// <param name="asyncWorker"></param>
        /// <param name="serverProvider"></param>
        /// <param name="environmentRepository"></param>
        /// <param name="eventAggregator"></param>
        /// <param name="connectControl"></param>
        /// <param name="deployStatsCalculator"></param>
        private void Initialize(IAsyncWorker asyncWorker, IEnvironmentModelProvider serverProvider, IEnvironmentRepository environmentRepository, IEventAggregator eventAggregator, IConnectControlSingleton connectControl, IDeployStatsCalculator deployStatsCalculator = null)
        {
            EnvironmentRepository = environmentRepository;

            _deployStatsCalculator = deployStatsCalculator ?? new DeployStatsCalculator();
            _serverProvider        = serverProvider;
            _servers     = new ObservableCollection <IEnvironmentModel>();
            _targetStats = new ObservableCollection <DeployStatsTO>();
            _sourceStats = new ObservableCollection <DeployStatsTO>();

            Target = new DeployNavigationViewModel(eventAggregator, asyncWorker, environmentRepository, StudioResourceRepository, true, connectControl);
            Source = new DeployNavigationViewModel(eventAggregator, asyncWorker, environmentRepository, StudioResourceRepository, false, connectControl);

            SetupPredicates();
            SetupCommands();
            LoadServers();
            ExplorerItemModel.OnCheckedStateChangedAction += OnCheckedStateChangedAction;
        }
Example #2
0
 // ReSharper disable TooManyDependencies
 /// <summary>
 /// DI constructor
 /// </summary>
 /// <param name="asyncWorker"> async worker</param>
 /// <param name="serverProvider">server provider</param>
 /// <param name="environmentRepository"> environments </param>
 /// <param name="eventAggregator"> caliburn event handlers</param>
 /// <param name="studioResourceRepository"> studio repository </param>
 /// <param name="sourceConnectControlVm"> source server connect control</param>
 /// <param name="destinationConnectControlVm"> destination server connect control</param>
 /// <param name="deployStatsCalculator"> calculator for new overwritten totla resources</param>
 /// <param name="resourceID"> resource id</param>
 /// <param name="environmentID">environment id</param>
 /// <param name="connectControlSingleton">connect control</param>
 public DeployViewModel(IAsyncWorker asyncWorker, IEnvironmentModelProvider serverProvider, IEnvironmentRepository environmentRepository, IEventAggregator eventAggregator, IStudioResourceRepository studioResourceRepository, IConnectControlViewModel sourceConnectControlVm, IConnectControlViewModel destinationConnectControlVm, IDeployStatsCalculator deployStatsCalculator = null, Guid?resourceID = null, Guid?environmentID = null, IConnectControlSingleton connectControlSingleton = null)
 // ReSharper restore TooManyDependencies
     : base(eventAggregator)
 {
     VerifyArgument.IsNotNull("asyncWorker", asyncWorker);
     if (connectControlSingleton == null)
     {
         connectControlSingleton = ConnectControlSingleton.Instance;
     }
     if (environmentID.HasValue)
     {
         _initialItemEnvironmentID = environmentID.Value;
     }
     _initialItemResourceID      = resourceID.GetValueOrDefault(Guid.Empty);
     DestinationServerHasDropped = false;
     StudioResourceRepository    = studioResourceRepository;
     Initialize(asyncWorker, serverProvider, environmentRepository, eventAggregator, connectControlSingleton, deployStatsCalculator);
     SourceConnectControlViewModel = sourceConnectControlVm ?? new ConnectControlViewModel(ChangeSourceServer, "Source Server:", false);
     TargetConnectControlViewModel = destinationConnectControlVm ?? new ConnectControlViewModel(ChangeDestinationServer, "Destination Server:", false);
     TargetConnectControlViewModel.SetTargetEnvironment();
 }