Esempio n. 1
0
 public ProjectRunProcessStartInfoProvider(
     IExecutionParameters executionParameters,
     IDotNetCommandStartConstructor cmdStartConstructor)
 {
     ExecutionParameters = executionParameters;
     CmdStartConstructor = cmdStartConstructor;
 }
        private async Task SavePropertyChangeActions(IExecutionParameters executionParameters)
        {
            var propertyChangeActions = this.Select(t => t.Action).OfType <PropertyChangeAction>().Where(p => p.IsAssociated.GetValueOrDefault());

            if (propertyChangeActions.Any() && executionParameters != null)
            {
                var namePropertyType = executionParameters.CustomPropertyTypes.Find(
                    i => i.Predefined == ProjectMeta.PropertyTypePredefined.Name); // Property 'Name' must exist

                var nameChangeAction = propertyChangeActions.FirstOrDefault(a => a.InstancePropertyTypeId == namePropertyType.InstancePropertyTypeId);
                if (nameChangeAction != null)
                {
                    await executionParameters.SaveRepository.UpdateArtifactName(
                        executionParameters.UserId,
                        executionParameters.ArtifactInfo.Id,
                        nameChangeAction.PropertyLiteValue.TextOrChoiceValue,
                        executionParameters.Transaction);
                }

                await executionParameters.SaveRepository.SavePropertyChangeActions(
                    executionParameters.UserId,
                    propertyChangeActions,
                    executionParameters.CustomPropertyTypes,
                    executionParameters.ArtifactInfo,
                    executionParameters.Transaction);
            }
        }
 public BuildStartInfoProvider(
     IExecutionParameters executionParameters,
     IDotNetCommandStartConstructor startConstructor)
 {
     ExecutionParameters = executionParameters;
     StartConstructor    = startConstructor;
 }
        protected override PropertySetResult ValidateActionToBeProcessed(IExecutionParameters executionParameters)
        {
            var result = executionParameters.ReuseValidator.ValidateReuseSettings(InstancePropertyTypeId, executionParameters.ReuseItemTemplate);

            if (result != null)
            {
                return(result);
            }
            return(ValidateProperty(executionParameters));
        }
        public async Task <IDictionary <string, string> > ProcessTriggers(IExecutionParameters executionParameters)
        {
            var errors = ValidateActions(executionParameters);

            if (errors.Keys.Any())
            {
                return(errors);
            }
            await InternalBatchExecute(executionParameters);

            return(new Dictionary <string, string>());
        }
        protected Dictionary <string, string> ValidateActions(IExecutionParameters executionParameters)
        {
            var result = new Dictionary <string, string>();

            foreach (var triggerExecutor in this)
            {
                var validationResult = triggerExecutor.Action.ValidateAction(executionParameters);
                if (validationResult != null)
                {
                    var message   = $"Property type id {validationResult.PropertyTypeId} had the following error: {validationResult.Message}";
                    var resultKey = triggerExecutor.Name + validationResult.PropertyTypeId;
                    if (!result.ContainsKey(resultKey))
                    {
                        result.Add(resultKey, message);
                    }
                }
            }
            return(result);
        }
        private PropertySetResult ValidateProperty(IExecutionParameters executionParameters)
        {
            var dPropertyType = executionParameters.CustomPropertyTypes.FirstOrDefault(item => item.InstancePropertyTypeId == InstancePropertyTypeId);

            if (dPropertyType == null)
            {
                IsAssociated = false;
                return(null);
            }
            IsAssociated = true;
            var resultSet = PopulatePropertyLite(dPropertyType);

            if (resultSet != null)
            {
                return(resultSet);
            }

            return(executionParameters.Validators.Select(v => v.Validate(PropertyLiteValue, executionParameters.CustomPropertyTypes, executionParameters.ValidationContext)).FirstOrDefault(r => r != null));
        }
Esempio n. 8
0
        public void ValidateAction_PropertyTypeIdNotFound_ReturnsTrue()
        {
            // Arrange
            InitializeNumberPropertyChangeAction();
            _propertyChangeAction.InstancePropertyTypeId = 5;
            _executionParameters = new ExecutionParameters(
                1,
                new VersionControlArtifactInfo(),
                null,
                _customPropertyTypes,
                _saveRepositoryMock.Object,
                null,
                null,
                new List <IPropertyValidator>(),
                _reuseValidatorMock.Object);

            // Act
            var result = _propertyChangeAction.ValidateAction(_executionParameters);

            // Assert
            Assert.IsNull(result);
        }
Esempio n. 9
0
 public async Task SavePropertyChangeActionsTest(IExecutionParameters executionParameters)
 {
     await base.InternalBatchExecute(executionParameters);
 }
Esempio n. 10
0
 protected virtual Task InternalBatchExecute(IExecutionParameters executionParameters)
 {
     return(Task.Run(() => { }));
 }
Esempio n. 11
0
 public override PropertySetResult ValidateAction(IExecutionParameters executionParameters)
 {
     return(null);
 }
Esempio n. 12
0
 public abstract PropertySetResult ValidateAction(IExecutionParameters executionParameters);
 protected override async Task InternalBatchExecute(IExecutionParameters executionParameters)
 {
     await SavePropertyChangeActions(executionParameters);
 }
Esempio n. 14
0
 public override PropertySetResult ValidateAction(IExecutionParameters executionParameters)
 {
     return(ValidateActionToBeProcessed(executionParameters));
 }
Esempio n. 15
0
 protected abstract PropertySetResult ValidateActionToBeProcessed(IExecutionParameters executionParameters);
Esempio n. 16
0
 protected override Task InternalBatchExecute(IExecutionParameters executionParameters)
 {
     return(Task.Run(() => { }));
 }