/// <summary> /// Refresh designer items when ActivityDesigner is loaded. /// NOTE: This sample sets a default service Uri /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ActivityDesigner_Loaded(object sender, RoutedEventArgs e) { selectedModelItem = (sender as QueryFeedDesigner).ModelItem; selectItems = new Dictionary<string, SelectItem>(); orderByItems = new Dictionary<string, OrderByItem>(); if (selectedModelItem.Properties["Uri"].Value == null) { //NOTE: This sample uses a default ServiceUrl selectedModelItem.Properties["Uri"].SetValue(Properties.Settings.Default.ServiceUrl); } { uri = selectedModelItem.Properties["Uri"].Value.ToString(); odataQuery = new ODataQuery(uri); } this.RefreshItems(); }
/// <summary> /// Given a Uri and Resource, get the EntityPropertySchema /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ActivityDesigner_GotFocus(object sender, RoutedEventArgs e) { string uri = string.Empty; string resource = string.Empty; ODataQuery q = null; ModelItem parent = (sender as FilterDesigner).ModelItem.GetParent(typeof(QueryFeed)); if (parent.Properties["Uri"].Value != null) uri = parent.Properties["Uri"].Value.ToString(); if (parent.Properties["Resource"] != null) { resource = parent.Properties["Resource"].Value.ToString(); q = new ODataQuery(uri); filterSchema = q.FilterSchema(resource); } }
/// <summary> /// Refresh EntitySets /// </summary> private void RefreshEntitySets() { ODataQuery q = null; //NOTE: The sample assumes a EntityProperties activity variable as IEnumerable<IEnumerable<EntityProperty>> ModelItem sequence = selectedModelItem.GetParent(typeof(Sequence)); Collection<System.Activities.Variable> variables = sequence.Properties["Variables"].ComputedValue as Collection<System.Activities.Variable>; var variable = (from v in variables where v.Name == "EntityProperties" select v).First(); selectedModelItem.Properties["EntityProperties"].SetValue(new OutArgument<IEnumerable<IEnumerable<EntityProperty>>>(variable)); //Get entity sets if (selectedModelItem.Properties["Uri"].Value != null) { uri = selectedModelItem.Properties["Uri"].Value.ToString(); q = new ODataQuery(uri); entitySet = q.EntitySets; } }