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; } } }