From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../Componentes/DialogEditarParcelas.cs | 170 +++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 Codemerx/Gestor.Application/Componentes/DialogEditarParcelas.cs (limited to 'Codemerx/Gestor.Application/Componentes/DialogEditarParcelas.cs') diff --git a/Codemerx/Gestor.Application/Componentes/DialogEditarParcelas.cs b/Codemerx/Gestor.Application/Componentes/DialogEditarParcelas.cs new file mode 100644 index 0000000..3a4a496 --- /dev/null +++ b/Codemerx/Gestor.Application/Componentes/DialogEditarParcelas.cs @@ -0,0 +1,170 @@ +using Gestor.Application.Actions; +using Gestor.Application.ViewModels.Generic; +using Gestor.Common.Validation; +using Gestor.Model.Domain.Seguros; +using MaterialDesignThemes.Wpf; +using System; +using System.CodeDom.Compiler; +using System.ComponentModel; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Input; +using System.Windows.Markup; + +namespace Gestor.Application.Componentes +{ + public class DialogEditarParcelas : UserControl, IComponentConnector + { + internal MaterialDesignThemes.Wpf.Snackbar Snackbar; + + internal DataGrid ParcelaGrid; + + internal DataGridTextColumn ParcelaColumn; + + internal Label LabelStatus; + + internal Button SalvarButton; + + internal Button FecharButton; + + private bool _contentLoaded; + + public DialogEditarParcelasViewModel ViewModel + { + get; + set; + } + + public DialogEditarParcelas(Documento documento) + { + this.ViewModel = new DialogEditarParcelasViewModel(documento); + base.DataContext = this.ViewModel; + Gestor.Application.Actions.Actions.AcionarSnackbar = (Action)Delegate.Remove(Gestor.Application.Actions.Actions.AcionarSnackbar, new Action(this.AcionarSnackBar)); + Gestor.Application.Actions.Actions.AcionarSnackbar = (Action)Delegate.Combine(Gestor.Application.Actions.Actions.AcionarSnackbar, new Action(this.AcionarSnackBar)); + this.InitializeComponent(); + } + + private void AcionarSnackBar(string message) + { + this.Snackbar.set_IsActive(true); + this.Snackbar.get_Message().Content = message; + } + + private void FecharButton_OnClick(object sender, RoutedEventArgs e) + { + DialogHost.CloseDialogCommand.Execute(null, this.SalvarButton); + } + + [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/dialogeditarparcelas.xaml", UriKind.Relative)); + } + + private void ParcelaGrid_OnCellEditEnding(object sender, DataGridCellEditEndingEventArgs e) + { + DateTime dateTime; + if (!(e.EditingElement is TextBox)) + { + return; + } + Parcela dataContext = (Parcela)e.Row.DataContext; + TextBox editingElement = e.EditingElement as TextBox; + if (editingElement == null) + { + return; + } + if (e.Column.ClipboardContentBinding.StringFormat == "d") + { + editingElement.Text = ValidationHelper.FormatDate(editingElement.Text); + if (e.Column.Header.ToString() == "VENCIMENTO") + { + dataContext.set_Vencimento((string.IsNullOrWhiteSpace(editingElement.Text) || !DateTime.TryParse(editingElement.Text, out dateTime) ? DateTime.MinValue : DateTime.Parse(editingElement.Text))); + } + } + string str = e.Column.Header.ToString(); + if (str == "VALOR") + { + this.ViewModel.AlterandoValor(); + return; + } + if (str != "VENCIMENTO") + { + return; + } + this.ViewModel.AlterandoVencimento((Parcela)e.Row.DataContext); + } + + private async void SalvarButton_OnClick(object sender, RoutedEventArgs e) + { + if (await this.ViewModel.SalvarParcelas()) + { + DialogHost.CloseDialogCommand.Execute(null, this.SalvarButton); + } + } + + 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.Snackbar = (MaterialDesignThemes.Wpf.Snackbar)target; + return; + } + case 2: + { + ((SnackbarMessage)target).add_ActionClick(new RoutedEventHandler(this.SnackbarMessage_ActionClick)); + return; + } + case 3: + { + this.ParcelaGrid = (DataGrid)target; + this.ParcelaGrid.CellEditEnding += new EventHandler(this.ParcelaGrid_OnCellEditEnding); + return; + } + case 4: + { + this.ParcelaColumn = (DataGridTextColumn)target; + return; + } + case 5: + { + this.LabelStatus = (Label)target; + return; + } + case 6: + { + this.SalvarButton = (Button)target; + this.SalvarButton.Click += new RoutedEventHandler(this.SalvarButton_OnClick); + return; + } + case 7: + { + this.FecharButton = (Button)target; + this.FecharButton.Click += new RoutedEventHandler(this.FecharButton_OnClick); + return; + } + } + this._contentLoaded = true; + } + } +} \ No newline at end of file -- cgit v1.2.3