protected override void ProcessRecord()
        {
            base.ProcessRecord();

            Logger.LogVerbose("Entering XrmSolutionPatches");

            XrmConnectionManager xrmConnection = new XrmConnectionManager(
                Logger);

            IOrganizationService pollingOrganizationService = xrmConnection.Connect(
                ConnectionString,
                120);

            SolutionManager solutionManager = new SolutionManager(
                Logger,
                OrganizationService,
                pollingOrganizationService);

            List <Solution> patches = solutionManager.GetSolutionPatches(UniqueSolutionName);

            Logger.LogInformation("{0} patches found for solution {1}", patches.Count, UniqueSolutionName);

            base.WriteObject(patches);

            Logger.LogVerbose("Entering XrmSolutionPatches");
        }
Esempio n. 2
0
        public IOrganizationService CreateConnection()
        {
            string name = "CrmConnection";

            string connectionString = GetConnectionString(name);

            XrmConnectionManager con
                = new XrmConnectionManager(new Logging.TestLogger());

            return(con.Connect(connectionString, 0));
        }
Esempio n. 3
0
        protected override void BeginProcessing()
        {
            base.BeginProcessing();

            XrmConnectionManager xrmConnection = new XrmConnectionManager(
                Logger);

            OrganizationService = xrmConnection.Connect(
                ConnectionString,
                Timeout);
        }
Esempio n. 4
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            Logger.LogVerbose("Entering XrmExportSolution");

            XrmConnectionManager xrmConnection = new XrmConnectionManager(
                Logger);

            SolutionManager solutionManager = new SolutionManager(
                Logger,
                OrganizationService,
                null);

            SolutionExportOptions options = new SolutionExportOptions
            {
                Managed      = Managed,
                SolutionName = UniqueSolutionName,
                ExportAutoNumberingSettings          = ExportAutoNumberingSettings,
                ExportCalendarSettings               = ExportCalendarSettings,
                ExportCustomizationSettings          = ExportCustomizationSettings,
                ExportEmailTrackingSettings          = ExportEmailTrackingSettings,
                ExportGeneralSettings                = ExportGeneralSettings,
                ExportIsvConfig                      = ExportIsvConfig,
                ExportMarketingSettings              = ExportMarketingSettings,
                ExportOutlookSynchronizationSettings = ExportOutlookSynchronizationSettings,
                ExportRelationshipRoles              = ExportRelationshipRoles,
                ExportSales   = ExportSales,
                TargetVersion = TargetVersion,
                ExportExternalApplications = ExportExternalApplications,
                IncludeVersionInName       = IncludeVersionInName,
                ExportAsync      = ExportAsync,
                AsyncWaitTimeout = AsyncWaitTimeout,
                SleepInterval    = SleepInterval
            };

            string solutionFile = solutionManager.ExportSolution(
                OutputFolder,
                options);

            base.WriteObject(solutionFile);

            Logger.LogVerbose("Leaving XrmExportSolution");
        }
Esempio n. 5
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            Logger.LogVerbose("Entering XrmImportSolutions");

            Logger.LogVerbose("Creating Polling Service");

            XrmConnectionManager xrmConnection = new XrmConnectionManager(
                Logger);

            IOrganizationService pollingOrganizationService = xrmConnection.Connect(
                ConnectionString,
                120);

            Logger.LogVerbose("Finished Creating Polling Service");

            SolutionManager solutionManager = new SolutionManager(
                Logger,
                OrganizationService,
                pollingOrganizationService);

            Logger.LogVerbose("Starting to proccess solutions");

            List <SolutionImportResult> results = solutionManager.ImportSolutions(
                LogsDirectory,
                ConfigFilePath);

            base.WriteObject(results);

            Logger.LogVerbose("All solutions processed");

            List <SolutionImportResult> failed = results.FindAll(r => r.Success.Equals(false));

            Logger.LogVerbose("Failed results count: {0}", failed.Count);

            if (failed.Count > 0)
            {
                throw new Exception(string.Format("Solution import Failed"));
            }

            Logger.LogVerbose("Leaving XrmImportSolutions");
        }
