Example #1
0
        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();
            }
        }
Example #2
0
        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();
                }
            }
        }
Example #3
0
 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());
     }
 }
Example #4
0
        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)
                });
            }
        }