LookupBindContext(ListItemModelHost listItemModelHost, ListViewWebPartDefinition wpModel) { var result = new ClientXsltListViewWebPartDefinitionValidator.ListBindContext { }; var web = listItemModelHost.HostWeb; var context = listItemModelHost.HostWeb.Context; var list = LookupList(listItemModelHost, wpModel); View view = null; if (wpModel.ViewId.HasValue && wpModel.ViewId != default(Guid)) { view = list.Views.GetById(wpModel.ViewId.Value); } else if (!string.IsNullOrEmpty(wpModel.ViewName)) { view = list.Views.GetByTitle(wpModel.ViewName); } context.Load(list, l => l.Id); context.Load(list, l => l.DefaultViewUrl); context.Load(list, l => l.Title); context.Load(list, l => l.DefaultView); if (view != null) { context.Load(view); context.ExecuteQueryWithTrace(); result.OriginalView = list.DefaultView; result.OriginalViewId = list.DefaultView.Id; result.TargetView = view; result.TargetViewId = view.Id; result.TitleUrl = view.ServerRelativeUrl; } else { context.ExecuteQueryWithTrace(); } result.ListId = list.Id; if (wpModel.TitleUrl == null) { if (string.IsNullOrEmpty(result.TitleUrl)) { result.TitleUrl = list.DefaultViewUrl; } } return(result); }
LookupBindContext(ListItemModelHost listItemModelHost, ListViewWebPartDefinition wpModel) { var result = new ClientXsltListViewWebPartDefinitionValidator.ListBindContext { }; var web = listItemModelHost.HostWeb; var context = listItemModelHost.HostWeb.Context; var list = LookupList(listItemModelHost, wpModel); View view = null; if (wpModel.ViewId.HasValue && wpModel.ViewId != default(Guid)) view = list.Views.GetById(wpModel.ViewId.Value); else if (!string.IsNullOrEmpty(wpModel.ViewName)) view = list.Views.GetByTitle(wpModel.ViewName); context.Load(list, l => l.Id); context.Load(list, l => l.DefaultViewUrl); context.Load(list, l => l.Title); context.Load(list, l => l.DefaultView); if (view != null) { context.Load(view); context.ExecuteQueryWithTrace(); result.OriginalView = list.DefaultView; result.OriginalViewId = list.DefaultView.Id; result.TargetView = view; result.TargetViewId = view.Id; result.TitleUrl = view.ServerRelativeUrl; } else { context.ExecuteQueryWithTrace(); } result.ListId = list.Id; if (wpModel.TitleUrl == null) { if (string.IsNullOrEmpty(result.TitleUrl)) result.TitleUrl = list.DefaultViewUrl; } return result; }