Exemplo n.º 1
0
        public ModifySchema() : base(ActionName)
        {
            SchemaNameParameter = new ActionParameterDefinition(
                "schemaname", ActionParameterDefinition.TypeValue.String, "Domain name", "s", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            AddIdParameter = new ActionParameterDefinition(
                "addid", ActionParameterDefinition.TypeValue.Boolean, "Add id to the schema. It will add 'Id' attribute with GUID and primary key. Default value = false", "i", false);

            AddStateParameter = new ActionParameterDefinition(
                "addstate", ActionParameterDefinition.TypeValue.Boolean, "Add state to the schema. It will add 'State' attribute with values 1 enbled, 0 disabled. Default value = false", "st", false);

            AddUserRelationshipParameter = new ActionParameterDefinition(
                "adduserrelationship", ActionParameterDefinition.TypeValue.Boolean, "Add user relationships to schema. It will add 'CreatedBy' and 'ModifiedBy' forening keys to the schema, related with 'User' schema (must be created first). Default value = false", "u", false);

            AddDatesParameter = new ActionParameterDefinition(
                "adddates", ActionParameterDefinition.TypeValue.Boolean, "Add dates to schema. It will add 'CreatedOn' and 'ModifiedOn' of DateTime type. Default value = false", "d", false);

            AddOwnerParameter = new ActionParameterDefinition(
                "addowner", ActionParameterDefinition.TypeValue.Boolean, "Add owner to schema. It will add 'Owner'. Default value = false", "o", false);

            ActionParametersDefinition.Add(SchemaNameParameter);
            ActionParametersDefinition.Add(AddIdParameter);
            ActionParametersDefinition.Add(AddDatesParameter);
            ActionParametersDefinition.Add(AddStateParameter);
            ActionParametersDefinition.Add(AddOwnerParameter);
            ActionParametersDefinition.Add(AddUserRelationshipParameter);
        }
Exemplo n.º 2
0
        public AddSchema() : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Schema name. Recomended to use same domain name but not in plural. The name will be converted to PascalCase", "n", string.Empty);

            DomainParameter = new ActionParameterDefinition(
                "domain", ActionParameterDefinition.TypeValue.String, "Domain name", "d", string.Empty)
            {
                IsDomainSuggestion = true,
            };

            HasStateParameter = new ActionParameterDefinition(
                "hasstate", ActionParameterDefinition.TypeValue.Boolean, "The new schema has state. It will add 'State' attribute with values 1 enbled, 0 disabled. Default value = false", "s", false);

            HasUserRelationshipParameter = new ActionParameterDefinition(
                "hasuserrelationship", ActionParameterDefinition.TypeValue.Boolean, "The new schema has user relationship. It will add 'CreatedBy' and 'ModifiedBy' forening keys to the schema, related with 'User' schema (must be created first). Default value = false", "u", false);

            HasOwnerParameter = new ActionParameterDefinition(
                "hasowner", ActionParameterDefinition.TypeValue.Boolean, "The new schema has owner. It will add 'Owner'. Default value = false", "o", false);


            ActionParametersDefinition.Add(NameParameter);
            ActionParametersDefinition.Add(DomainParameter);
            ActionParametersDefinition.Add(HasStateParameter);
            ActionParametersDefinition.Add(HasOwnerParameter);
            ActionParametersDefinition.Add(HasUserRelationshipParameter);
        }
Exemplo n.º 3
0
        public DeleteGithubSetting() : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Name", "n", string.Empty);

            ActionParametersDefinition.Add(NameParameter);
        }
Exemplo n.º 4
0
        public AddDomain() : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Domain name. Must be unique. Is mandatory to use PascalCase for the name. Otherwise the name will be converterd", "n", string.Empty);

            ActionParametersDefinition.Add(NameParameter);
        }
