示例#1
0
        public static EFAttribute ToEFAttribute(this DataAttribute source)
        {
            return
                (source
                 .match(
                     s => {
                return new ValueEFAttribute()
                {
                    name = source.name,
                    value = s
                } as EFAttribute;
            },
                     c => {
                var col_attribute =
                    new CollectionEFAttribute()
                {
                    name = source.name
                };

                c.Select(ToEFAttribute)
                .ToList()
                .ForEach(i => col_attribute.attributes.Add(i));


                return col_attribute as EFAttribute;
            }
                     ));
        }
示例#2
0
 public static DataAttribute ToDataAttribute(this EFAttribute source)
 {
     return
         (source
          .match(
              v => {
         return DataAttribute.create_value(v.name, v.value);
     },
              c => {
         return DataAttribute.create_collection(c.name, c.attributes.Select(ToDataAttribute));
     }
              ));
 }
示例#3
0
        private static AmitaAttribute convert_to_attribute(KeyValuePair <string, string[]> key_value)
        {
            if (key_value.Value.Length == 0)
            {
                return(AmitaAttribute.create_value(key_value.Key, ""));
            }

            if (key_value.Value.Length == 1)
            {
                return(AmitaAttribute.create_value(key_value.Key, key_value.Value[0]));
            }

            return(AmitaAttribute
                   .create_collection(key_value.Key,
                                      key_value.Value
                                      .Select((v, i) => AmitaAttribute.create_value(i.ToString(), v))));
        }