From 674ca83ba9243a9e95a7568c797668dab6aee26a Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:35:25 -0300 Subject: feat: upload files --- Gestor.Application/Componentes/DialogCopia.cs | 160 ++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 Gestor.Application/Componentes/DialogCopia.cs (limited to 'Gestor.Application/Componentes/DialogCopia.cs') diff --git a/Gestor.Application/Componentes/DialogCopia.cs b/Gestor.Application/Componentes/DialogCopia.cs new file mode 100644 index 0000000..f72933f --- /dev/null +++ b/Gestor.Application/Componentes/DialogCopia.cs @@ -0,0 +1,160 @@ +using Gestor.Application; +using Gestor.Application.ViewModels.Generic; +using Gestor.Model.Domain.MalaDireta; +using MaterialDesignThemes.Wpf; +using System; +using System.CodeDom.Compiler; +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 DialogCopia : UserControl, IComponentConnector, IStyleConnector + { + internal TextBox CopiaBox; + + internal MaterialDesignThemes.Wpf.Snackbar Snackbar; + + private bool _contentLoaded; + + public DialogCopiaViewModel ViewModel + { + get; + set; + } + + public DialogCopia(Copia copia) + { + this.ViewModel = new DialogCopiaViewModel(copia); + base.DataContext = this.ViewModel; + this.InitializeComponent(); + } + + private void AdicionarCopia(object sender, RoutedEventArgs e) + { + this.ViewModel.AdicionarCopia(); + this.ToggleSnackBar(this.ViewModel.Erro, true); + } + + 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))); + } + + private void ExcluirComum_OnDeleteClick(object sender, RoutedEventArgs e) + { + Chip chip = (Chip)sender; + this.ViewModel.ExcluirCopia("CÓPIA COMUM", (string)chip.DataContext); + } + + private void ExcluirOculta_OnDeleteClick(object sender, RoutedEventArgs e) + { + Chip chip = (Chip)sender; + this.ViewModel.ExcluirCopia("CÓPIA OCULTA", (string)chip.DataContext); + } + + [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/dialogcopia.xaml", UriKind.Relative)); + } + + 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: + { + this.CopiaBox = (TextBox)target; + return; + } + case 2: + { + ((Button)target).Click += new RoutedEventHandler(this.AdicionarCopia); + return; + } + case 3: + case 4: + { + this._contentLoaded = true; + return; + } + case 5: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.AdicionarCopia); + return; + } + case 6: + { + this.Snackbar = (MaterialDesignThemes.Wpf.Snackbar)target; + return; + } + case 7: + { + ((SnackbarMessage)target).add_ActionClick(new RoutedEventHandler(this.SnackbarMessage_ActionClick)); + return; + } + default: + { + this._contentLoaded = true; + return; + } + } + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) + { + if (connectionId == 3) + { + ((Chip)target).add_DeleteClick(new RoutedEventHandler(this.ExcluirComum_OnDeleteClick)); + return; + } + if (connectionId != 4) + { + return; + } + ((Chip)target).add_DeleteClick(new RoutedEventHandler(this.ExcluirOculta_OnDeleteClick)); + } + + 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)); + } + } +} \ No newline at end of file -- cgit v1.2.3