/// <summary>
        /// Shows the Search View associated to this control
        /// </summary>
        public virtual async Task OpenSearchViewAsync()
        {
            //On ReadOnly Mode do not Open the Search View, because the Selected Business Object can not be changed.
            if (ReadOnlyMode && !SearchInReadOnlyMode)
            {
                return;
            }

            var response = await ViewModelUtil.GetSearchView <T>();

            if (!response.Success)
            {
                ShowFlyOutMessage(response.Message);
                return;
            }

            var searchView = response.Object as dynamic;

            if (!string.IsNullOrEmpty(ExcludedBusinessObjectsText))
            {
                searchView.DataContext.SelectedBusinessObjectExcludedText = ExcludedBusinessObjectsText;
            }

            searchView.DataContext.DataGridSelectionMode  = DatagridSelectionMode;
            searchView.DataContext.ExcludedIds            = ExcludedIds;
            searchView.DataContext.BusinessObjectToSearch = BusinessObjectToSearch;
            searchView.DataContext.SkipSetViewTitle       = !string.IsNullOrEmpty(ViewTitle);
            searchView.DataContext.ViewTitle = ViewTitle;

            AssignItemsSource(searchView.DataContext);
            searchView.ShowDialog();

            //If no Business Object was Selected, return.
            if ((searchView.DataContext.SelectedBusinessObject == null && searchView.DataContext.SelectedBusinessObjects == null) ||
                !searchView.DataContext.OkButtonClicked)
            {
                return;
            }

            SelectedBusinessObject = searchView.DataContext.SelectedBusinessObject;

            AssignSelectedBusinessObjects(searchView.DataContext);
        }
예제 #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 protected ViewModel()
 {
     ViewModelUtil = new ViewModelUtil(this.GetType(), RaisePropertyChanged);
 }