public TagCfg PackTag(TagAbstract tag, StoreContext context) { var config = new TagCfg { ClassName = this.ClassName, Name = tag.Name, DisplayName = tag.DisplayName, Description = tag.Description, Format = tag.Format, Access = tag.Access, ValueType = tag.ValueType, Custom = PackTagSpecific(tag), TagsToTagsGroups = new List <TagsToTagsGroups>(), }; foreach (var tagsGroup in tag.Groups.Values) { var storedGroup = context.TagsGroups.GetOrCreate(tg => tg.Name == tagsGroup.Name); storedGroup.Name = tagsGroup.Name; storedGroup.Min = tagsGroup.Min; storedGroup.Description = tagsGroup.Description; var ttg = config.TagsToTagsGroups.FirstOrDefault(o => o.TagsGroupCfg.Name == storedGroup.Name); if (ttg == default) { ttg = context.TagsToTagsGroups.GetOrCreate(o => o.TagsGroupCfg.Name == storedGroup.Name && o.TagCfg.Id == config.Id); ttg.TagCfg = config; ttg.TagsGroupCfg = storedGroup; } config.TagsToTagsGroups.Add(ttg); } return(config); }
protected override string PackTagSpecific(TagAbstract tag) { // Region // Begin var mtag = (MTag)tag; return(JsonConvert.SerializeObject(new { mtag.Region, mtag.Begin, })); }
protected void Add(TagAbstract<double?> numericTag) { _tags.Add(numericTag); _numericTags.Add(numericTag); }
protected void Add(TagAbstract<bool?> digitalTag) { _tags.Add(digitalTag); _digitalTags.Add(digitalTag); }
public Argument(TagAbstract tag) { IsConst = false; this.tag = tag; }
public INumericTag AddNumTag(TagAbstract <double?> tag) { Add(tag); return(tag as INumericTag); }
public IDigitalTag AddDigTag(TagAbstract <bool?> tag) { Add(tag); return(tag as IDigitalTag); }
public INumericTag AddNumTag(TagAbstract<double?> tag) { Add(tag); return tag as INumericTag; }
public IDigitalTag AddDigTag(TagAbstract<bool?> tag) { Add(tag); return tag as IDigitalTag; }
protected abstract string PackTagSpecific(TagAbstract tag);