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 --- .../Views/Financeiro/PlanosView.cs | 262 +++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 Codemerx/Gestor.Application/Views/Financeiro/PlanosView.cs (limited to 'Codemerx/Gestor.Application/Views/Financeiro/PlanosView.cs') diff --git a/Codemerx/Gestor.Application/Views/Financeiro/PlanosView.cs b/Codemerx/Gestor.Application/Views/Financeiro/PlanosView.cs new file mode 100644 index 0000000..e9b9fef --- /dev/null +++ b/Codemerx/Gestor.Application/Views/Financeiro/PlanosView.cs @@ -0,0 +1,262 @@ +using Gestor.Application.Helpers; +using Gestor.Application.Servicos.Generic; +using Gestor.Application.ViewModels.Financeiro; +using Gestor.Application.ViewModels.Generic; +using Gestor.Application.Views.Generic; +using Gestor.Common.Validation; +using Gestor.Model.Domain.Financeiro; +using Gestor.Model.Domain.Generic; +using System; +using System.CodeDom.Compiler; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Diagnostics; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Input; +using System.Windows.Markup; +using System.Windows.Threading; + +namespace Gestor.Application.Views.Financeiro +{ + public class PlanosView : BaseUserControl, IComponentConnector + { + private bool _seleciona = true; + + public PlanosViewModel ViewModel; + + internal DataGrid PlanosGrid; + + private bool _contentLoaded; + + [DebuggerNonUserCode] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + internal Delegate _CreateDelegate(Type delegateType, string handler) + { + return Delegate.CreateDelegate(delegateType, this, handler); + } + + public PlanosView() + { + base.Tag = "PLANO DE CONTAS"; + this.ViewModel = new PlanosViewModel(); + base.DataContext = this.ViewModel; + this.InitializeComponent(); + System.Windows.Threading.Dispatcher dispatcher = base.Dispatcher; + if (dispatcher == null) + { + return; + } + dispatcher.BeginInvoke(DispatcherPriority.Render, new Action(this.ContentLoad)); + } + + private void AbrirLog_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.AbrirLog(28, this.ViewModel.SelectedPlanos.get_Id()); + } + + private void AlterarPlanos_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.Alterar(true); + this.ViewModel.SelectedPlanos.Initialize(); + } + + private void AutoCompleteBoxPlanos_OnTextChanged(object sender, RoutedEventArgs e) + { + if (!string.IsNullOrWhiteSpace(((AutoCompleteBox)sender).get_Text())) + { + return; + } + this.ViewModel.FiltrarPlanos(""); + } + + private void AutoCompleteBoxPlanos_Populating(object sender, PopulatingEventArgs e) + { + e.set_Cancel(true); + this.ViewModel.Filtrar(ValidationHelper.RemoveDiacritics(e.get_Parameter().Trim())).ContinueWith((Task> searchResult) => { + if (searchResult == null) + { + return; + } + AutoCompleteBox autoCompleteBox = (AutoCompleteBox)sender; + autoCompleteBox.set_ItemsSource(searchResult.Result); + autoCompleteBox.PopulateComplete(); + }, TaskScheduler.FromCurrentSynchronizationContext()); + } + + private void CancelarPlanos_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.CancelarAlteracao(); + } + + private async void ContentLoad() + { + this.PlanosGrid.SelectedIndex = 0; + this.PlanosGrid.SelectionChanged += new SelectionChangedEventHandler(this.PlanosGrid_OnSelectionChanged); + this.PlanosGrid.MouseDoubleClick += new MouseButtonEventHandler((object sender, MouseButtonEventArgs args) => { + }); + PlanosViewModel viewModel = this.ViewModel; + List planos = await (new BaseServico()).BuscarPlanoAsync(); + PlanosViewModel observableCollection = viewModel; + List planos1 = planos; + IOrderedEnumerable ativo = + from x in planos1 + orderby x.get_Ativo() descending + select x; + observableCollection.Plano = new ObservableCollection(ativo.ThenBy((Plano x) => x.get_Descricao()).ToList()); + viewModel = null; + } + + private void IncluirPlanos_OnClick(object sender, RoutedEventArgs e) + { + this.ViewModel.Incluir(); + } + + [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/views/financeiro/planosview.xaml", UriKind.Relative)); + } + + private async void PlanoButton_OnClick(object sender, RoutedEventArgs e) + { + PlanoView planoView = new PlanoView(this.ViewModel.SelectedPlanos.get_Plano()); + (new HosterWindow(planoView, "PLANO", new double?((double)500), new double?((double)200), false)).ShowDialog(); + this.ViewModel.Loading(true); + if (planoView.ViewModel.SelectedPlano.get_Id() != 0) + { + PlanosViewModel viewModel = this.ViewModel; + List planos = await (new BaseServico()).BuscarPlanoAsync(); + PlanosViewModel observableCollection = viewModel; + List planos1 = planos; + IOrderedEnumerable ativo = + from x in planos1 + orderby x.get_Ativo() descending + select x; + observableCollection.Plano = new ObservableCollection(ativo.ThenBy((Plano x) => x.get_Descricao()).ToList()); + viewModel = null; + List planos2 = await (new BaseServico()).BuscarPlanosAsync(); + PlanosViewModel list = this.ViewModel; + List planos3 = planos2; + IOrderedEnumerable ativo1 = + from x in planos3 + orderby x.get_Ativo() descending + select x; + IOrderedEnumerable planos4 = ativo1.ThenBy((Planos x) => { + Plano plano = x.get_Plano(); + if (plano != null) + { + return plano.get_Descricao(); + } + return null; + }); + list.Planos = planos4.ThenBy((Planos x) => x.get_Descricao()).ToList(); + ObservableCollection planosFiltrados = this.ViewModel.PlanosFiltrados; + List nums = ( + from p in planosFiltrados + select p.get_Id()).ToList(); + this.ViewModel.PlanosFiltrados = new ObservableCollection( + from x in this.ViewModel.Planos + where nums.Contains(x.get_Id()) + select x); + this._seleciona = false; + this.PlanosGrid.SelectedItem = this.ViewModel.SelectedPlanos; + this.ViewModel.SelectedPlano = this.ViewModel.Plano.First((Plano x) => x.get_Id() == planoView.ViewModel.SelectedPlano.get_Id()); + this._seleciona = true; + } + this.ViewModel.Loading(false); + } + + private async void PlanosGrid_OnSelectionChanged(object sender, SelectionChangedEventArgs e) + { + object obj; + if (this._seleciona) + { + DataGrid dataGrid = (DataGrid)sender; + if (dataGrid == null || dataGrid.SelectedIndex >= 0) + { + PlanosViewModel viewModel = this.ViewModel; + obj = (dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null); + await viewModel.SelecionaPlanos((Planos)obj); + } + } + } + + private async void SalvarPlanos_OnClick(object sender, RoutedEventArgs e) + { + bool flag; + this.ViewModel.Loading(true); + List> keyValuePairs = await this.ViewModel.Salvar(); + this.ValidateFields(keyValuePairs, true); + flag = (keyValuePairs == null ? true : keyValuePairs.Count == 0); + this.ViewModel.Loading(false); + if (!flag) + { + await this.ViewModel.ShowMessage(keyValuePairs, this.ViewModel.ErroCamposInvalidos, "OK", ""); + } + } + + [DebuggerNonUserCode] + [EditorBrowsable(EditorBrowsableState.Never)] + [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) + { + switch (connectionId) + { + case 1: + { + ((AutoCompleteBox)target).add_Populating(new PopulatingEventHandler(this, PlanosView.AutoCompleteBoxPlanos_Populating)); + ((AutoCompleteBox)target).add_TextChanged(new RoutedEventHandler(this.AutoCompleteBoxPlanos_OnTextChanged)); + return; + } + case 2: + { + this.PlanosGrid = (DataGrid)target; + return; + } + case 3: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.IncluirPlanos_OnClick); + return; + } + case 4: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.AlterarPlanos_OnClick); + return; + } + case 5: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.SalvarPlanos_OnClick); + return; + } + case 6: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.CancelarPlanos_OnClick); + return; + } + case 7: + { + ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirLog_OnClick); + return; + } + case 8: + { + ((Button)target).Click += new RoutedEventHandler(this.PlanoButton_OnClick); + return; + } + } + this._contentLoaded = true; + } + } +} \ No newline at end of file -- cgit v1.2.3