Exemplo n.º 5
0
        public AddUseCase() : base(ActionName)
        {
            SchemaNameParameter = new ActionParameterDefinition(
                "schema", ActionParameterDefinition.TypeValue.String, "Schema name", "s", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            UseCaseParameter = new ActionParameterDefinition(
                "usecase", ActionParameterDefinition.TypeValue.String, "Use case", "u", string.Empty)
            {
                InputSuggestions = UseCase.GetUseCaseTypesList()
            };

            IntersectionDomainParameter = new ActionParameterDefinition(
                "intersectionschema", ActionParameterDefinition.TypeValue.String, "If use case = RetrieveMultipleIntersection, indicate the intersection schema", "i", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            NeedsAthorizationParameter = new ActionParameterDefinition(
                "authorization", ActionParameterDefinition.TypeValue.Boolean, "Access to this use case needs user-authorization. Default value = false", "a", false);

            ActionParametersDefinition.Add(NeedsAthorizationParameter);
            ActionParametersDefinition.Add(UseCaseParameter);
            ActionParametersDefinition.Add(SchemaNameParameter);
            ActionParametersDefinition.Add(IntersectionDomainParameter);
        }
Exemplo n.º 6
0
 public DeleteEnvironment() : base(ActionName)
 {
     NameParameter = new ActionParameterDefinition(
         "name", ActionParameterDefinition.TypeValue.String, "Evironment name", "n", string.Empty)
     {
         IsEnvironmentSuggestion = true
     };
     ActionParametersDefinition.Add(NameParameter);
 }
Exemplo n.º 7
0
        public void RaiseValueChangedEvent(ActionParameterDefinition parameterDefinition, object data)
        {
            RoutedEventArgs args = new ValueChangedEventArgs()
            {
                Data = data,
                ParameterDefinition = parameterDefinition,
            };

            args.RoutedEvent = ValueChangedEvent;
            RaiseEvent(args);
        }
Exemplo n.º 8
0
        public AddSetting() : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Setting name", "n", string.Empty)
            {
                InputSuggestions = Definitions.Settings.ToList()
            };
            ValueParameter = new ActionParameterDefinition(
                "value", ActionParameterDefinition.TypeValue.String, "Value for the setting", "v", string.Empty);

            ActionParametersDefinition.Add(NameParameter);
            ActionParametersDefinition.Add(ValueParameter);
        }
Exemplo n.º 9
0
        public AddEnvironment() : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Evironment name", "n", string.Empty);
            ShortNameParameter = new ActionParameterDefinition(
                "shortname", ActionParameterDefinition.TypeValue.String, "Shortname. Will be used for name the pipelines and branchs. In LowerCase", "s", string.Empty);
            OrderParameter = new ActionParameterDefinition(
                "order", ActionParameterDefinition.TypeValue.Integer, "Order", "n", 1);

            ActionParametersDefinition.Add(NameParameter);
            ActionParametersDefinition.Add(ShortNameParameter);
            ActionParametersDefinition.Add(OrderParameter);
        }
Exemplo n.º 10
0
        public AddSchemaView() : base(ActionName)
        {
            SchemaNameParameter = new ActionParameterDefinition(
                "schemaname", ActionParameterDefinition.TypeValue.String, "Schema name", "s", string.Empty)
            {
                IsSchemaSuggestion = true
            };
            SchemaNameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "View name. The name will be completed with format. The name will be coverted to CamelCase. Example of name: GetActiveEntities, GetXEntities", "s", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            ActionParametersDefinition.Add(SchemaNameParameter);
        }
Exemplo n.º 11
0
        public AddGithubSetting(ICryptoService cryptoService) : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Name", "n", string.Empty);
            OAuthTokenKeyParameter = new ActionParameterDefinition(
                "oauthtokenkey", ActionParameterDefinition.TypeValue.Password, "Oauth token key for access", "t", string.Empty);
            UriParameter = new ActionParameterDefinition(
                "uri", ActionParameterDefinition.TypeValue.String, "Github URI. Use https://github.com/", "u", string.Empty);

            ActionParametersDefinition.Add(NameParameter);
            ActionParametersDefinition.Add(OAuthTokenKeyParameter);
            ActionParametersDefinition.Add(UriParameter);
            CryptoService = cryptoService ?? throw new ArgumentNullException(nameof(cryptoService));

            RegisterDeployActions();
        }
Exemplo n.º 12
0
        public DeleteSchema() : base(ActionName)
        {
            DomainParameter = new ActionParameterDefinition(
                "domain", ActionParameterDefinition.TypeValue.String, "Domain", "d", string.Empty)
            {
                IsDomainSuggestion = true
            };

            SchemaNameParameter = new ActionParameterDefinition(
                "schemaname", ActionParameterDefinition.TypeValue.String, "Schema name", "s", string.Empty)
            {
                InputSuggestionsHandler = GetDomainSchemasSuggestionHandler
            };

            ActionParametersDefinition.Add(DomainParameter);
            ActionParametersDefinition.Add(SchemaNameParameter);
        }
