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; }