using Gestor.Application; using Gestor.Application.ViewModels.Generic; using Gestor.Common.Validation; using MaterialDesignThemes.Wpf; using System; using System.CodeDom.Compiler; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Markup; using System.Windows.Threading; namespace Gestor.Application.Componentes { public class DialogPesquisaAvancada : UserControl, IComponentConnector { internal DataGrid Grid; internal MaterialDesignThemes.Wpf.Snackbar Snackbar; private bool _contentLoaded; public DialogPesquisaAvancadaViewModel ViewModel { get; set; } public DialogPesquisaAvancada(DialogPesquisaAvancadaViewModel viewModel) { this.ViewModel = viewModel; base.DataContext = this.ViewModel; this.InitializeComponent(); this.ViewModel.GetTipoTela(); this.ViewModel.HabilitarBusca(); } private void CloseSlackBar() { Thread.Sleep(3000); System.Windows.Threading.Dispatcher dispatcher = App.ProgressRing.Dispatcher; if (dispatcher == null) { return; } dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => this.ToggleSnackBar("", false))); } [DebuggerNonUserCode] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] public void InitializeComponent() { if (this._contentLoaded) { return; } this._contentLoaded = true; System.Windows.Application.LoadComponent(this, new Uri("/Gestor.Application;component/componentes/dialogpesquisaavancada.xaml", UriKind.Relative)); } private async void Pesquisar_OnClick(object sender, RoutedEventArgs e) { if (this.ViewModel.Pesquisa != null) { await this.ViewModel.Pesquisar(); if (this.ViewModel.Pesquisas.Count == 0) { this.ToggleSnackBar("NÃO HÁ DOCUMENTOS ENCONTRADOS.", true); } } else { this.ToggleSnackBar(string.Concat("INFORME QUAL ", ValidationHelper.GetDescription(this.ViewModel.Tipo), " DESEJA PROCURAR"), true); } } private void SnackbarMessage_ActionClick(object sender, RoutedEventArgs e) { this.Snackbar.set_IsActive(false); } [DebuggerNonUserCode] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { switch (connectionId) { case 1: { ((MenuItem)target).Click += new RoutedEventHandler(this.Pesquisar_OnClick); return; } case 2: { this.Grid = (DataGrid)target; return; } case 3: { this.Snackbar = (MaterialDesignThemes.Wpf.Snackbar)target; return; } case 4: { ((SnackbarMessage)target).add_ActionClick(new RoutedEventHandler(this.SnackbarMessage_ActionClick)); return; } } this._contentLoaded = true; } public void ToggleSnackBar(string message, bool active = true) { this.Snackbar.get_Message().Content = message; this.Snackbar.set_IsActive(active); if (!active) { return; } Task.Factory.StartNew(new Action(this.CloseSlackBar)); } } }