Esempio n. 6
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            Logger.LogVerbose("Entering XrmImportSolution");

            XrmConnectionManager xrmConnection = new XrmConnectionManager(
                Logger);

            IOrganizationService pollingOrganizationService = xrmConnection.Connect(
                ConnectionString,
                120);

            SolutionManager solutionManager = new SolutionManager(
                Logger,
                OrganizationService,
                pollingOrganizationService);

            SolutionImportResult result = solutionManager.ImportSolution(
                SolutionFilePath,
                PublishWorkflows,
                ConvertToManaged,
                OverwriteUnmanagedCustomizations,
                SkipProductUpdateDependencies,
                HoldingSolution,
                OverrideSameVersion,
                ImportAsync,
                SleepInterval,
                AsyncWaitTimeout,
                ImportJobId,
                DownloadFormattedLog,
                LogsDirectory,
                LogFileName);

            if (!result.Success)
            {
                throw new Exception(string.Format("Solution import Failed. Error: {0}", result.ErrorMessage));
            }

            Logger.LogVerbose("Leaving XrmImportSolution");
        }
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            Logger.LogVerbose("Entering XrmExportSolutions");

            XrmConnectionManager xrmConnection = new XrmConnectionManager(
                Logger);

            SolutionManager solutionManager = new SolutionManager(
                Logger,
                OrganizationService,
                null);

            List<string> solutions = solutionManager.ExportSolutions(
                OutputFolder,
                ConfigFilePath);

            base.WriteObject(solutions);

            Logger.LogVerbose("Leaving XrmExportSolutions");
        }
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            Logger.LogVerbose("Entering MergeXrmSolution");

            if (AsyncWaitTimeout == 0)
            {
                AsyncWaitTimeout = 15 * 60;
                base.WriteVerbose(string.Format("Setting Default AsyncWaitTimeout: {0}", AsyncWaitTimeout));
            }

            if (SleepInterval == 0)
            {
                SleepInterval = 15;
                base.WriteVerbose(string.Format("Setting Default SleepInterval: {0}", SleepInterval));
            }

            XrmConnectionManager xrmConnection = new XrmConnectionManager(
                Logger);

            IOrganizationService pollingOrganizationService = xrmConnection.Connect(
                ConnectionString,
                120);

            SolutionManager solutionManager = new SolutionManager(
                Logger,
                OrganizationService,
                pollingOrganizationService);

            SolutionApplyResult result = solutionManager.ApplySolution(
                UniqueSolutionName,
                ImportAsync,
                SleepInterval,
                AsyncWaitTimeout);

            if (!result.Success)
            {
                throw new Exception(string.Format("Solution upgrade Failed. Error: {0}", result.ErrorMessage));
            }

            Logger.LogVerbose("Leaving MergeXrmSolution");

            //base.ProcessRecord();

            //base.WriteVerbose(string.Format("Upgrading Solution: {0}", UniqueSolutionName));

            //if (AsyncWaitTimeout == 0)
            //{
            //    AsyncWaitTimeout = 15 * 60;
            //    base.WriteVerbose(string.Format("Setting Default AsyncWaitTimeout: {0}", AsyncWaitTimeout));
            //}

            //if (SleepInterval == 0)
            //{
            //    SleepInterval = 15;
            //    base.WriteVerbose(string.Format("Setting Default SleepInterval: {0}", SleepInterval));
            //}

            //var upgradeSolutionRequest = new DeleteAndPromoteRequest
            //{
            //    UniqueName = UniqueSolutionName
            //};

            //if (ImportAsync)
            //{
            //    var asyncRequest = new ExecuteAsyncRequest
            //    {
            //        Request = upgradeSolutionRequest
            //    };

            //    base.WriteVerbose("Applying using Async Mode");

            //    var asyncResponse = OrganizationService.Execute(asyncRequest) as ExecuteAsyncResponse;

            //    Guid asyncJobId = asyncResponse.AsyncJobId;

            //    base.WriteVerbose(string.Format("Async JobId: {0}", asyncJobId));

            //    WriteObject(asyncJobId);

            //    if (WaitForCompletion)
            //    {
            //        base.WriteVerbose("Waiting for completion");
            //        AwaitCompletion(asyncJobId);
            //    }
            //}
            //else
            //{
            //    OrganizationService.Execute(upgradeSolutionRequest);
            //}

            //base.WriteVerbose(string.Format("{0} Upgrade Completed", UniqueSolutionName));

            //VerifyUpgrade();
        }