Beispiel #1
0
        public void SetItems(List <object> results)
        {
            Items = new ObservableCollection <object>(results);

            //EntityGridView viewCast = (View as EntityGridView);

            //List<Issue> issues = new List<Issue>();
            //issues.AddRange(results.Cast<Issue>());
            //viewCast.dataGridControl.ItemsSource = Items;
            //viewCast.dataGridControl.ItemsSource = issues;// new List<Tuple<string, string>> { new Tuple<string, string>("C1", "C2") };

            //viewCast.devDataGrid.ItemsSource = Items;
            //foreach(var property in )
            //viewCast.dataGridControl.Columns.Add(new Xceed.Wpf.DataGrid.Column(fieldName, displayMemberBinding))

            foreach (var itemUncast in Items)//.Cast<IModelObject>())
            {
                IModelObject item = itemUncast as IModelObject;
                item.Relationships = new List <List <object> >();
                var type = item.GetType();

                var relationshipProperties = item.GetNavigationProperties();



                foreach (var relatedProperty in relationshipProperties)
                {
                    if (relatedProperty.PropertyType.IsGenericType && relatedProperty.PropertyType.GetGenericTypeDefinition() == typeof(ICollection <>))
                    {
                        var relatedItem = relatedProperty.GetValue(item);
                        //List<object> something = new List<object>(relatedItem);
                        var hash            = relatedItem as IEnumerable;
                        var relatedItemList = new List <object>();// hash.ToList<PollIssue>();
                        foreach (var existing in hash)
                        {
                            relatedItemList.Add(existing);
                        }
                        //relatedItemList.Add(new PollIssue() { Id = 1 });
                        //relatedItemList.Add(new PollIssue() { Id = 2 });
                        //relatedItemList.Add(new PollIssue() { Id = 3 });
                        item.Relationships.Add(relatedItemList);
                    }
                }
                item.IsChanged = false;
            }

            SelectedItem = Items.FirstOrDefault() as IModelObject;

            IsLoading = false;
        }