Example #1
0
 public void UnWatchVariable(ConfigurationItemModel item)
 {
     if (Watched.Any(x => x.Parent == item.Parent && x.Connector == item.Connector))
     {
         Watched.Remove(item);
     }
     OnPropertyChanged("Watched");
 }
        public async Task SetValue(string applicationName, ConfigurationItemModel value)
        {
            var jsonStringValue = JsonConvert.SerializeObject(value);
            await Database.HashSetAsync(applicationName, value.Name, jsonStringValue);

            await _publisher.PublishAsync(GetChannelName(applicationName), jsonStringValue);

            await Database.HashSetAsync(applicationName, value.Name, jsonStringValue);

            await Database.ListLeftPushAsync("configs", applicationName);
        }
        public void SetValue_Test()
        {
            var configurationManager   = new ConfigurationManager(connectionString);
            var ConfigurationItemModel = new ConfigurationItemModel
            {
                IsActive = true,
                Name     = "SiteName",
                Type     = "String",
                Value    = "Boyner.com.tr"
            };

            var result = Record.ExceptionAsync(async() => await configurationManager.SetValue(applicationName, ConfigurationItemModel));
        }
Example #4
0
        public static IConfigurationItemViewModel GetConfigurationItemViewModel(ConfigurationItemModel model)
        {
            Type genericViewModel;

            if (configurationItemViewModelDictionary.ContainsKey(model.GetType()))
            {
                genericViewModel = configurationItemViewModelDictionary[model.GetType()];
            }
            else
            {
                //				var modelInterfaces = model.GetType().GetInterfaces();
                //				var viewModels = GetDerivedForInterfaceType(typeof(IConfigurationItemViewModel));
                //				var genericViewModels = viewModels.Where(i => i.IsGenericType);
                //				genericViewModel = genericViewModels.Where(i => modelInterfaces.Any(j => i.GetGenericTypeDefinition() == j)).FirstOrDefault();
                //#if DEBUG
                //				if (viewModels.Count() != genericViewModels.Count())
                //				{
                //					var classes = string.Join(", ", viewModels.Select(i => i.Name));
                //					throw new Exception($"One of thses classes is derive from IConfigurationItemViewModel and is not Generic: {classes}");
                //				}
                //				if (genericViewModel == null)
                //					throw new Exception($"Did not find a ConfigurationItemViewModel generic class with generic type definition {model.GetType().Name}");
                //#endif
                if (model is IDisplayOnlyConfigurationItemModel)
                {
                    genericViewModel = typeof(DisplayOnlyConfigurationItemViewModel);
                }
                else if (model is IComboBoxConfigurationItemModel)
                {
                    genericViewModel = typeof(ComboBoxConfigurationItemViewModel);
                }
                else
                {
                    throw new Exception($"Did not find a ConfigurationItemViewModel generic class for generic type definition {model.GetType().Name}");
                }
            }

            var        viewModel      = (IConfigurationItemViewModel)Activator.CreateInstance(genericViewModel);
            MethodInfo setModelMethod = genericViewModel.GetMethod("SetModel");

            setModelMethod.Invoke(viewModel, new[] { model });
            return(viewModel);
        }