public void Start(string prefix, MappedPropertyInfo item) { CodeFileBuilder componentBuilder = new CodeFileBuilder(); componentBuilder.Indent(5); const string subPrefix = "y."; HbmComponent component = item.HbmObject <HbmComponent>(); componentBuilder.AddLine(""); var componentBodyBuilder = new ClassMapBody(componentBuilder); foreach (var componentPart in component.Items) { componentBodyBuilder.Add(subPrefix, new MappedPropertyInfo(componentPart, item.FileName)); } _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2}, y=>", FluentNHibernateNames.Component, item.ReturnType, item.Name)); _builder.AddLine("{"); _builder.AddLine(componentBuilder.ToString()); _builder.AddLine("})"); if (component.insert) { _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Insert)); } if (component.update) { _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Update)); } }
public void Start(string prefix, MappedPropertyInfo item) { CodeFileBuilder componentBuilder = new CodeFileBuilder(); componentBuilder.Indent(5); const string subPrefix = "y."; HbmCompositeElement component = item.HbmObject<HbmCompositeElement>(); componentBuilder.AddLine(""); var componentBodyBuilder = new ClassMapBody(componentBuilder); foreach (var componentPart in component.Items) { componentBodyBuilder.Add(subPrefix, new MappedPropertyInfo(componentPart, item.FileName)); } _builder.StartMethod(prefix, string.Format("{0}<{1}>(x => x.{2}, y=>", FluentNHibernateNames.CompositeElement, item.ReturnType, item.Name)); _builder.AddLine("{"); _builder.AddLine(componentBuilder.ToString()); _builder.AddLine("})"); /*if (component. ) { _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Insert)); } if (component.update) { _builder.AddLine(string.Format(".{0}()", FluentNHibernateNames.Update)); }*/ }
public static void StartMethod(this CodeFileBuilder builder, string prefix, string methodBody) { builder.AddLine(prefix + methodBody); builder.Indent(); }