Exemple #1
0
        public static void Write(this LinkFieldsProperty property, bool isLastProperty, PropertiesStyle style, CSideWriter writer)
        {
            writer.Write("{0}=", property.Name);
            writer.Indent(writer.Column);

            foreach (var linkField in property.Value)
            {
                writer.Write("Field{0}=FIELD(Field{1})", linkField.Field, linkField.ReferenceField);

                var isLastLine = (linkField == property.Value.Last());

                if (!isLastLine)
                {
                    writer.WriteLine(",");
                }
                else
                if (isLastProperty)
                {
                    writer.Write(" ");
                }
                else
                {
                    writer.WriteLine(";");
                }
            }

            writer.Unindent();
        }
Exemple #2
0
 internal static void SetLinkFieldsProperty(this LinkFieldsProperty property, string propertyValue)
 {
     do
     {
         var fieldNo          = Parsing.MustMatch(ref propertyValue, @"^Field(\d+)=FIELD\(").Groups[1].Value.ToInteger();
         var referenceFieldNo = Parsing.MustMatch(ref propertyValue, @"^Field(\d+)\)").Groups[1].Value.ToInteger();
         property.Value.Add(new LinkField(fieldNo, referenceFieldNo));
     }while (Parsing.TryMatch(ref propertyValue, @"^,\s?"));
 }