public PackageInstallationService(InstallationTaskQueue pendingInstalls, 
     RunningInstallationTaskList runningInstalls, 
     CompletedInstallationTaskList completedInstalls,
     IDeploymentService deploymentService,
     ILogger logger,
     IHubCommunicator hubCommunicator, 
     ILocalPackageCache agentCache, 
     IInstalledPackageArchive installCache, 
     RunningInstallationTaskList runningTasks, 
     IAgentSettingsManager settingsManager,
     IPackagesList allPackagesList,
     CurrentlyDownloadingList currentlyDownloadingList,
     INotificationService notificationService)
 {
     CompletedInstalls = completedInstalls;
     _deploymentService = deploymentService;
     _logger = logger;
     _hubCommunicator = hubCommunicator;
     _agentCache = agentCache;
     _installCache = installCache;
     _runningTasks = runningTasks;
     _settingsManager = settingsManager;
     _allPackagesList = allPackagesList;
     _currentlyDownloadingList = currentlyDownloadingList;
     _notificationService = notificationService;
     PendingInstalls = pendingInstalls;
     RunningInstalls = runningInstalls;
     TimedTask = new TimedSingleExecutionTask(5000, CheckForNewInstallations, _logger);
 }
 public PackageDownloadingService(IAgentSettingsManager agentSettingsManager,
     IRetrievePackageQuery allPackagesQuery,
     ILocalPackageCache agentCache,
     IAgentConfigurationManager agentConfigurationManager,
     ILogger logger,
     IHubCommunicator hubCommunicator,
     IInstalledPackageArchive installCache,
     IPackageRepositoryFactory packageRepositoryFactory,
     IPackagesList allPackagesList,
     ICurrentlyDownloadingList currentlyDownloadingList,
     CompletedInstallationTaskList installationResults,
     IAgentWatchList watchList,
     IInstallationManager installationManager,INotificationService notificationService)
 {
     _settingsManager = agentSettingsManager;
     AllPackagesQuery = allPackagesQuery;
     AgentCache = agentCache;
     _agentConfigurationManager = agentConfigurationManager;
     _logger = logger;
     _hubCommunicator = hubCommunicator;
     _installCache = installCache;
     _packageRepository = packageRepositoryFactory.CreateRepository(agentSettingsManager.Settings.NuGetRepository);
     _allPackagesList = allPackagesList;
     _currentlyDownloadingList = currentlyDownloadingList;
     _installationResults = installationResults;
     _watchList = watchList;
     _installationManager = installationManager;
     _notificationService = notificationService;
     TimedTask = new TimedSingleExecutionTask(agentSettingsManager.Settings.PackageSyncIntervalMs, FetchPackages,
                                              _logger);
 }
