示例#1
0
        internal IObjectFacade FilterCollection(IObjectFacade nakedObject, ObjectAndControlData controlData)
        {
            var form = controlData.Form;

            if (form != null && nakedObject != null && nakedObject.Specification.IsCollection)
            {
                nakedObject = Page(nakedObject, nakedObject.Count(), controlData);
                var map      = nakedObject.ToEnumerable().ToDictionary(x => Facade.OidTranslator.GetOidTranslation(x).Encode(), y => y.GetDomainObject <object>());
                var selected = map.Where(kvp => form.Keys.Cast <string>().Contains(kvp.Key) && form[kvp.Key].Contains("true")).Select(kvp => kvp.Value).ToArray();
                return(nakedObject.Select(selected, false));
            }

            return(nakedObject);
        }
        internal IObjectFacade FilterCollection(IObjectFacade nakedObject, ObjectAndControlData controlData) {
            var form = controlData.Form;
            if (form != null && nakedObject != null && nakedObject.Specification.IsCollection) {
                nakedObject = Page(nakedObject, nakedObject.Count(), controlData);
                var map = nakedObject.ToEnumerable().ToDictionary(x => Facade.OidTranslator.GetOidTranslation(x).Encode(), y => y.GetDomainObject<object>());
                var selected = map.Where(kvp => form.Keys.Cast<string>().Contains(kvp.Key) && form[kvp.Key].Contains("true")).Select(kvp => kvp.Value).ToArray();
                return nakedObject.Select(selected, false);
            }

            return nakedObject;
        }