Exemplo n.º 1
0
        public void CreateOrEditContext(ContextInput Context)
        {
            var configFolder = GetConfigFolder();
            var fileName     = Context.Name + ".json";
            var configPath   = Path.Combine(configFolder, fileName);

            if (File.Exists(configPath))
            {
                var configString = File.ReadAllText(configPath);
                var config       = JsonSerializer.Deserialize <OtmContextConfig>(configString);
                config.Name    = Context.Name;
                config.Enabled = Context.Enabled;
                //config.DataPoints = new List<DataPointConfig>();
                //config.Devices = new List<DeviceConfig>();
                //config.Transactions = new List<TransactionConfig>();
                var configJson = JsonSerializer.Serialize <OtmContextConfig>(config);
                File.WriteAllText(configPath, configJson);
            }
            else
            {
                var config = new OtmContextConfig();
                config.Name    = Context.Name;
                config.Enabled = Context.Enabled;
                var configJson = JsonSerializer.Serialize <OtmContextConfig>(config);
                File.WriteAllText(configPath, configJson);
            }
        }
Exemplo n.º 2
0
        public ValidationResult ValidateUpdate(string oldId, OtmContextConfig config)
        {
            var result = new ValidationResult();

            var validName = config.Name != null && config.Name.All(c => Char.IsLetterOrDigit(c) || c == '_');

            if (!validName)
            {
                result.Errors.Add(new ValidationFailure(nameof(config.Name), "Nome do ambiente invalido! Use apenas letras, numeros e '_'."));
            }

            var configFolder = GetConfigFolder();
            var fileName     = oldId + ".json";
            var configPath   = Path.Combine(configFolder, fileName);

            if (!File.Exists(configPath))
            {
                result.Errors.Add(new ValidationFailure(nameof(config.Name), "O arquivo orginal do ambiente editado nao existe."));
            }

            if (oldId != config.Name)
            {
                var newFileName   = config.Name + ".json";
                var newConfigPath = Path.Combine(configFolder, newFileName);
                if (File.Exists(newConfigPath))
                {
                    result.Errors.Add(new ValidationFailure(nameof(config.Name), "Nome do ambiente invalido! Ja existe um ambiente com este nome."));
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        public void Create(OtmContextConfig config)
        {
            var configFolder = GetConfigFolder();
            var fileName     = config.Name + ".json";
            var configPath   = Path.Combine(configFolder, fileName);

            var configJson = JsonSerializer.Serialize <OtmContextConfig>(config);

            File.WriteAllText(configPath, configJson);
        }
Exemplo n.º 4
0
        //[ProducesResponseType(typeof(ModelStateDictionary), StatusCodes.Status400BadRequest)]
        public IActionResult Create(OtmContextConfig config)
        {
            var validation = ConfigService.ValidateCreate(config);

            if (!validation.IsValid)
            {
                validation.AddToModelState(ModelState, null);
                return(BadRequest(ModelState));
            }

            return(Ok(config));
        }
Exemplo n.º 5
0
        public void Update(string oldId, OtmContextConfig config)
        {
            var configFolder = GetConfigFolder();
            var fileName     = config.Name + ".json";
            var configPath   = Path.Combine(configFolder, fileName);

            var configJson = JsonSerializer.Serialize <OtmContextConfig>(config);

            File.WriteAllText(configPath, configJson);

            if (config.Name != oldId)
            {
                Delete(oldId);
            }
        }
Exemplo n.º 6
0
        //[ProducesResponseType(typeof(ModelStateDictionary), StatusCodes.Status400BadRequest)]
        public IActionResult Update(string id, OtmContextConfig config)
        {
            if (!ConfigService.Exists(id))
            {
                return(NotFound());
            }

            var validation = ConfigService.ValidateUpdate(id, config);

            if (!validation.IsValid)
            {
                validation.AddToModelState(ModelState, null);
                return(BadRequest(ModelState));
            }

            ConfigService.Update(id, config);
            return(Ok(config));
        }
Exemplo n.º 7
0
        public ValidationResult ValidateCreate(OtmContextConfig config)
        {
            var result = new ValidationResult();

            var validName = config.Name != null && config.Name.All(c => Char.IsLetterOrDigit(c) || c == '_');

            if (!validName)
            {
                result.Errors.Add(new ValidationFailure(nameof(config.Name), "Nome do ambiente invalido! Use apenas letras, numeros e '_'."));
            }

            var configFolder = GetConfigFolder();
            var fileName     = config.Name + ".json";
            var configPath   = Path.Combine(configFolder, fileName);

            if (File.Exists(configPath))
            {
                result.Errors.Add(new ValidationFailure(nameof(config.Name), "Nome do ambiente invalido! Ja existe um ambiente com este nome."));
            }

            return(result);
        }
Exemplo n.º 8
0
 public OtmContext(OtmContextConfig config, ILogger logger)
 {
     Config = config;
     Logger = logger;
 }