diff options
Diffstat (limited to 'Codemerx/Gestor.Application/Views/Ferramentas/UsuarioView.cs')
| -rw-r--r-- | Codemerx/Gestor.Application/Views/Ferramentas/UsuarioView.cs | 545 |
1 files changed, 545 insertions, 0 deletions
diff --git a/Codemerx/Gestor.Application/Views/Ferramentas/UsuarioView.cs b/Codemerx/Gestor.Application/Views/Ferramentas/UsuarioView.cs new file mode 100644 index 0000000..3946e16 --- /dev/null +++ b/Codemerx/Gestor.Application/Views/Ferramentas/UsuarioView.cs @@ -0,0 +1,545 @@ +using Gestor.Application.Drawers;
+using Gestor.Application.Helpers;
+using Gestor.Application.Servicos;
+using Gestor.Application.ViewModels.Ferramentas;
+using Gestor.Application.ViewModels.Generic;
+using Gestor.Application.Views.Generic;
+using Gestor.Common.Validation;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Common;
+using Gestor.Model.Domain.Configuracoes;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Seguros;
+using Gestor.Model.License;
+using System;
+using System.CodeDom.Compiler;
+using System.Collections.Generic;
+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.Ferramentas
+{
+ public class UsuarioView : BaseUserControl, IComponentConnector
+ {
+ private bool _abrindoPermissao;
+
+ private bool _firstTime = true;
+
+ private bool _setting;
+
+ internal DataGrid UsuarioGrid;
+
+ internal MenuItem CancelarApoliceButton;
+
+ internal TextBox NomeBox;
+
+ internal TextBox CepBox;
+
+ internal TextBox EnderecoBox;
+
+ internal TextBox NumeroBox;
+
+ internal TextBox BairroBox;
+
+ internal TextBox CidadeBox;
+
+ internal TextBox EstadoBox;
+
+ private bool _contentLoaded;
+
+ public UsuarioViewModel ViewModel
+ {
+ get;
+ set;
+ }
+
+ [DebuggerNonUserCode]
+ [GeneratedCode("PresentationBuildTasks", "4.0.0.0")]
+ internal Delegate _CreateDelegate(Type delegateType, string handler)
+ {
+ return Delegate.CreateDelegate(delegateType, this, handler);
+ }
+
+ public UsuarioView()
+ {
+ base.Tag = "CADASTRO DE USUÁRIOS";
+ this.ViewModel = new UsuarioViewModel();
+ 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 async void AbrirAquivoDigital_Click(object sender, RoutedEventArgs e)
+ {
+ if ((new PermissaoArquivoDigitalServico()).BuscarPermissao(Recursos.Usuario, 12).get_Consultar())
+ {
+ this.ViewModel.EnableAlterar = false;
+ FiltroArquivoDigital filtroArquivoDigital = new FiltroArquivoDigital();
+ filtroArquivoDigital.set_Id(this.ViewModel.SelectedUsuario.get_Id());
+ filtroArquivoDigital.set_Tipo(12);
+ filtroArquivoDigital.set_Parente(this.ViewModel.SelectedUsuario);
+ this.ViewModel.ShowDrawer(new ArquivoDigitalDrawer(filtroArquivoDigital), 0, false);
+ this.ViewModel.EnableAlterar = true;
+ }
+ else
+ {
+ await this.ViewModel.ShowMessage(string.Concat("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR\nARQUIVO DIGITAL DE ", ValidationHelper.GetDescription((TipoArquivoDigital)12), "."), "OK", "", false);
+ }
+ }
+
+ private void AbrirLog_OnClick(object sender, RoutedEventArgs e)
+ {
+ this.ViewModel.AbrirLog(16, this.ViewModel.SelectedUsuario.get_Id());
+ }
+
+ private async void AbrirLogAcesso_OnClick(object sender, RoutedEventArgs e)
+ {
+ await this.ViewModel.ShowLogAcessoDialog(49, this.ViewModel.SelectedUsuario);
+ }
+
+ private async void Alterar_OnClick(object sender, RoutedEventArgs e)
+ {
+ List<Licenca> produtos = LicenseHelper.Produtos;
+ if (!produtos.Any<Licenca>((Licenca produto) => produto.get_Produto() == 91) || !this.ViewModel.SelectedUsuario.get_Login().Contains("@"))
+ {
+ await this.ViewModel.AlterarUsuario();
+ this.ViewModel.SelectedUsuario.Initialize();
+ this.ViewModel.CancelUsuario = (Usuario)this.ViewModel.SelectedUsuario.Clone();
+ this.ViewModel.Alterar(true);
+ this.ViewModel.IsExpanded = false;
+ this.NomeBox.Focus();
+ }
+ else
+ {
+ await this.ViewModel.ShowMessage("ALTERAÇÃO DESSE USUARIO TEM QUE SER FEITO NO PAINEL DO AGGILIZADOR.", "OK", "", false);
+ }
+ }
+
+ private void AutoCompleteBancoBox_Populating(object sender, PopulatingEventArgs e)
+ {
+ if (e.get_Parameter().Length < 3)
+ {
+ return;
+ }
+ e.set_Cancel(true);
+ this.ViewModel.BuscarBanco(ValidationHelper.RemoveDiacritics(e.get_Parameter().Trim())).ContinueWith((Task<List<Banco>> searchResult) => {
+ if (searchResult.Result == null)
+ {
+ return;
+ }
+ AutoCompleteBox autoCompleteBox = (AutoCompleteBox)sender;
+ autoCompleteBox.set_ItemsSource(searchResult.Result);
+ autoCompleteBox.PopulateComplete();
+ }, TaskScheduler.FromCurrentSynchronizationContext());
+ }
+
+ private void AutoCompleteBox_OnTextChanged(object sender, RoutedEventArgs e)
+ {
+ if (!string.IsNullOrWhiteSpace(((AutoCompleteBox)sender).get_Text()))
+ {
+ return;
+ }
+ this.ViewModel.FiltrarUsuario("");
+ }
+
+ private void AutoCompleteBoxUsuario_Populating(object sender, PopulatingEventArgs e)
+ {
+ e.set_Cancel(true);
+ this.ViewModel.Filtrar(ValidationHelper.RemoveDiacritics(e.get_Parameter().Trim())).ContinueWith((Task<List<Usuario>> searchResult) => {
+ if (searchResult.Result == null)
+ {
+ return;
+ }
+ AutoCompleteBox autoCompleteBox = (AutoCompleteBox)sender;
+ autoCompleteBox.set_ItemsSource(searchResult.Result);
+ autoCompleteBox.PopulateComplete();
+ }, TaskScheduler.FromCurrentSynchronizationContext());
+ }
+
+ private async void Cancelar_OnClick(object sender, RoutedEventArgs e)
+ {
+ this.ViewModel.Loading(true);
+ await this.ViewModel.CancelarAlteracao();
+ this.ViewModel.Loading(false);
+ this.ScrollToItem();
+ }
+
+ private async void Click_VerificaAdmCentralSegurado(object sender, RoutedEventArgs e)
+ {
+ await this.ViewModel.VerificaUsuarioAdmCentralSegurado();
+ }
+
+ private async void ContentLoad()
+ {
+ this.ViewModel.Loading(true);
+ await this.ViewModel.Seleciona();
+ this.ViewModel.Loading(false);
+ }
+
+ private void CpfBox_OnLostFocus(object sender, RoutedEventArgs e)
+ {
+ TextBox textBox = (TextBox)sender;
+ textBox.Text = ValidationHelper.FormatDocument(textBox.Text);
+ }
+
+ private async void CriarCartao_OnClick(object sender, RoutedEventArgs e)
+ {
+ List<ConfiguracaoSistema> configuracoes = Recursos.Configuracoes;
+ bool flag = configuracoes.Any<ConfiguracaoSistema>((ConfiguracaoSistema x) => x.get_Configuracao() == 30);
+ await this.ViewModel.CriarCartao(flag);
+ }
+
+ private async void Excluir_OnClick(object sender, RoutedEventArgs e)
+ {
+ List<Licenca> produtos = LicenseHelper.Produtos;
+ if (!produtos.Any<Licenca>((Licenca produto) => produto.get_Produto() == 91) || !this.ViewModel.SelectedUsuario.get_Login().Contains("@"))
+ {
+ await this.ViewModel.Excluir();
+ this.ScrollToItem();
+ }
+ else
+ {
+ await this.ViewModel.ShowMessage("EXCLUSÃO DESSE USUARIO TEM QUE SER FEITO NO PAINEL DO AGGILIZADOR.", "OK", "", false);
+ }
+ }
+
+ private void Incluir_OnClick(object sender, RoutedEventArgs e)
+ {
+ this.ViewModel.Incluir();
+ List<KeyValuePair<string, string>> keyValuePairs = this.ViewModel.SelectedUsuario.Validate();
+ this.ValidateFields(keyValuePairs, true);
+ this.ViewModel.IsExpanded = false;
+ this.NomeBox.Focus();
+ }
+
+ [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/ferramentas/usuarioview.xaml", UriKind.Relative));
+ }
+
+ private async void Permissoes_OnClick(object sender, RoutedEventArgs e)
+ {
+ bool consultar;
+ if (!this._abrindoPermissao)
+ {
+ List<PermissaoUsuario> permissaoUsuario = this.ViewModel.PermissaoUsuario;
+ PermissaoUsuario permissaoUsuario1 = permissaoUsuario.FirstOrDefault<PermissaoUsuario>((PermissaoUsuario permissao) => permissao.get_Tela() == 43);
+ if (Recursos.Usuario.get_Administrador() || Recursos.Usuario.get_Id() == 0 || Recursos.Usuario.get_Nome().Contains("ACESSO AGGER") || permissaoUsuario1 == null)
+ {
+ consultar = false;
+ }
+ else
+ {
+ permissaoUsuario1.get_Consultar();
+ consultar = !permissaoUsuario1.get_Consultar();
+ }
+ bool flag = consultar;
+ if (flag)
+ {
+ flag = await this.ViewModel.ShowMessage("VOCÊ NÃO POSSUI PERMISSÃO PARA ACESSAR PERMISSÕES.", "OK", "", false);
+ }
+ if (!flag)
+ {
+ this._abrindoPermissao = true;
+ await this.ViewModel.OpenPermissao();
+ await Task.Delay(1000);
+ this._abrindoPermissao = false;
+ }
+ }
+ }
+
+ private async void PostcodeBox_OnLostFocus(object sender, RoutedEventArgs e)
+ {
+ string str = ValidationHelper.FormatPostCode(((TextBox)sender).Text);
+ this.CepBox.Text = str;
+ if (ValidationHelper.ValidatePostCode(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<KeyValuePair<string, string>> 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.UsuarioGrid.SelectedItem == null)
+ {
+ return;
+ }
+ this.UsuarioGrid.UpdateLayout();
+ this.UsuarioGrid.ScrollIntoView(this.UsuarioGrid.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, UsuarioView.AutoCompleteBoxUsuario_Populating));
+ ((AutoCompleteBox)target).add_TextChanged(new RoutedEventHandler(this.AutoCompleteBox_OnTextChanged));
+ return;
+ }
+ case 2:
+ {
+ this.UsuarioGrid = (DataGrid)target;
+ return;
+ }
+ case 3:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.Incluir_OnClick);
+ return;
+ }
+ case 4:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.Alterar_OnClick);
+ return;
+ }
+ case 5:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.Salvar_OnClick);
+ return;
+ }
+ case 6:
+ {
+ this.CancelarApoliceButton = (MenuItem)target;
+ this.CancelarApoliceButton.Click += new RoutedEventHandler(this.Cancelar_OnClick);
+ return;
+ }
+ case 7:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.Excluir_OnClick);
+ return;
+ }
+ case 8:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.Permissoes_OnClick);
+ return;
+ }
+ case 9:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.Vinculo_OnClick);
+ return;
+ }
+ case 10:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.CriarCartao_OnClick);
+ return;
+ }
+ case 11:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirLog_OnClick);
+ return;
+ }
+ case 12:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirAquivoDigital_Click);
+ return;
+ }
+ case 13:
+ {
+ ((MenuItem)target).Click += new RoutedEventHandler(this.AbrirLogAcesso_OnClick);
+ return;
+ }
+ case 14:
+ {
+ this.NomeBox = (TextBox)target;
+ return;
+ }
+ case 15:
+ {
+ UsuarioView usuarioView = this;
+ ((TextBox)target).PreviewTextInput += new TextCompositionEventHandler(usuarioView.SomenteNumeros);
+ ((TextBox)target).LostFocus += new RoutedEventHandler(this.CpfBox_OnLostFocus);
+ return;
+ }
+ case 16:
+ {
+ ((ComboBox)target).SelectionChanged += new SelectionChangedEventHandler(this.TelaInicial_OnSelectionChanged);
+ return;
+ }
+ case 17:
+ {
+ ((DatePicker)target).LostKeyboardFocus += new KeyboardFocusChangedEventHandler(this.DatePicker_OnLostKeyboardFocus);
+ ((DatePicker)target).MouseDoubleClick += new MouseButtonEventHandler(this.DataAtual_OnDoubleClick);
+ ((DatePicker)target).PreviewKeyDown += new KeyEventHandler(this.DatePicker_PreviewKeyDown);
+ return;
+ }
+ case 18:
+ {
+ ((DatePicker)target).LostKeyboardFocus += new KeyboardFocusChangedEventHandler(this.DatePicker_OnLostKeyboardFocus);
+ ((DatePicker)target).MouseDoubleClick += new MouseButtonEventHandler(this.DataAtual_OnDoubleClick);
+ ((DatePicker)target).PreviewKeyDown += new KeyEventHandler(this.DatePicker_PreviewKeyDown);
+ return;
+ }
+ case 19:
+ {
+ ((AutoCompleteBox)target).add_Populating(new PopulatingEventHandler(this, UsuarioView.AutoCompleteBancoBox_Populating));
+ return;
+ }
+ case 20:
+ {
+ this.CepBox = (TextBox)target;
+ this.CepBox.LostFocus += new RoutedEventHandler(this.PostcodeBox_OnLostFocus);
+ UsuarioView usuarioView1 = this;
+ this.CepBox.PreviewTextInput += new TextCompositionEventHandler(usuarioView1.SomenteNumeros);
+ return;
+ }
+ case 21:
+ {
+ this.EnderecoBox = (TextBox)target;
+ return;
+ }
+ case 22:
+ {
+ this.NumeroBox = (TextBox)target;
+ return;
+ }
+ case 23:
+ {
+ this.BairroBox = (TextBox)target;
+ return;
+ }
+ case 24:
+ {
+ this.CidadeBox = (TextBox)target;
+ return;
+ }
+ case 25:
+ {
+ this.EstadoBox = (TextBox)target;
+ return;
+ }
+ case 26:
+ {
+ UsuarioView usuarioView2 = this;
+ ((TextBox)target).PreviewTextInput += new TextCompositionEventHandler(usuarioView2.SomenteNumeros);
+ return;
+ }
+ case 27:
+ {
+ UsuarioView usuarioView3 = this;
+ ((TextBox)target).LostFocus += new RoutedEventHandler(usuarioView3.FormatarTelefone);
+ UsuarioView usuarioView4 = this;
+ ((TextBox)target).PreviewTextInput += new TextCompositionEventHandler(usuarioView4.SomenteNumeros);
+ return;
+ }
+ case 28:
+ {
+ UsuarioView usuarioView5 = this;
+ ((TextBox)target).PreviewTextInput += new TextCompositionEventHandler(usuarioView5.SomenteNumeros);
+ return;
+ }
+ case 29:
+ {
+ UsuarioView usuarioView6 = this;
+ ((TextBox)target).LostFocus += new RoutedEventHandler(usuarioView6.FormatarTelefone);
+ UsuarioView usuarioView7 = this;
+ ((TextBox)target).PreviewTextInput += new TextCompositionEventHandler(usuarioView7.SomenteNumeros);
+ return;
+ }
+ case 30:
+ {
+ ((ToggleButton)target).Click += new RoutedEventHandler(this.Click_VerificaAdmCentralSegurado);
+ return;
+ }
+ }
+ this._contentLoaded = true;
+ }
+
+ private async void TelaInicial_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ if (!this._setting)
+ {
+ if (((ComboBox)sender).SelectedItem != null)
+ {
+ if ((TipoTelaInicial)((ComboBox)sender).SelectedItem == 1 && this.ViewModel.Restricao(47))
+ {
+ this._setting = true;
+ ((ComboBox)sender).SelectedItem = (TipoTelaInicial)0;
+ this._setting = false;
+ if (!this._firstTime)
+ {
+ await this.ViewModel.ShowMessage("FAVOR DESABILITAR A RESTRIÇÃO AO PAINEL B.I. ANTES.", "OK", "", false);
+ }
+ else
+ {
+ this._firstTime = false;
+ return;
+ }
+ }
+ this._firstTime = false;
+ }
+ }
+ }
+
+ private async void UsuarioGrid_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ object obj;
+ if (this.ViewModel.EnableGrid)
+ {
+ DataGrid dataGrid = (DataGrid)sender;
+ if (dataGrid == null || dataGrid.SelectedIndex >= 0)
+ {
+ this.ViewModel.EnableGrid = false;
+ UsuarioViewModel viewModel = this.ViewModel;
+ obj = (dataGrid != null ? dataGrid.Items[dataGrid.SelectedIndex] : null);
+ await viewModel.SelecionaUsuario((Usuario)obj);
+ this.ViewModel.EnableGrid = true;
+ }
+ }
+ }
+
+ private async void Vinculo_OnClick(object sender, RoutedEventArgs e)
+ {
+ await this.ViewModel.OpenVinculo();
+ }
+ }
+}
\ No newline at end of file |