Пример #1
0
        // Parse array string into dictionary array
        private static Dictionary <string, BaseParamModel> ParseParamsFromCMD(string[] args)
        {
            Dictionary <string, BaseParamModel> dicArgs = new Dictionary <string, BaseParamModel> {
            };

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i].IndexOf("--") == 0)
                {
                    string         simplyName = args[i].Substring(2);
                    BaseParamModel _param     = new BaseParamModel()
                    {
                    };

                    if (args.Length <= i + 1 || args[i + 1].IndexOf("--") == 0)
                    {
                        _param.value = "true";
                    }
                    else
                    {
                        _param.value = args[i + 1];
                        i++;
                    }
                    dicArgs.Add(simplyName, _param);
                }
            }

            return(dicArgs);
        }
Пример #2
0
        // Add validations to params by the type of action
        private static DefinedParamsModel AddValidationType(DefinedParamsModel options, string typeAction)
        {
            foreach (PropertyInfo property in options.GetType().GetProperties())
            {
                string   name       = string.Concat(typeAction, "_", property.Name);
                string[] validation = SettingsHelper.GetSettingArray(name);
                // Get object
                BaseParamModel properties = (BaseParamModel)property.GetValue(options, null);
                properties.AddValidation(validation);

                // TODO: Refactor to use reflection
                // property.SetValue(options, properties, null);

                switch (property.Name)
                {
                case "username": options.username = properties; break;

                case "password": options.password = properties; break;

                case "urlSite": options.urlSite = properties; break;

                case "templateName": options.templateName = properties; break;

                case "dirPath": options.dirPath = properties; break;
                }
            }
            return(options);
        }
Пример #3
0
        // Validate necesary params from app
        public static ValidationParamsModel ValidateParams(DefinedParamsModel options, string typeAction)
        {
            DefinedParamsModel    validationParams = AddValidationType(options, typeAction);
            ValidationParamsModel validation       = new ValidationParamsModel(true, new String[] { });

            // Go over all defined properties in ParamsModel
            foreach (PropertyInfo property in validationParams.GetType().GetProperties())
            {
                string name = property.Name;
                // Get object
                BaseParamModel properties = (BaseParamModel)property.GetValue(options, null);
                // Check if have validations
                if (properties.validations?.Length > 0)
                {
                    string errMsg = ValidateHelper.ValidateField(name, properties.value, properties.validations);
                    if (!string.IsNullOrEmpty(errMsg))
                    {
                        validation.valid = false;
                        validation.errors.Append(errMsg);
                    }
                }
            }
            return(validation);
        }