public SortAndFilterViewModel(ITemplateView rootTemplateView) { this.rootTemplateView = rootTemplateView; TemplateViewModels = new List <TemplateViewModel>(); PopulateTemplates(this.rootTemplateView.TemplateDefinition, new IBindingContext[] { this.rootTemplateView.BindingContext }); }
public void RemoveView(ITemplateView view) { if (view != null && view.Ident != null) { lock (syncRoot) { try { viewById.Remove(view.Ident); if (view.TemplateDefinition != null) { if (viewsByTemplateDefinition.ContainsKey(view.TemplateDefinition.Name)) { viewsByTemplateDefinition[view.TemplateDefinition.Name].Remove(view); } } view.Dispose(); } catch (Exception ex) { string message = $"Remove view '{view.Ident}' failed. {ex.Message}"; throw new BindingTemplateException(message); } } } }
public void AddView(ITemplateView view) { if (view != null) { lock (syncRoot) { try { if (view.TemplateDefinition == null) { throw new BindingTemplateException("the template dataAccessor cannot be null"); } if (GetTemplateDefinition(view.TemplateDefinition.Name) != null) { viewsByTemplateDefinition[view.TemplateDefinition.Name].Add(view); } viewById[view.Ident] = view; } catch (Exception ex) { throw new BindingTemplateException($"Cannot add view '{view.Ident}'.{ex.Message}", ex); } } } }
protected override void ExecuteFilter(ITemplateView view) { object dataSource = view.GetDataSource(); ETKExcel.TemplateManager.ClearView(view as ExcelTemplateView); // We reinject the datasource to force the filtering ((TemplateView)view).CreateBindingContext(dataSource); // RenderView the view to see the filering application ETKExcel.TemplateManager.Render(view as ExcelTemplateView); }
protected override Task Context() { _view = A.Fake <ITemplateView>(); _templateTaskQuery = A.Fake <ITemplateTaskQuery>(); _applicationController = A.Fake <IApplicationController>(); _dialogCreator = A.Fake <IDialogCreator>(); _startOptions = A.Fake <IStartOptions>(); _configuration = A.Fake <IApplicationConfiguration>(); sut = new TemplatePresenter(_view, _templateTaskQuery, _applicationController, _dialogCreator, _startOptions, _configuration); return(_completed); }
public ITemplateView GetView(Guid ident) { ITemplateView view = null; if (ident != null) { lock (syncRoot) { viewById.TryGetValue(ident, out view); } } return(view); }
public SortAndFilerWindow(ITemplateView rootTemplateView) { if (System.Windows.Application.Current == null) { new System.Windows.Application(); System.Windows.Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown; } InitializeComponent(); SortAndFilterViewModel viewModel = new SortAndFilterViewModel(rootTemplateView); this.DataContext = viewModel; }
protected BindingFilterContextItem(ITemplateView view, BindingFilterDefinition bindingFilterDefinition, IBindingContextElement bindingContextElement) : base(bindingContextElement, null) { this.view = (TemplateView)view; this.bindingFilterDefinition = bindingFilterDefinition; this.bindingContextElement = bindingContextElement; Dictionary <BindingFilterDefinition, string> filterDefinitionByElement; if (!((TemplateView)view).FilterValueByFilterDefinitionByElement.TryGetValue(bindingContextElement.DataSource, out filterDefinitionByElement)) { filterDefinitionByElement = new Dictionary <BindingFilterDefinition, string>(); ((TemplateView)view).FilterValueByFilterDefinitionByElement[bindingContextElement.DataSource] = filterDefinitionByElement; } string filterValue; filterDefinitionByElement.TryGetValue(bindingFilterDefinition, out filterValue); FilterValue = filterValue; }
public SiteTemplatePresenter(ITemplateView view) { _view = view; }
public ExcelBindingSearchContextItem(ITemplateView view, BindingSearchDefinition definition, IBindingContextElement parent) : base(view, definition, parent) { ((ExcelTemplateView)view).RegisterSearchControl(this); }
public static void SetSearchValue(ITemplateView concernedView, IExcelTestTopic topic) { concernedView.SearchValue = concernedView.SearchValue == topic.Description ? null : topic.Description; concernedView.ExecuteSearch(); }
private RootBindingFilter(ITemplateView view, BindingFilterDefinition bindingFilterDefinition, string filterValue) { this.view = (TemplateView)view; this.bindingFilterDefinition = bindingFilterDefinition; FilterValue = filterValue; }
public BindingContext(IBindingContextElement parent, ITemplateView owner, ITemplateDefinition templateDefinition, object dataSource, List <IFilterDefinition> templatedFilters) { try { if (owner == null) { throw new ArgumentNullException("The parameter 'owner' cannot be null"); } if (templateDefinition == null) { throw new ArgumentNullException("The parameter 'templateDefinition' cannot be null"); } Owner = owner; TemplateDefinition = templateDefinition; TemplatedFilters = templatedFilters; IsExpanded = TemplateDefinition.TemplateOption.HeaderAsExpander != HeaderAsExpander.StartClosed; //TemplatedSortsAndFilters = templatedSortsAndFilters; Parent = parent; DataSource = dataSource; if (DataSource != null) { List <object> dataSourceAsList; IBindingDefinition dataSourceType; if (DataSource is IEnumerable) { dataSourceAsList = (DataSource as IEnumerable).Cast <object>().ToList(); dataSourceType = BindingDefinitionRoot.CreateInstance(dataSourceAsList.GetType()); } else { dataSourceAsList = new List <object>(); dataSourceAsList.Add(DataSource); //new object[] { DataSource }; dataSourceType = BindingDefinitionRoot.CreateInstance(DataSource.GetType()); } if (TemplateDefinition.MainBindingDefinition != null) { CheckType(TemplateDefinition.MainBindingDefinition, dataSourceType); } ISortersAndFilters externalSortersAndFilters = null; owner.ExternalSortersAndFilters?.TryGetValue(TemplateDefinition, out externalSortersAndFilters); //Occurrences = dataSourceAsList.Count; if (TemplateDefinition.Body != null) { IEnumerable <IFilterDefinition> templatedFiltersToTakeIntoAccount = null; if (templatedFilters != null) { IEnumerable <IFilterDefinition> templatedFiltersToTakeIntoAccountFound = templatedFilters.Where(tf => tf.TemplateDefinition == templateDefinition); if (templatedFiltersToTakeIntoAccountFound.Any()) { templatedFiltersToTakeIntoAccount = templatedFiltersToTakeIntoAccountFound; } } ISorterDefinition[] sortersDefinition = null; if (((TemplateView)owner).SorterDefinition != null && ((TemplateView)owner).SorterDefinition.TemplateDefinition == templateDefinition) { sortersDefinition = new ISorterDefinition[] { ((TemplateView)owner).SorterDefinition } } ; ISortersAndFilters sortersAndFilters = null; if (templatedFilters != null || sortersDefinition != null) { sortersAndFilters = SortersAndFilterersFactory.CreateInstance(templateDefinition, templatedFiltersToTakeIntoAccount, sortersDefinition); } Body = BindingContextPart.CreateBodyBindingContextPart(this, TemplateDefinition.Body, dataSourceAsList, externalSortersAndFilters, sortersAndFilters); } if (TemplateDefinition.Header != null) { Header = BindingContextPart.CreateHeaderOrFooterBindingContextPart(this, TemplateDefinition.Header, BindingContextPartType.Header, DataSource); } if (TemplateDefinition.Footer != null) { Footer = BindingContextPart.CreateHeaderOrFooterBindingContextPart(this, TemplateDefinition.Footer, BindingContextPartType.Header, DataSource); } } } catch (Exception ex) { string message = $"Create the 'BindingContext' for template '{(templateDefinition == null ? string.Empty : templateDefinition.Name)}' failed . {ex.Message}"; throw new EtkException(message); } }
public override BindingSearchContextItem CreateContextItem(ITemplateView view, IBindingContextElement parent) { return(new ExcelBindingSearchContextItem(view, this, parent)); }
public static void DisplaySortAndFilterWindow(System.Windows.Forms.IWin32Window owner, ITemplateView templateView) { //SortAndFilterViewModel viewModel = new SortAndFilterViewModel(templateView); SortAndFilerWindow window = new SortAndFilerWindow(templateView); if (owner != null) { WindowInteropHelper windowInteropHelper = new WindowInteropHelper(window); windowInteropHelper.Owner = owner.Handle; window.ShowDialog(); } else { window.ShowDialog(); } }
public static void DisplaySortAndFilterWindow(ITemplateView templateView) { DisplaySortAndFilterWindow(null, templateView); }
protected BindingSearchContextItem(ITemplateView view, BindingSearchDefinition definition, IBindingContextElement parent) : base(parent, null) { this.view = (TemplateView)view; this.definition = definition; }
public abstract BindingSearchContextItem CreateContextItem(ITemplateView view, IBindingContextElement parent);
protected abstract void ExecuteFilter(ITemplateView view);
public void SetUp() { _view = MockRepository.GenerateMock<ITemplateView>(); }
public ExcelBindingFilterContextItem(ITemplateView view, BindingFilterDefinition bindingFilterDefinition, IBindingContextElement bindingContextElement) : base(view, bindingFilterDefinition, bindingContextElement) { }