public static void SetVariableValue(string name, Type type, object value) { using (DBVariantDemoDataContext context = new DBVariantDemoDataContext()) { Variant variant = context.Variants.Where(v => v.Name == name).SingleOrDefault(); if (variant == null) { context.Variants.Add(variant = new Variant() { Name = name }); } if (!_supportedTypesTypeToId.TryGetValue(type, out int typeId)) { throw new Exception("Unsupported type."); } variant.TypeId = typeId; variant.Value = _formatter.For(type).Format(value); context.SaveChanges(); } }
public static void RemoveVariable(string name) { using (DBVariantDemoDataContext context = new DBVariantDemoDataContext()) { Variant variant = context.Variants.Where(v => v.Name == name).SingleOrDefault(); if (variant != null) { context.Variants.Remove(variant); context.SaveChanges(); } } }
public static IEnumerable <VariantItem> GetAllVariables() { using (DBVariantDemoDataContext context = new DBVariantDemoDataContext()) { return(( from v in context.Variants let type = _supportedTypesIdToType[v.TypeId] select new VariantItem() { Name = v.Name, Type = type, Value = _parser.For(type).Parse(v.Value) }).ToList()); } }
public static VariantItem GetVariable(string name) { using (DBVariantDemoDataContext context = new DBVariantDemoDataContext()) { Variant variant = context.Variants.Where(v => v.Name == name).SingleOrDefault(); if (variant == null) { return(null); } Type type = _supportedTypesIdToType[variant.TypeId]; return(new VariantItem() { Name = variant.Name, Type = type, Value = _parser.For(type).Parse(variant.Value) }); } }