using Gestor.Application.Drawers; using Gestor.Application.Helpers; using Gestor.Application.Servicos; using Gestor.Application.Servicos.Seguros; using Gestor.Application.ViewModels.Financeiro; using Gestor.Application.ViewModels.Generic; using Gestor.Application.Views.Generic; using Gestor.Common.Validation; using Gestor.Model.Common; using Gestor.Model.Domain.Financeiro; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Seguros; using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; 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; namespace Gestor.Application.Views.Financeiro { public class FornecedorView : BaseUserControl, IComponentConnector { internal DataGrid FornecedorGrid; internal TextBox NomeBox; internal TextBox DocumentoPrincipalBox; internal ToggleButton AtivoBox; internal TextBox CepBox; internal ProgressBar ProgressCep; internal TextBox EnderecoBox; internal TextBox BairroBox; internal TextBox CidadeBox; internal TextBox EstadoBox; internal ComboBox PlanoBox; internal ComboBox CentroBox; internal ComboBox ContaBox; internal ComboBox TipoPagamentoBox; private bool _contentLoaded; public FornecedorViewModel ViewModel { get; set; } [DebuggerNonUserCode] [GeneratedCode("PresentationBuildTasks", "4.0.0.0")] internal Delegate _CreateDelegate(Type delegateType, string handler) { return Delegate.CreateDelegate(delegateType, this, handler); } public FornecedorView() { base.Tag = "CADASTRO DE FORNECEDORES"; this.ViewModel = new FornecedorViewModel(); base.DataContext = this.ViewModel; this.InitializeComponent(); } private async void AbrirAquivoDigital_Click(object sender, RoutedEventArgs e) { if ((new PermissaoArquivoDigitalServico()).BuscarPermissao(Recursos.Usuario, 10).get_Consultar()) { FiltroArquivoDigital filtroArquivoDigital = new FiltroArquivoDigital(); filtroArquivoDigital.set_Id(this.ViewModel.SelectedFornecedor.get_Id()); filtroArquivoDigital.set_Tipo(10); filtroArquivoDigital.set_Parente(this.ViewModel.SelectedFornecedor); this.ViewModel.ShowDrawer(new ArquivoDigitalDrawer(filtroArquivoDigital), 0, false); } else { await this.ViewModel.ShowMessage(string.Concat("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR\nARQUIVO DIGITAL DE ", ValidationHelper.GetDescription((TipoArquivoDigital)10), "."), "OK", "", false); } } private void AbrirLog_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.AbrirLog(24, this.ViewModel.SelectedFornecedor.get_Id()); } private void AbrirLogEmail_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.AbrirLogEmail(24, this.ViewModel.SelectedFornecedor.get_Id()); } private void Alterar_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.Alterar(true); this.ViewModel.SelectedFornecedor.Initialize(); } private void AutoCompleteBox_OnTextChanged(object sender, RoutedEventArgs e) { if (!string.IsNullOrWhiteSpace(((AutoCompleteBox)sender).get_Text())) { return; } this.ViewModel.FiltrarFornecedor(""); } private void AutoCompleteFornecedor_OnPopulating(object sender, PopulatingEventArgs e) { if (e.get_Parameter().Length < 3) { return; } e.set_Cancel(true); this.ViewModel.Filtrar(ValidationHelper.RemoveDiacritics(e.get_Parameter().Trim())).ContinueWith((Task> searchResult) => { if (searchResult.Result == null) { return; } AutoCompleteBox autoCompleteBox = (AutoCompleteBox)sender; autoCompleteBox.set_ItemsSource(searchResult.Result); autoCompleteBox.PopulateComplete(); }, TaskScheduler.FromCurrentSynchronizationContext()); } private void Cancelar_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.CancelProduto = (Fornecedor)this.ViewModel.SelectedFornecedor.Clone(); this.ViewModel.CancelarAlteracao(); this.ScrollToItem(); } private async void CopiarDados_OnClick(object sender, RoutedEventArgs e) { Cliente cliente = await this.ViewModel.ShowCopiarCliente(); if (cliente != null) { this.ViewModel.Incluir(); Cliente cliente1 = cliente; ObservableCollection observableCollection = await (new ClienteServico()).BuscarEnderecosAsync(cliente.get_Id()); cliente1.set_Enderecos(observableCollection); cliente1 = null; cliente1 = cliente; ObservableCollection observableCollection1 = await (new ClienteServico()).BuscarTelefonesAsync(cliente.get_Id()); cliente1.set_Telefones(observableCollection1); cliente1 = null; cliente1 = cliente; ObservableCollection observableCollection2 = await (new ClienteServico()).BuscarEmailsAsync(cliente.get_Id()); cliente1.set_Emails(observableCollection2); cliente1 = null; this.ViewModel.Copiar(cliente); } cliente = null; } private void DocumentoPrincipalBox_OnLostFocus(object sender, RoutedEventArgs e) { TextBox textBox = (TextBox)sender; textBox.Text = ValidationHelper.FormatDocument(textBox.Text); } private void Excel_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.Excel(); } private async void Excluir_OnClick(object sender, RoutedEventArgs e) { await this.ViewModel.Delete(); this.ScrollToItem(); } private void Imprimir_OnClick(object sender, RoutedEventArgs e) { this.ViewModel.Imprimir(); } private void Incluir_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/fornecedorview.xaml", UriKind.Relative)); } private async void PostcodeBox_OnLostFocus(object sender, RoutedEventArgs e) { TextBox textBox = (TextBox)sender; if (!string.IsNullOrWhiteSpace(textBox.Text)) { string str = ValidationHelper.FormatPostCode(textBox.Text); if (ValidationHelper.ValidatePostCode(str)) { this.CepBox.Text = str; EnderecoBase enderecoBase = await this.ViewModel.BuscaCep(str); if (enderecoBase != null) { this.EnderecoBox.Text = enderecoBase.get_Endereco(); this.CidadeBox.Text = enderecoBase.get_Cidade(); this.EstadoBox.Text = enderecoBase.get_Estado(); this.BairroBox.Text = enderecoBase.get_Bairro(); } } } } private async void Salvar_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", ""); } else { this.ScrollToItem(); } } private void ScrollToItem() { if (this.FornecedorGrid.SelectedItem == null) { return; } this.FornecedorGrid.UpdateLayout(); this.FornecedorGrid.ScrollIntoView(this.FornecedorGrid.SelectedItem); } [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, FornecedorView.AutoCompleteFornecedor_OnPopulating)); ((AutoCompleteBox)target).add_TextChanged(new RoutedEventHandler(this.AutoCompleteBox_OnTextChanged)); return; } case 2: { ((MenuItem)target).Click += new RoutedEventHandler(this.Imprimir_OnClick); return; } case 3: { ((MenuItem)target).Click += new RoutedEventHandler(this.Excel_OnClick); return; } case 4: { this.FornecedorGrid = (DataGrid)target; return; } case 5: { ((MenuItem)target).Click += new RoutedEventHandler(this.Incluir_OnClick); return; } case 6: { ((MenuItem)target).Click += new RoutedEventHandler(this.CopiarDados_OnClick); return; } case 7: { ((MenuItem)target).Click += new RoutedEventHandler(this.Alterar_OnClick); return; } case 8: { ((MenuItem)target).Click += new RoutedEventHandler(this.Salvar_OnClick); return; } case 9: { ((MenuItem)target).Click += new RoutedEventHandler(this.Cancelar_OnClick); return; } case 10: { ((MenuItem)target).Click += new RoutedEventHandler(this.Excluir_OnClick); return; } case 11: { ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirAquivoDigital_Click); return; } case 12: { ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirLog_OnClick); return; } case 13: { ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirLogEmail_OnClick); return; } case 14: { this.NomeBox = (TextBox)target; return; } case 15: { this.DocumentoPrincipalBox = (TextBox)target; FornecedorView fornecedorView = this; this.DocumentoPrincipalBox.PreviewTextInput += new TextCompositionEventHandler(fornecedorView.SomenteNumeros); this.DocumentoPrincipalBox.LostFocus += new RoutedEventHandler(this.DocumentoPrincipalBox_OnLostFocus); return; } case 16: { this.AtivoBox = (ToggleButton)target; return; } case 17: { this.CepBox = (TextBox)target; this.CepBox.LostFocus += new RoutedEventHandler(this.PostcodeBox_OnLostFocus); FornecedorView fornecedorView1 = this; this.CepBox.PreviewTextInput += new TextCompositionEventHandler(fornecedorView1.SomenteNumeros); return; } case 18: { this.ProgressCep = (ProgressBar)target; return; } case 19: { this.EnderecoBox = (TextBox)target; return; } case 20: { this.BairroBox = (TextBox)target; return; } case 21: { this.CidadeBox = (TextBox)target; return; } case 22: { this.EstadoBox = (TextBox)target; return; } case 23: { FornecedorView fornecedorView2 = this; ((TextBox)target).LostFocus += new RoutedEventHandler(fornecedorView2.FormatarTelefone); return; } case 24: { FornecedorView fornecedorView3 = this; ((TextBox)target).LostFocus += new RoutedEventHandler(fornecedorView3.FormatarTelefone); return; } case 25: { this.PlanoBox = (ComboBox)target; return; } case 26: { this.CentroBox = (ComboBox)target; return; } case 27: { this.ContaBox = (ComboBox)target; return; } case 28: { this.TipoPagamentoBox = (ComboBox)target; return; } } this._contentLoaded = true; } } }