internal static MappingViewModel CreateViewModel(EditingContext ctx, EFObject selection) { // clear out the xref so its clean for this new view model var xref = ModelToMappingModelXRef.GetModelToMappingModelXRef(ctx); xref.Clear(); // we might be creating a view model for an entity or an association or a FunctionImport var entityType = selection as EntityType; var association = selection as Association; var fim = selection as FunctionImportMapping; // create the view model root MappingEFElement root = null; if (entityType != null) { root = ModelToMappingModelXRef.GetNewOrExisting(ctx, entityType, null); } else if (association != null) { root = ModelToMappingModelXRef.GetNewOrExisting(ctx, association, null); } else if (fim != null) { root = ModelToMappingModelXRef.GetNewOrExisting(ctx, fim, null); } else { throw new ArgumentException("selection"); } return(new MappingViewModel(ctx, root)); }
internal static ModelToMappingModelXRef GetModelToMappingModelXRef(EditingContext context) { var xref = context.Items.GetValue<ModelToMappingModelXRef>(); if (xref == null) { xref = new ModelToMappingModelXRef(); context.Items.SetValue(xref); } return xref; }
internal static ModelToMappingModelXRef GetModelToMappingModelXRef(EditingContext context) { var xref = context.Items.GetValue <ModelToMappingModelXRef>(); if (xref == null) { xref = new ModelToMappingModelXRef(); context.Items.SetValue(xref); } return(xref); }