Ejemplo n.º 3
0
 public AgentsController(IAgentRegistrationService agentRegistrationService,
                         IAgentContextService agentContextService,
                         IAgentContextInternal agentContextInternal,
                         IAgentInvitationAcceptService agentInvitationAcceptService,
                         IInvitationRecordService invitationRecordService,
                         ITokenInfoAccessor tokenInfoAccessor,
                         IAgentSettingsManager agentSettingsManager,
                         IAgentService agentService,
                         IAgentStatusManagementService agentStatusManagementService,
                         IAgentInvitationRecordListService agentInvitationRecordListService,
                         IAgentInvitationCreateService agentInvitationCreateService,
                         IIdentityUserInfoService identityUserInfoService,
                         IAgentRolesAssignmentService rolesAssignmentService)
 {
     _agentRegistrationService     = agentRegistrationService;
     _agentContextService          = agentContextService;
     _agentContextInternal         = agentContextInternal;
     _agentInvitationAcceptService = agentInvitationAcceptService;
     _invitationRecordService      = invitationRecordService;
     _tokenInfoAccessor            = tokenInfoAccessor;
     _agentSettingsManager         = agentSettingsManager;
     _agentService = agentService;
     _agentStatusManagementService     = agentStatusManagementService;
     _agentInvitationRecordListService = agentInvitationRecordListService;
     _agentInvitationCreateService     = agentInvitationCreateService;
     _identityUserInfoService          = identityUserInfoService;
     _rolesAssignmentService           = rolesAssignmentService;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Executes the provided IWindowsServices and supports automatic installation using the command line params -install / -uninstall
        /// </summary>
        /// <param name="args"></param>
        /// <param name="createServices">Function which provides a WindowsServiceCollection of services to execute</param>
        /// <param name="configureContext">Optional application context configuration</param>
        /// <param name="installationSettings">Optional installer configuration with semi-sensible defaults</param>
        /// <param name="registerContainer">Optionally register an IoC container</param>
        /// <param name="agentSettingsManager">Optionally provide agent settings </param>
        public WindowsServiceRunner(string[] args,
            Func<IWindowsService[]> createServices,
            Action<ApplicationContext> configureContext = null,
            Action<System.ServiceProcess.ServiceInstaller,
            ServiceProcessInstaller> installationSettings = null,
            Func<IIocContainer> registerContainer = null,
            IAgentSettingsManager agentSettingsManager = null,
            Action<ApplicationContext,string> notify=null)
        {
            _notify = notify ?? ((ctx,message) => { });
            var log = LogManager.GetLogger(typeof (WindowsServiceRunner));
            _args = args;
            _context = new ApplicationContext();
            _createServices = createServices;
            _agentSettingsManager = agentSettingsManager;
            _logger = log;
            _configureContext = configureContext ?? (ctx => {  });
            _context.ConfigureInstall = installationSettings ?? ((serviceInstaller, serviceProcessInstaller) => { });
            _context.Container = registerContainer;

            if (registerContainer==null)
            {
                throw new ArgumentException("Binding container is null");
            }
            if (registerContainer != null)
            {
                _logger.DebugFormat("container is " + registerContainer.ToString());
            }
        }
Ejemplo n.º 5
0
 public AgentConfigurationDownloader(IAgentConfigurationManager agentConfigurationManager,
     IRetrievePackageQuery packageQuery,
     IAgentSettingsManager agentSettingsManager)
 {
     _agentConfigurationManager = agentConfigurationManager;
     _packageQuery = packageQuery;
     _agentSettingsManager = agentSettingsManager;
 }
Ejemplo n.º 6
0
        public JabberNotifier(IAgentSettingsManager settingsManager)
        {
            _settingsManager = settingsManager;
            _queueTimer.Elapsed += SendNextQueuedMessage;
            _queueTimer.Start();

            _recipients = _settingsManager.Settings.NotificationRecipients.Split(new[] { ';', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
        }
 public AgentConfigurationDownloader(IAgentConfigurationManager agentConfigurationManager,
     IRetrievePackageQuery packageQuery,
     IAgentSettingsManager agentSettingsManager,
     ILogger logger,
     IConfigurationDefaults configurationDefaults)
 {
     _agentConfigurationManager = agentConfigurationManager;
     _packageQuery = packageQuery;
     _agentSettingsManager = agentSettingsManager;
     _logger = logger;
     _configurationDefaults = configurationDefaults;
 }
Ejemplo n.º 8
0
 public DeploymentService(IEnumerable<IDeploymentHook> hooks, 
                          ILocalPackageCache packageCache,
                          IInstalledPackageArchive installedPackageArchive,
     IAgentSettingsManager agentSettingsManager, ILogger logger, IRetrievePackageQuery nugetPackageQuery,
     INotificationService notificationService)
 {
     _hooks = hooks;
     _packageCache = packageCache;
     _installedPackageArchive = installedPackageArchive;
     _agentSettingsManager = agentSettingsManager;
     Logger = logger;
     _nugetPackageQuery = nugetPackageQuery;
     _notificationService = notificationService;
 }
Ejemplo n.º 9
0
 public MarkupService(EdoContext context,
                      IDoubleFlow flow,
                      IMarkupPolicyTemplateService templateService,
                      ICurrencyRateService currencyRateService,
                      IAgentSettingsManager agentSettingsManager,
                      IAccommodationBookingSettingsService accommodationBookingSettingsService)
 {
     _context              = context;
     _flow                 = flow;
     _templateService      = templateService;
     _currencyRateService  = currencyRateService;
     _agentSettingsManager = agentSettingsManager;
     _accommodationBookingSettingsService = accommodationBookingSettingsService;
 }
Ejemplo n.º 10
0
 public BookingReportsService(IDateTimeProvider dateTimeProvider,
                              INotificationService notificationService,
                              IAgentSettingsManager agentSettingsManager,
                              IAccountPaymentService accountPaymentService,
                              IOptions <BookingMailingOptions> options,
                              EdoContext context)
 {
     _dateTimeProvider      = dateTimeProvider;
     _notificationService   = notificationService;
     _agentSettingsManager  = agentSettingsManager;
     _accountPaymentService = accountPaymentService;
     _context = context;
     _options = options.Value;
 }
Ejemplo n.º 11
0
        public static AgentStatusReport BuildStatus(IPackagesList availablePackages, ILocalPackageCache packageCache, IInstalledPackageArchive installCache, RunningInstallationTaskList runningTasks, IAgentSettingsManager settingsManager, ICurrentlyDownloadingList currentlyDownloadingList, CompletedInstallationTaskList completedInstallations)
        {
            // copying these collections to variables because sometimes they get modified while building the status report object
            string[] updating = new string[currentlyDownloadingList != null ? currentlyDownloadingList.Count : 0];
            if (currentlyDownloadingList != null) currentlyDownloadingList.CopyTo(updating, 0);

            IPackage[] packages = new IPackage[availablePackages != null ? availablePackages.Count : 0];
            if (availablePackages != null) availablePackages.CopyTo(packages, 0);

            var watchedPackageList = availablePackages.GetWatched().ToList();
            IPackage[] watchedPackages = new IPackage[watchedPackageList != null ? watchedPackageList.Count : 0];
            if (watchedPackageList != null) watchedPackageList.CopyTo(watchedPackages);

            InstallationTask[] tasks=new InstallationTask[runningTasks != null ? runningTasks.Count : 0];
            if (runningTasks != null) runningTasks.CopyTo(tasks);

            var status = new AgentStatusReport
                       {
                           packages = BuildPackageInformation(watchedPackages, installCache, tasks, completedInstallations),
                           currentTasks = tasks.Select(t =>
                                                           {
                                                               var installation = new InstallTaskViewModel();
                                                               installation.Messages =
                                                                   t.ProgressReports.Select(pr => pr.Message).ToArray();
                                                               if (t.Task != null)
                                                               {
                                                                   installation.Status =
                                                                       Enum.GetName(typeof (TaskStatus), t.Task.Status);
                                                               }
                                                               installation.PackageId = t.PackageId;
                                                               installation.Version = t.Version;
                                                               installation.LastMessage = t.ProgressReports.Count > 0
                                                                                              ? t.ProgressReports.
                                                                                                    LastOrDefault().
                                                                                                    Message
                                                                                              : "";
                                                               return installation;
                                                           }).ToList(),
                           availableVersions = packages.Select(p => p.Version.ToString()).Distinct().OrderByDescending(s => s).ToList(),
                           environment = settingsManager.Settings.DeploymentEnvironment,
                           updating = updating.ToList(),
                           isUpdating = currentlyDownloadingList.Downloading
                       };

            status.OutOfDate =
                status.packages.Any(p => p.OutOfDate);

            return status;
        }
Ejemplo n.º 12
0
 public BookingMailingService(MailSenderWithCompanyInfo mailSender,
                              IBookingDocumentsService bookingDocumentsService,
                              IBookingRecordsManager bookingRecordsManager,
                              IOptions <BookingMailingOptions> options,
                              IDateTimeProvider dateTimeProvider,
                              IAgentSettingsManager agentSettingsManager,
                              IAccountPaymentService accountPaymentService,
                              EdoContext context)
 {
     _bookingDocumentsService = bookingDocumentsService;
     _bookingRecordsManager   = bookingRecordsManager;
     _mailSender            = mailSender;
     _options               = options.Value;
     _dateTimeProvider      = dateTimeProvider;
     _agentSettingsManager  = agentSettingsManager;
     _accountPaymentService = accountPaymentService;
     _context               = context;
 }
Ejemplo n.º 13
0
 public AgentsController(IAgentRegistrationService agentRegistrationService, IAgentContextService agentContextService,
                         IAgentContextInternal agentContextInternal,
                         IAgentInvitationService agentInvitationService,
                         ITokenInfoAccessor tokenInfoAccessor,
                         IAgentSettingsManager agentSettingsManager,
                         IAgentPermissionManagementService permissionManagementService,
                         IHttpClientFactory httpClientFactory,
                         IAgentService agentService,
                         IAgentStatusManagementService agentStatusManagementService)
 {
     _agentRegistrationService    = agentRegistrationService;
     _agentContextService         = agentContextService;
     _agentContextInternal        = agentContextInternal;
     _agentInvitationService      = agentInvitationService;
     _tokenInfoAccessor           = tokenInfoAccessor;
     _agentSettingsManager        = agentSettingsManager;
     _permissionManagementService = permissionManagementService;
     _httpClientFactory           = httpClientFactory;
     _agentService = agentService;
     _agentStatusManagementService = agentStatusManagementService;
 }
Ejemplo n.º 14
0
 public HubCommunicationService(IHubCommunicator hubCommunicator,
     IPackagesList allPackagesList, 
     ILocalPackageCache localPackageCache,
     IInstalledPackageArchive installCache, 
     RunningInstallationTaskList runningTasks, 
     IAgentSettingsManager settingsManager, 
     ILogger logger,
     CurrentlyDownloadingList currentlyDownloadingList,
     CompletedInstallationTaskList completedInstalls,
     INotificationService notificationService)
 {
     _hubCommunicator = hubCommunicator;
     _allPackagesList = allPackagesList;
     _localPackageCache = localPackageCache;
     _installCache = installCache;
     _runningTasks = runningTasks;
     _settingsManager = settingsManager;
     _logger = logger;
     _currentlyDownloadingList = currentlyDownloadingList;
     CompletedInstalls = completedInstalls;
     _notificationService = notificationService;
 }
 public ConfigTransformationDeploymentHook(IFileSystem fileSystem, IAgentSettingsManager agentSettingsManager)
     : base(agentSettingsManager, fileSystem)
 {
 }
Ejemplo n.º 16
0
 public InstalledPackageArchive(IAgentSettingsManager agentSettingsManager, IFileSystem fileSystem, ILocalPackageCache packageCache)
 {
     _agentSettingsManager = agentSettingsManager;
     _fileSystem = fileSystem;
     _packageCache = packageCache;
 }
Ejemplo n.º 17
0
 public AppOfflineDeploymentHook(IFileSystem fileSystem, IAgentSettingsManager agentSettingsManager)
     : base(agentSettingsManager, fileSystem)
 {
     _fileSystem = fileSystem;
 }
Ejemplo n.º 18
0
 public HubCommunicator(IAgentSettingsManager agentSettingsManager, ILogger log, HubCommunicationsQueue communicationsQueue)
 {
     _agentSettingsManager = agentSettingsManager;
     _log = log;
     _communicationsQueue = communicationsQueue;
 }
Ejemplo n.º 19
0
 public PowershellDeploymentHook(IAgentSettingsManager agentSettingsManager, IFileSystem fileSystem)
     : base(agentSettingsManager, fileSystem)
 {
     _fileSystem = fileSystem;
 }
Ejemplo n.º 20
0
 public ServiceDeploymentHook(IFileSystem fileSystem, IAgentSettingsManager agentSettingsManager)
     : base(agentSettingsManager, fileSystem)
 {
     _serviceInstallationPath = Path.Combine(agentSettingsManager.Settings.BaseInstallationPath, "services");
 }
 public IisMsDeployDeploymentHook(IAgentSettingsManager agentSettingsManager, IFileSystem fileSystem)
     : base(agentSettingsManager, fileSystem)
 {
 }
Ejemplo n.º 22
0
 public AgentActionsService(IAgentSettingsManager agentSettingsManager)
 {
     _agentSettingsManager = agentSettingsManager;
 }
Ejemplo n.º 23
0
 public NuGetPackageCache(IFileSystem fileSystem, IAgentSettingsManager agentSettings, ILogger logger)
     : this(fileSystem, agentSettings.Settings.CacheDirectory)
 {
     Logger = logger;
 }
Ejemplo n.º 24
0
 protected DeploymentHookBase(IAgentSettingsManager agentSettingsManager, IFileSystem fileSystem)
 {
     AgentSettingsManager = agentSettingsManager;
     FileSystem = fileSystem;
 }