Beispiel #1
0
 /// <summary>
 /// Returns a IEnumerable on <see cref="IFieldList"/>
 /// </summary>
 /// <param name="fields"></param>
 /// <returns></returns>
 public static IEnumerable <PrimitiveField> ToEnumerable(this IFieldList fields)
 {
     for (int i = 0; i < fields.Count; i++)
     {
         yield return(fields[i]);
     }
 }
Beispiel #2
0
        public static string ToJsonString(this IFieldList fields)
        {
            if (fields == null)
            {
                return(String.Empty);
            }

            var encoding = new UTF8Encoding(false, true);

            using (var stream = new MemoryStream())
                using (var writer = new StreamWriter(stream, encoding, 1024, true))
                    using (var jsonWriter = new JsonTextWriter(writer))
                    {
                        jsonWriter.Formatting = Formatting.Indented;

                        SerializerCache.Serializer.Serialize(jsonWriter, fields, typeof(IFieldList));
//                for (int i = 0; i < fields.Count; i++)
//                {
//                    SerializerCache.Serializer.Serialize(jsonWriter, fields[i], typeof(IFieldList));
//                }

                        jsonWriter.Flush();
                        writer.Flush();

                        return(encoding.GetString(stream.ToArray()));
                    }
        }
Beispiel #3
0
        public bool Equals(IFieldList other)
        {
            if (ReferenceEquals(null, other))
            {
                return(false);
            }

            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            if (_count != other.Count)
            {
                return(false);
            }

            for (int i = 0; i < other.Count; i++)
            {
                if (!Contains(other[i].Id))
                {
                    return(false);
                }
            }

            return(true);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="flds">destination fields</param>
        public override void SetFieldsAttribute(IFieldList flds)
        {
            base.SetFieldsAttribute(flds);
            if (_maps == null)
            {
                _maps = new DataBind();
            }
            if (_maps.AdditionalJoins == null)
            {
                _maps.AdditionalJoins = new StringMapList();
            }
            //merge mapping
            for (int i = 0; i < flds.Count; i++)
            {
                bool b = false;
                for (int j = 0; j < _maps.AdditionalJoins.Count; j++)
                {
                    if (string.Compare(flds.GetFieldname(i), _maps.AdditionalJoins[j].Target, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        b = true;
                        break;
                    }
                }
                if (!b)
                {
                    _maps.AdditionalJoins.AddFieldMap(flds.GetFieldname(i), string.Empty);
                }
            }
            List <int> ns = new List <int>();

            for (int j = 0; j < _maps.AdditionalJoins.Count; j++)
            {
                bool b = false;
                for (int i = 0; i < flds.Count; i++)
                {
                    if (string.Compare(flds.GetFieldname(i), _maps.AdditionalJoins[j].Target, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        b = true;
                        break;
                    }
                }
                if (b)
                {
                    ns.Add(j);
                }
            }
            if (ns.Count < _maps.AdditionalJoins.Count)
            {
                int         n  = 0;
                StringMap[] sm = new StringMap[ns.Count];
                for (int j = 0; j < _maps.AdditionalJoins.Count; j++)
                {
                    if (ns.Contains(j))
                    {
                        sm[n++] = _maps.AdditionalJoins[j];
                    }
                }
                _maps.AdditionalJoins.StringMaps = sm;
            }
        }
        public static HtmlTag BuildTag(ElementRequest request, IFieldList list)
        {
            var selectedValue = request.RawValue != null ? request.RawValue.ToString() : list.DefaultItem.ItemValue;

            return new SelectTag(tag =>
            {
                list.AllItems().Each(item => tag.Option(item.DisplayValue(), item.ItemValue));

                tag.SelectByValue(selectedValue);
            });
        }
 /// <summary>
 /// find index on the field list for the field name of this editor
 /// </summary>
 /// <param name="flds"></param>
 public virtual void SetFieldsAttribute(IFieldList flds)
 {
     nUpdatePos = -1;
     if (ValueField != null && flds != null)
     {
         if (ValueField.Length > 0)
         {
             nUpdatePos = flds.FindFieldIndex(ValueField);
         }
     }
 }
Beispiel #7
0
        public SchemaValidator()
        {
            Validation = new List <ValidationContext>();
            _fields    = new FieldList();

            var repository = new RuleRepository();

            repository.Load(x => x.Where(r => r.IsTagged("FieldValidation")));
            repository.Load(x => x.From(typeof(NullFieldRule).Assembly));

            var factory = repository.Compile();

            _session = factory.CreateSession();

            _session.Events.RuleFiredEvent += OnRuleFiredEventHandler;
        }
Beispiel #8
0
 public StructImpl()
 {
     _fields = new FieldList(false);
 }
Beispiel #9
0
 public void SetSourceObject(IFieldList source)
 {
     _source = source;
     UpdateValues();
 }