Exemplo n.º 13
0
        public AddAzurePipelinesSetting(ICryptoService cryptoService) : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Name", "n", string.Empty);
            OrganizationUriParameter = new ActionParameterDefinition(
                "organizationuri", ActionParameterDefinition.TypeValue.String, "Organization URI. Use https://xxxxx.visualstudio.com/", "o", string.Empty);
            TokenParameter = new ActionParameterDefinition(
                "token", ActionParameterDefinition.TypeValue.Password, "Token for access", "t", string.Empty);
            //ProjectIdParameter = new ActionParameterDefinition(
            //    "projectid", ActionParameterDefinition.TypeValue.String, "Azure pipelines project id", "p", Guid.Empty.ToString());

            ActionParametersDefinition.Add(NameParameter);
            //ActionParametersDefinition.Add(ProjectIdParameter);
            ActionParametersDefinition.Add(OrganizationUriParameter);
            ActionParametersDefinition.Add(TokenParameter);
            CryptoService = cryptoService ?? throw new ArgumentNullException(nameof(cryptoService));
        }
Exemplo n.º 14
0
        public void NewActionParameterValueChanged(ActionParameterDefinition parameter, object newValue)
        {
            var value = parameter.Type == ActionParameterDefinition.TypeValue.Password &&
                        !string.IsNullOrEmpty((string)newValue)
                    ? _cryptoService.Encrypt((string)newValue)
                    : newValue;

            if (NewActionParametersDefinitionsValues.ContainsKey(parameter.Name))
            {
                NewActionParametersDefinitionsValues[parameter.Name] = value;
            }
            else
            {
                NewActionParametersDefinitionsValues.Add(parameter.Name, value);
            }

            UpdateDynamicSuggestions(parameter);
        }
Exemplo n.º 15
0
        private ActionParameter GetParsedActionParameter(ActionBase action, ActionParameterDefinition item, InputParameter itemInput)
        {
            var             parameterName   = item.Name;
            ActionParameter actionParameter = null;
            var             rawString       = itemInput.RawStringValue;

            if (item.Type == ActionParameterDefinition.TypeValue.String)
            {
                actionParameter = new ActionParameter(parameterName, rawString);
            }
            else if (item.Type == ActionParameterDefinition.TypeValue.Password)
            {
                actionParameter = new ActionParameter(parameterName, CryptoService.Encrypt(rawString));
            }
            else if (item.Type == ActionParameterDefinition.TypeValue.Boolean)
            {
                if (!itemInput.HasValue)
                {
                    actionParameter = new ActionParameter(parameterName, true);
                }
                else
                {
                    bool boolValue = StrToBool(rawString);
                    actionParameter = new ActionParameter(parameterName, boolValue);
                }
            }
            else if (item.Type == ActionParameterDefinition.TypeValue.Decimal)
            {
                if (!decimal.TryParse(rawString, out decimal d))
                {
                    throw new InvalidCastException(GetInvalidCastExceptionMessage(action, item, rawString, "decimal"));
                }
                actionParameter = new ActionParameter(parameterName, d);
            }
            else if (item.Type == ActionParameterDefinition.TypeValue.Integer)
            {
                if (!int.TryParse(rawString, out int d))
                {
                    throw new InvalidCastException(GetInvalidCastExceptionMessage(action, item, rawString, "integer"));
                }
                actionParameter = new ActionParameter(parameterName, d);
            }
            return(actionParameter);
        }
