Example #1
0
        public void UpdateDeviceConfig(DeviceConfig entity, UpdateDeviceConfigModel model)
        {
            model.CopyTo(entity);

            entity.RemoveOldEventsJobSettings = JsonConvert.SerializeObject(
                model.RemoveOldEventsJobSettingsObj);
            entity.SendUnsentEventsJobSettings = JsonConvert.SerializeObject(
                model.SendUnsentEventsJobSettingsObj);

            if (!string.IsNullOrWhiteSpace(model.KafkaPasswordReset))
            {
                entity.KafkaPassword = model.KafkaPasswordReset;
            }
            PrepareUpdate(entity);
        }
Example #2
0
        public ValidationData ValidateUpdateDeviceConfig(ClaimsPrincipal principal,
                                                         DeviceConfig entity, UpdateDeviceConfigModel model)
        {
            var validationData = new ValidationData();

            if (string.IsNullOrWhiteSpace(model.Identifier))
            {
                validationData = validationData.Fail("ID must not be null", code: Constants.AppResultCode.FailValidation);
            }
            if ((!string.IsNullOrWhiteSpace(model.KafkaUsername) || !string.IsNullOrWhiteSpace(model.KafkaPasswordReset)) &&
                string.IsNullOrWhiteSpace(model.KafkaServer))
            {
                validationData = validationData.Fail("Kafka server info missed", code: Constants.AppResultCode.FailValidation);
            }
            return(validationData);
        }
        public IActionResult Update(int id, UpdateDeviceConfigModel model)
        {
            var entity = _service.DeviceConfigs.Id(id).FirstOrDefault();

            if (entity == null)
            {
                return(NotFound(AppResult.NotFound()));
            }
            var validationData = _service.ValidateUpdateDeviceConfig(User, entity, model);

            if (!validationData.IsValid)
            {
                return(BadRequest(AppResult.FailValidation(data: validationData)));
            }
            _service.UpdateDeviceConfig(entity, model);
            context.SaveChanges();
            if (entity.IsCurrent)
            {
                Startup.SetCurrentConfig(entity);
            }
            return(NoContent());
        }