public override void ExitSinglemodel([NotNull] SinglemodelContext context) { var fullpath = path.GetPath(); path.Pop(); logger.Trace("Exit singlemodel {0}", fullpath); var obj = ObjProps.Get(context.obj()); var model = new Models.SingleModel(context.ID().GetText(), obj); var orderby = ObjOrderByProps.Get(context.obj()); model.Path = fullpath; model.OrderBy.AddRange(orderby); //model.Section = CurrentSection; if (context.inherits() != null) { model.Inherits = true; model.InheritsFrom = context.inherits().ID().GetText(); } string obs = ""; logger.Trace("Single model = {0}{1}{2}", model.Name, context.inherits() != null ? " : " + model.InheritsFrom : "", orderby.Any() ? " / " + orderby.Aggregate(obs, (f, run) => obs += run + ", ") : ""); GraphElements.Add(model.Path, new GraphElement(model.Path, model)); SingleModels.Put(context, model); base.ExitSinglemodel(context); }
public override void ExitValueObject([NotNull] ValueObjectContext context) { base.ExitValueObject(context); var newObj = new Models.ModelCompositeObject { Value = ObjProps.Get(context.obj()) }; var orderby = ObjOrderByProps.Get(context.obj()); newObj.OrderBy.AddRange(orderby); ValueProps.Put(context, newObj); }
public override void ExitObjEmpty([NotNull] ObjEmptyContext context) { var obj = new List <Models.IModelObject>(); var orderby = new List <string>(); if (context.orderstatement() != null) { foreach (var item in context.orderstatement()._orderby) { orderby.Add(item.Text); } } ObjOrderByProps.Put(context, orderby); ObjProps.Put(context, obj); base.ExitObjEmpty(context); }
public override void ExitObjFull([NotNull] ObjFullContext context) { var obj = new List <Models.IModelObject>(); var orderby = new List <string>(); if (context.orderstatement() != null) { foreach (var item in context.orderstatement()._orderby) { orderby.Add(item.Text); } } foreach (var item in context._pairs) { var p = PairProps.Get(item); obj.Add(p); } ObjProps.Put(context, obj); ObjOrderByProps.Put(context, orderby); base.ExitObjFull(context); }