Dev2.Studio.Deploy.DeployStatsCalculator.DeploySummaryPredicateExisting C# (CSharp) Method

DeploySummaryPredicateExisting() public method

The predicate used to detemine which resources are going to be overridden
public DeploySummaryPredicateExisting ( IExplorerItemModel node, DeployNavigationViewModel targetNavViewModel ) : bool
node IExplorerItemModel
targetNavViewModel Dev2.ViewModels.Deploy.DeployNavigationViewModel
return bool
        public bool DeploySummaryPredicateExisting(IExplorerItemModel node,
                                                   DeployNavigationViewModel targetNavViewModel)
        {
            var vm = node;
            if(vm == null || !vm.IsChecked.GetValueOrDefault(false)) return false;

            if(targetNavViewModel != null && targetNavViewModel.Environment != null)
            {
                IEnvironmentModel targetEnvironment = targetNavViewModel.Environment;
                if(targetEnvironment == null || targetEnvironment.ResourceRepository == null) return false;


                var conflictingItems = targetEnvironment.ResourceRepository.All()
                                        .Where(r => r.ID == vm.ResourceId)
                                        .Select(r => new Tuple<IResourceModel, IContextualResourceModel, IExplorerItemModel, DeployNavigationViewModel>(r, r as IContextualResourceModel, node, targetNavViewModel))
                                        .ToList();

                conflictingItems.ForEach(AddConflictingResources);

                return targetEnvironment.ResourceRepository.All()
                                        .Any(r => r.ID == vm.ResourceId);
            }
            return false;
        }

Usage Example

        protected static void SetupResources(DeployStatsCalculator deployStatsCalculator, bool isChecked)
        {
            IEnvironmentModel environmentModel;
            IExplorerItemModel resourceVm;
            var studioResourceRepository = CreateModels(isChecked, out environmentModel, out resourceVm);

            var navVm = new DeployNavigationViewModel(new Mock<IEventAggregator>().Object, AsyncWorkerTests.CreateSynchronousAsyncWorker().Object, new Mock<IEnvironmentRepository>().Object, studioResourceRepository, true, new Mock<IConnectControlSingleton>().Object) { Environment = environmentModel };
            resourceVm.IsChecked = isChecked;
            deployStatsCalculator.DeploySummaryPredicateExisting(resourceVm, navVm);
        }