Exemplo n.º 16
0
        public AddSchemaIntersection() : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Schema name. Recomended to use same domain name but not in plural. The name will be converted to PascalCase", "n", string.Empty);

            FirstSchemaNameParameter = new ActionParameterDefinition(
                "firstdomain", ActionParameterDefinition.TypeValue.String, "First domain name intersection", "f", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            SecondSchemaNameParameter = new ActionParameterDefinition(
                "seconddomain", ActionParameterDefinition.TypeValue.String, "Second domain name intersection", "s", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            ActionParametersDefinition.Add(NameParameter);
            ActionParametersDefinition.Add(FirstSchemaNameParameter);
            ActionParametersDefinition.Add(SecondSchemaNameParameter);
        }
Exemplo n.º 17
0
        private void UpdateDynamicSuggestions(ActionParameterDefinition triggerParameter)
        {
            var currentSuggestions = NewActionParametersSugestions;
            var modified           = false;

            foreach (var actionParameter in SelectedNewAction.ActionParametersDefinition)
            {
                if (actionParameter.InputSuggestionsHandler != null &&
                    currentSuggestions.ContainsKey(actionParameter.Name) &&
                    actionParameter.Name != triggerParameter.Name)
                {
                    var suggestions = actionParameter.InputSuggestionsHandler.Invoke(ProjectState, NewActionParametersDefinitionsValues);
                    currentSuggestions[actionParameter.Name] = suggestions;
                    modified = true;
                }
            }
            if (modified)
            {
                NewActionParametersSugestions = new Dictionary <string, List <string> >();
                NewActionParametersSugestions = currentSuggestions;
            }
        }
Exemplo n.º 18
0
        public InitializeProject(
            IFileService fileService,
            IGithubClientService githubClientService,
            IGitClientService gitClientService,
            IDotnetService dotnetService,
            IDDService dDService) : base(ActionName)
        {
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Domain name. Must be unique. Is mandatory to use PascalCase for the name. Otherwise the name will be converterd", "n", string.Empty);
            NamespaceParameter = new ActionParameterDefinition(
                "namespace", ActionParameterDefinition.TypeValue.String, "Namespace. Is mandatory to use My.Domain.Project.Convention for your namespace. Otherwise the namespace will be converterd", "s", string.Empty);
            ProjectPathParameter = new ActionParameterDefinition(
                "projectpath", ActionParameterDefinition.TypeValue.String, "Path for locate the project files", "p", string.Empty);

            ActionParametersDefinition.Add(NameParameter);
            ActionParametersDefinition.Add(NamespaceParameter);
            ActionParametersDefinition.Add(ProjectPathParameter);
            FileService         = fileService ?? throw new ArgumentNullException(nameof(fileService));
            GithubClientService = githubClientService ?? throw new ArgumentNullException(nameof(githubClientService));
            GitClientService    = gitClientService ?? throw new ArgumentNullException(nameof(gitClientService));
            DotnetService       = dotnetService ?? throw new ArgumentNullException(nameof(dotnetService));
            DDService           = dDService ?? throw new ArgumentNullException(nameof(dDService));
        }
Exemplo n.º 19
0
 private List <string> GetActionParameterSugestions(ActionParameterDefinition action, ProjectState projectState, Dictionary <string, object> otherValues)
 {
     if (action.IsDomainSuggestion)
     {
         return(ProjectState.Domains.Select(k => k.Name).ToList());
     }
     else if (action.IsSchemaSuggestion)
     {
         return(ProjectState.Domains.SelectMany(k => k.Schemas).Select(k => k.Name).ToList());
     }
     else if (action.IsEnvironmentSuggestion)
     {
         return(ProjectState.Environments.Select(k => k.Name).ToList());
     }
     else if (action.InputSuggestions != null && action.InputSuggestions.Count > 0)
     {
         return(action.InputSuggestions);
     }
     else if (action.InputSuggestionsHandler != null)
     {
         return(new List <string>());
     }
     return(new List <string>());
 }
Exemplo n.º 20
0
        public AddSchemaProperty() : base(ActionName)
        {
            SchemaNameParameter = new ActionParameterDefinition(
                "schemaname", ActionParameterDefinition.TypeValue.String, "Schema name", "s", string.Empty)
            {
                IsSchemaSuggestion = true
            };
            NameParameter = new ActionParameterDefinition(
                "name", ActionParameterDefinition.TypeValue.String, "Name. Use PascalCase or the name will be converted to PascalCase automatically", "n", string.Empty);
            TypeParameter = new ActionParameterDefinition(
                "type", ActionParameterDefinition.TypeValue.String, "Type. Possible values: Guid = 1, Boolean = 2, Integer = 3, Decimal = 4,  Float = 5, Time = 6, DateTime = 7, String = 8, LongString = 9, Password = 99, ",
                "t", string.Empty)
            {
                InputSuggestions = SchemaProperty.GetUseCaseTypesList()
            };

            LengthParameter = new ActionParameterDefinition(
                "length", ActionParameterDefinition.TypeValue.Integer, "Length. Use only for String types", "l", 0);
            IsPrimaryKeyParameter = new ActionParameterDefinition(
                "primarykey", ActionParameterDefinition.TypeValue.Boolean, "Is primary key", "pk", false);
            IsNullableParameter = new ActionParameterDefinition(
                "nullable", ActionParameterDefinition.TypeValue.Boolean, "Is nullable", "nl", false);
            IsUniqueParameter = new ActionParameterDefinition(
                "unique", ActionParameterDefinition.TypeValue.Boolean, "Is unique key", "un", false);
            IsAutoIncrementalParameter = new ActionParameterDefinition(
                "autoincrement", ActionParameterDefinition.TypeValue.Boolean, "Is autoincrement. Only valid for Integer types", "ai", false);

            ActionParametersDefinition.Add(SchemaNameParameter);
            ActionParametersDefinition.Add(NameParameter);
            ActionParametersDefinition.Add(TypeParameter);
            ActionParametersDefinition.Add(LengthParameter);
            ActionParametersDefinition.Add(IsPrimaryKeyParameter);
            ActionParametersDefinition.Add(IsNullableParameter);
            ActionParametersDefinition.Add(IsUniqueParameter);
            ActionParametersDefinition.Add(IsAutoIncrementalParameter);
        }
Exemplo n.º 21
0
        public DeleteUseCase() : base(ActionName)
        {
            SchemaNameParameter = new ActionParameterDefinition(
                "schema", ActionParameterDefinition.TypeValue.String, "Schema name", "s", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            UseCaseParameter = new ActionParameterDefinition(
                "usecase", ActionParameterDefinition.TypeValue.String, "Use case", "u", string.Empty)
            {
                InputSuggestions = UseCase.GetUseCaseTypesList()
            };

            IntersectionSchemaParameter = new ActionParameterDefinition(
                "intersectiondomain", ActionParameterDefinition.TypeValue.String, "If use case = RetrieveMultipleIntersection, indicate the intersection domain", "i", string.Empty)
            {
                IsSchemaSuggestion = true
            };

            ActionParametersDefinition.Add(UseCaseParameter);
            ActionParametersDefinition.Add(SchemaNameParameter);
            ActionParametersDefinition.Add(IntersectionSchemaParameter);
        }
Exemplo n.º 22
0
        public Guid GetGuidParameterValue(List <ActionParameter> parameters, ActionParameterDefinition parameter)
        {
            var param = parameters.FirstOrDefault(k => k.ParameterName == parameter.Name);

            return(IsParamOk(parameters, parameter.Name) ? param.ValueGuid : (Guid)parameter.DefaultValue);
        }
Exemplo n.º 23
0
 public void RegisterActionParameter(ActionParameterDefinition parameter)
 {
     this.ActionParametersDefinition.Add(parameter);
 }
Exemplo n.º 24
0
        public int GetIntParameterValue(List <ActionParameter> parameters, ActionParameterDefinition parameter)
        {
            var param = parameters.FirstOrDefault(k => k.ParameterName == parameter.Name);

            return(IsParamOk(parameters, parameter.Name) ? param.ValueInt : (int)parameter.DefaultValue);
        }
Exemplo n.º 25
0
        public decimal GetDecimalParameterValue(List <ActionParameter> parameters, ActionParameterDefinition parameter)
        {
            var param = parameters.FirstOrDefault(k => k.ParameterName == parameter.Name);

            return(IsParamOk(parameters, parameter.Name) ? param.ValueDecimal : (decimal)parameter.DefaultValue);
        }
Exemplo n.º 26
0
        public bool GetBoolParameterValue(List <ActionParameter> parameters, ActionParameterDefinition parameter)
        {
            var param = parameters.FirstOrDefault(k => k.ParameterName == parameter.Name);

            return(IsParamOk(parameters, parameter.Name) ? param.ValueBool : (bool)parameter.DefaultValue);
        }
Exemplo n.º 27
0
        public string GetStringParameterValue(List <ActionParameter> parameters, ActionParameterDefinition parameter)
        {
            var param = parameters.FirstOrDefault(k => k.ParameterName == parameter.Name);

            return(IsParamOk(parameters, parameter.Name) ? param.ValueString : (string)parameter.DefaultValue);
        }
Exemplo n.º 28
0
 public bool IsParamOk(List <ActionParameter> parameters, ActionParameterDefinition parameter)
 {
     return(IsParamOk(parameters, parameter.Name));
 }
Exemplo n.º 29
0
        public void ImplementHelpCommand()
        {
            var helpCommand = new ActionParameterDefinition("help", ActionParameterDefinition.TypeValue.Boolean, "Details about the command and it's available parameters", "h", false);

            ActionParametersDefinition.Add(helpCommand);
        }
Exemplo n.º 30
0
 public DeleteAzurePipelinesSetting() : base(ActionName)
 {
     NameParameter = new ActionParameterDefinition(
         "name", ActionParameterDefinition.TypeValue.String, "Name", "o", string.Empty);
     ActionParametersDefinition.Add(NameParameter);
 }