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 --- .../ViewModels/Ferramentas/VendedorViewModel.cs | 913 +++++++++++++++++++++ 1 file changed, 913 insertions(+) create mode 100644 Codemerx/Gestor.Application/ViewModels/Ferramentas/VendedorViewModel.cs (limited to 'Codemerx/Gestor.Application/ViewModels/Ferramentas/VendedorViewModel.cs') diff --git a/Codemerx/Gestor.Application/ViewModels/Ferramentas/VendedorViewModel.cs b/Codemerx/Gestor.Application/ViewModels/Ferramentas/VendedorViewModel.cs new file mode 100644 index 0000000..32b04c4 --- /dev/null +++ b/Codemerx/Gestor.Application/ViewModels/Ferramentas/VendedorViewModel.cs @@ -0,0 +1,913 @@ +using CsQuery.ExtensionMethods.Internal; +using Gestor.Application.Helpers; +using Gestor.Application.Servicos.Ferramentas; +using Gestor.Application.Servicos.Generic; +using Gestor.Application.ViewModels.Generic; +using Gestor.Common.Validation; +using Gestor.Model.Attributes; +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 System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Linq; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Threading.Tasks; +using System.Windows; + +namespace Gestor.Application.ViewModels.Ferramentas +{ + public class VendedorViewModel : BaseSegurosViewModel + { + private readonly VendedorServico _servico; + + public Vendedor CancelVendedor; + + private Vendedor _selectedVendedor; + + private GridLength _gridHeight = new GridLength(1, GridUnitType.Star); + + private GridLength _gridHeight2 = new GridLength(0); + + private ObservableCollection _vendedoresFiltrados = new ObservableCollection(); + + private bool _isExpanded; + + private VendedorTelefone _selectedTelefone = new VendedorTelefone(); + + private ObservableCollection _telefones = new ObservableCollection(); + + private Repasse _selectedRepasse = new Repasse(); + + private ObservableCollection _repasses = new ObservableCollection(); + + private string _pesquisa; + + private Visibility _mostrarRamo; + + private ObservableCollection _ramos = new ObservableCollection(); + + private Visibility _visualizacaoPropriaCorretora { get; set; } = Visibility.Collapsed; + + public bool CoCorretagemAtiva { get; set; } = Recursos.Configuracoes.Any(new Func((// + // Current member / type: System.Boolean Gestor.Application.ViewModels.Ferramentas.VendedorViewModel::CoCorretagemAtiva() + // File path: C:\AggerSeguros\Gestor.Application.exe + // + // Product version: 0.0.0.0 + // Exception in: System.Boolean CoCorretagemAtiva() + // + // Object reference not set to an instance of an object. + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.GetArgumentName(ParameterReference parameter) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 2276 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.VisitLambdaParameterExpression(LambdaParameterExpression node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 4496 + // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 + // at Telerik.JustDecompiler.Languages.BaseLanguageWriter.Write(Action writeEntity) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseLanguageWriter.cs:line 339 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 1133 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.VisitMethodParametersInternal(IList`1 list, Boolean isExtensionMethod) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 2769 + // at Telerik.JustDecompiler.Languages.CSharp.CSharpWriter.VisitLambdaExpression(LambdaExpression node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\CSharp\CSharpWriter.cs:line 1077 + // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 + // at Telerik.JustDecompiler.Languages.BaseLanguageWriter.Write(Action writeEntity) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseLanguageWriter.cs:line 339 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 1133 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.VisitDelegateCreationExpression(DelegateCreationExpression node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 4667 + // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 + // at Telerik.JustDecompiler.Languages.BaseLanguageWriter.Write(Action writeEntity) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseLanguageWriter.cs:line 339 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 1133 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.VisitMethodParametersInternal(IList`1 list, Boolean isExtensionMethod) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 2769 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.VisitMethodInvocationExpression(MethodInvocationExpression node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 2750 + // at Telerik.JustDecompiler.Ast.BaseCodeVisitor.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Ast\BaseCodeVisitor.cs:line 351 + // at Telerik.JustDecompiler.Languages.BaseLanguageWriter.Write(Action writeEntity) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseLanguageWriter.cs:line 339 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Visit(ICodeNode node) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 1133 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.WriteInitializedAutoProperty(PropertyDefinition property, Expression assignment) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseImperativeLanguageWriter.cs:line 1457 + // at Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Write(PropertyDefinition property) + // at Telerik.JustDecompiler.Languages.BaseLanguageWriter.WriteInternal(IMemberDefinition member) in D:\a\CodemerxDecompile\CodemerxDecompile\src\JustDecompileEngine\src\JustDecompiler.Shared\Languages\BaseLanguageWriter.cs:line 583 + // + // mailto: JustDecompilePublicFeedback@telerik.com + + + public GridLength GridHeight + { + get + { + return this._gridHeight; + } + set + { + this._gridHeight = value; + base.OnPropertyChanged("GridHeight"); + } + } + + public GridLength GridHeight2 + { + get + { + return this._gridHeight2; + } + set + { + this._gridHeight2 = value; + base.OnPropertyChanged("GridHeight2"); + } + } + + public bool IsExpanded + { + get + { + return this._isExpanded; + } + set + { + this._isExpanded = value; + base.OnPropertyChanged("IsExpanded"); + } + } + + public Visibility MostrarRamo + { + get + { + return this._mostrarRamo; + } + set + { + this._mostrarRamo = value; + base.OnPropertyChanged("MostrarRamo"); + } + } + + public string Pesquisa + { + get + { + return this._pesquisa; + } + set + { + this._pesquisa = value; + base.OnPropertyChanged("Pesquisa"); + } + } + + public ObservableCollection Ramos + { + get + { + return this._ramos; + } + set + { + this._ramos = value; + base.OnPropertyChanged("Ramos"); + } + } + + public ObservableCollection Repasses + { + get + { + return this._repasses; + } + set + { + if (value != null && value.Count > 0) + { + foreach (Repasse repasse in value) + { + if (repasse.get_Ramo() != null) + { + continue; + } + repasse.set_Ramo(new Ramo()); + } + } + this._repasses = value; + base.OnPropertyChanged("Repasses"); + } + } + + public Repasse SelectedRepasse + { + get + { + return this._selectedRepasse; + } + set + { + this._selectedRepasse = value; + base.OnPropertyChanged("SelectedRepasse"); + } + } + + public VendedorTelefone SelectedTelefone + { + get + { + return this._selectedTelefone; + } + set + { + this._selectedTelefone = value; + base.OnPropertyChanged("SelectedTelefone"); + } + } + + public Vendedor SelectedVendedor + { + get + { + return this._selectedVendedor; + } + set + { + long? nullable; + this._selectedVendedor = value; + this.WorkOnSelectedVendedor(value, true); + if (value != null) + { + nullable = new long?(value.get_Id()); + } + else + { + nullable = null; + } + base.VerificarEnables(nullable); + base.OnPropertyChanged("SelectedVendedor"); + } + } + + public ObservableCollection Telefones + { + get + { + return this._telefones; + } + set + { + this._telefones = value; + base.OnPropertyChanged("Telefones"); + } + } + + public List TiposRepasseFiltrados + { + get + { + return Enum.GetValues(typeof(TipoRepasse)).Cast().Where((TipoRepasse tipo) => { + TipoAttribute tipoAttribute = (TipoAttribute)typeof(TipoRepasse).GetField(tipo.ToString()).GetCustomAttributes(typeof(TipoAttribute), false).FirstOrDefault(); + if (tipoAttribute == null || tipoAttribute.get_Tipo() == "0" || this.CoCorretagemAtiva) + { + return true; + } + TipoRepasse? nullable = this.SelectedRepasse.get_Tipo(); + return tipo == nullable.GetValueOrDefault() & nullable.HasValue; + }).ToList(); + } + } + + public List Vendedores + { + get; + set; + } + + public ObservableCollection VendedoresFiltrados + { + get + { + return this._vendedoresFiltrados; + } + set + { + this._vendedoresFiltrados = value; + this.IsExpanded = (value != null ? value.Count > 0 : false); + base.OnPropertyChanged("VendedoresFiltrados"); + } + } + + public Visibility VisualizacaoPropriaCorretora + { + get + { + return this._visualizacaoPropriaCorretora; + } + set + { + this._visualizacaoPropriaCorretora = value; + base.OnPropertyChanged("VisualizacaoPropriaCorretora"); + } + } + + public VendedorViewModel() + { + this._servico = new VendedorServico(); + base.EnableMenu = true; + this.Seleciona(); + } + + public async Task AtivarInativarRepasse(Repasse repasse) + { + bool id; + Ramo ramo; + object obj; + string str; + if (repasse != null && repasse.get_Id() != 0) + { + str = (repasse.get_Ativo() ? "INATIVOU REPASSE" : "ATIVOU REPASSE"); + repasse.set_Ativo(!repasse.get_Ativo()); + Repasse repasse1 = repasse; + Ramo ramo1 = repasse.get_Ramo(); + if (ramo1 != null) + { + id = ramo1.get_Id() == (long)0; + } + else + { + id = false; + } + if (id) + { + ramo = null; + } + else + { + ramo = repasse.get_Ramo(); + } + repasse1.set_Ramo(ramo); + repasse = await this._servico.Save(repasse); + long num = this.SelectedVendedor.get_Id(); + VendedorViewModel vendedorViewModel = this; + string str1 = string.Concat(str, " \"", this.SelectedVendedor.get_Nome(), "\""); + long id1 = this.SelectedVendedor.get_Id(); + TipoTela? nullable = new TipoTela?(15); + object[] objArray = new object[] { repasse.get_Id(), repasse.get_ValorNovo(), repasse.get_ValorRenovacao(), null }; + obj = (repasse.get_Ativo() ? "SIM" : "NÃO"); + objArray[3] = obj; + vendedorViewModel.RegistrarAcao(str1, id1, nullable, string.Format("ID: {0}\nVALOR NOVO: {1:N2}\nVALOR RENOVAÇÃO: {2:N2}\nATIVO: {3}", objArray)); + this.Pesquisa = string.Empty; + this.SelectedVendedor = null; + await this.SelecionaVendedores(false); + this.SelectedVendedor = this.VendedoresFiltrados.FirstOrDefault((Vendedor x) => x.get_Id() == num); + Recursos.Vendedores = this.Vendedores; + base.Alterar(false); + base.ToggleSnackBar("REPASSE SALVO COM SUCESSO", true); + } + str = null; + } + + public async Task AtivarInativarVendedor(Vendedor vendedor) + { + object nome; + object obj; + string str; + Vendedor vendedor1 = vendedor; + if (vendedor1 != null && vendedor1.get_Id() != 0) + { + str = (vendedor1.get_Ativo() ? "INATIVOU VENDEDOR" : "ATIVOU VENDEDOR"); + vendedor1.set_Ativo(!vendedor1.get_Ativo()); + Vendedor vendedor2 = await this._servico.Save(vendedor1, this.Repasses.ToList()); + vendedor1 = vendedor2; + VendedorViewModel vendedorViewModel = this; + string str1 = string.Concat(str, " \"", vendedor1.get_Nome(), "\""); + long id = vendedor1.get_Id(); + TipoTela? nullable = new TipoTela?(15); + object[] agencia = new object[] { vendedor1.get_Id(), Recursos.Empresas.First((Empresa x) => x.get_Id() == (vendedor1.get_IdEmpresa() == 0 ? (long)1 : vendedor1.get_IdEmpresa())).get_Nome(), vendedor1.get_Documento(), null, null, null, null, null }; + Banco banco = vendedor1.get_Banco(); + if (banco != null) + { + nome = banco.get_Nome(); + } + else + { + nome = null; + } + agencia[3] = nome; + agencia[4] = vendedor1.get_Agencia(); + agencia[5] = vendedor1.get_Conta(); + agencia[6] = vendedor1.get_Desconto(); + obj = (vendedor1.get_Ativo() ? "SIM" : "NÃO"); + agencia[7] = obj; + vendedorViewModel.RegistrarAcao(str1, id, nullable, string.Format("ID: {0}\nFILIAL DO VENDEDOR: {1}\nDOCUMENTO: {2}\nBANCO: {3}\nAGÊNCIA: {4}\nCONTA: {5}\nDESCONTO: {6:N2}\nATIVO: {7}", agencia)); + this.Pesquisa = string.Empty; + this.SelectedVendedor = null; + await this.SelecionaVendedores(false); + this.SelectedVendedor = this.VendedoresFiltrados.FirstOrDefault((Vendedor x) => x.get_Id() == vendedor1.get_Id()); + Recursos.Vendedores = this.Vendedores; + base.Alterar(false); + base.ToggleSnackBar("VENDEDOR SALVO COM SUCESSO", true); + } + str = null; + } + + public void CancelarAlteracao() + { + if (this.CancelVendedor == null || !this.Vendedores.Any((Vendedor x) => x.get_Id() == this.CancelVendedor.get_Id())) + { + this.Incluir(); + } + else + { + DomainBase.Copy(this.Vendedores.First((Vendedor x) => x.get_Id() == this.CancelVendedor.get_Id()), this.CancelVendedor); + if (this.VendedoresFiltrados.Count <= 0 || !this.VendedoresFiltrados.Any((Vendedor x) => x.get_Id() == this.CancelVendedor.get_Id())) + { + this.VendedoresFiltrados.Add(this.CancelVendedor); + } + else + { + DomainBase.Copy(this.VendedoresFiltrados.First((Vendedor x) => x.get_Id() == this.CancelVendedor.get_Id()), this.CancelVendedor); + } + this.VendedoresFiltrados = new ObservableCollection(this.VendedoresFiltrados); + this.SelectedVendedor = this.VendedoresFiltrados.First((Vendedor x) => x.get_Id() == this.CancelVendedor.get_Id()); + } + base.Alterar(false); + } + + public void ExcluirTelefone(VendedorTelefone telefone) + { + this.Telefones.Remove(telefone); + } + + public async Task ExcluirVinculo(VinculoRepasse vinculo) + { + if (await base.ShowMessage("DESEJA REALMENTE EXCLUIR O VÍNCULO DO REPASSE SELECIONADO?", "SIM", "NÃO", false)) + { + await this._servico.Delete(vinculo); + this.Repasses = new ObservableCollection((IEnumerable)await this._servico.BuscaRepassesPorIdVendedor(this.SelectedVendedor.get_Id())); + base.ToggleSnackBar("VINCULO EXCLUÍDO COM SUCESSO", true); + } + } + + internal async Task> Filtrar(string value) + { + List vendedors = await Task.Run>(() => this.FiltrarVendedor(value)); + return vendedors; + } + + public List FiltrarVendedor(string filter) + { + this.VendedoresFiltrados = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection(this.Vendedores) : new ObservableCollection( + from x in this.Vendedores + where ValidationHelper.RemoveDiacritics(x.get_Nome().Trim()).ToUpper().Contains(ValidationHelper.RemoveDiacritics(filter)) + orderby x.get_Ativo() descending, x.get_Nome() + select x)); + this.SelectedVendedor = this.VendedoresFiltrados.FirstOrDefault(); + return this.VendedoresFiltrados.ToList(); + } + + public void Incluir() + { + Vendedor vendedor = new Vendedor(); + vendedor.set_Ativo(true); + vendedor.set_Desconto(new decimal?(new decimal())); + this.SelectedVendedor = vendedor; + this.Telefones = new ObservableCollection(); + this.Repasses = new ObservableCollection(); + base.Alterar(true); + } + + public void IncluirRepasse() + { + if (this.SelectedVendedor == null) + { + return; + } + if (this.Repasses == null) + { + this.Repasses = new ObservableCollection(); + } + Repasse repasse = new Repasse(); + repasse.set_Vendedor(this.SelectedVendedor); + repasse.set_Forma(new FormaRepasse?(1)); + repasse.set_Incidencia(new TipoIncidencia?(1)); + repasse.set_Tipo(new TipoRepasse?(2)); + repasse.set_Ativo(true); + repasse.set_Ramo(this.Ramos.First()); + Repasse repasse1 = repasse; + this.Repasses.Insert(0, repasse1); + this.SelectedRepasse = repasse1; + } + + public void IncluirTelefone() + { + if (this.SelectedVendedor == null) + { + return; + } + if (this.Telefones == null) + { + this.Telefones = new ObservableCollection(); + } + VendedorTelefone vendedorTelefone = new VendedorTelefone(); + vendedorTelefone.set_Vendedor(this.SelectedVendedor); + vendedorTelefone.set_Tipo(new TipoTelefone?(1)); + VendedorTelefone vendedorTelefone1 = vendedorTelefone; + this.Telefones.Add(vendedorTelefone1); + this.SelectedTelefone = vendedorTelefone1; + } + + public async Task>> Salvar() + { + List> keyValuePairs1; + string str; + object nome; + object obj; + VendedorViewModel.u003cu003ec__DisplayClass55_0 variable; + List list; + string str1; + this.SelectedVendedor.set_Telefones(this.Telefones.ToList()); + List> keyValuePairs2 = this.SelectedVendedor.Validate(); + List> keyValuePairs3 = keyValuePairs2; + keyValuePairs3.AddRange(await this.Validate()); + keyValuePairs3 = null; + if (keyValuePairs2.Count <= 0) + { + Vendedor selectedVendedor = this.SelectedVendedor; + ObservableCollection telefones = this.Telefones; + selectedVendedor.set_Telefones(( + from x in telefones + where !string.IsNullOrEmpty(x.get_Nome()) + select x).ToList()); + List repasses = this.Repasses.ToList(); + list = repasses.Where((Repasse x) => { + List> keyValuePairs = x.Validate(); + if (keyValuePairs == null) + { + return false; + } + return keyValuePairs.Count == 0; + }).ToList(); + if (list.Count < this.Repasses.Count) + { + if (!await base.ShowMessage(string.Concat("HÁ REPASSES INVÁLIDOS, DESEJA PROSSEGUIR?", Environment.NewLine, "CASO PROSSIGA OS REPASSES INVÁLIDOS NÃO SERÃO SALVOS."), "SIM", "NÃO", false)) + { + this.Repasses.ToList().ForEach((Repasse x) => keyValuePairs2.AddRange(x.Validate())); + keyValuePairs1 = keyValuePairs2; + variable = null; + list = null; + str1 = null; + return keyValuePairs1; + } + } + this.Repasses = new ObservableCollection(list); + str = (this.SelectedVendedor.get_Id() == 0 ? "INCLUIU" : "ALTEROU"); + str1 = str; + Vendedor vendedor = await this._servico.Save(this.SelectedVendedor, this.Repasses.ToList()); + Vendedor vendedor1 = vendedor; + if (this._servico.Sucesso) + { + VendedorViewModel vendedorViewModel = this; + string str2 = string.Concat(str1, " VENDEDOR \"", vendedor1.get_Nome(), "\""); + long id = vendedor1.get_Id(); + TipoTela? nullable = new TipoTela?(15); + object[] agencia = new object[] { vendedor1.get_Id(), Recursos.Empresas.First((Empresa x) => x.get_Id() == (vendedor1.get_IdEmpresa() == 0 ? (long)1 : vendedor1.get_IdEmpresa())).get_Nome(), vendedor1.get_Documento(), null, null, null, null, null }; + Banco banco = vendedor1.get_Banco(); + if (banco != null) + { + nome = banco.get_Nome(); + } + else + { + nome = null; + } + agencia[3] = nome; + agencia[4] = vendedor1.get_Agencia(); + agencia[5] = vendedor1.get_Conta(); + agencia[6] = vendedor1.get_Desconto(); + obj = (vendedor1.get_Ativo() ? "SIM" : "NÃO"); + agencia[7] = obj; + vendedorViewModel.RegistrarAcao(str2, id, nullable, string.Format("ID: {0}\nFILIAL DO VENDEDOR: {1}\nDOCUMENTO: {2}\nBANCO: {3}\nAGÊNCIA: {4}\nCONTA: {5}\nDESCONTO: {6:N2}\nATIVO: {7}", agencia)); + this.Pesquisa = string.Empty; + this.SelectedVendedor = null; + await this.SelecionaVendedores(false); + this.SelectedVendedor = this.VendedoresFiltrados.FirstOrDefault((Vendedor x) => x.get_Id() == vendedor1.get_Id()); + Recursos.Vendedores = this.Vendedores; + base.Alterar(false); + base.ToggleSnackBar("VENDEDOR SALVO COM SUCESSO", true); + keyValuePairs1 = null; + } + else + { + keyValuePairs1 = null; + } + } + else + { + keyValuePairs1 = keyValuePairs2; + } + variable = null; + list = null; + str1 = null; + return keyValuePairs1; + } + + public async Task SalvarVinculo(VinculoRepasse vinculo) + { + await this._servico.Save(vinculo); + this.Repasses = new ObservableCollection((IEnumerable)await this._servico.BuscaRepassesPorIdVendedor(this.SelectedVendedor.get_Id())); + base.ToggleSnackBar("VINCULO SALVO COM SUCESSO", true); + } + + private async void Seleciona() + { + base.Loading(true); + await base.PermissaoTela(15); + await this.SelecionaVendedores(true); + await this.SelecionaRamos(); + base.Loading(false); + } + + private async Task SelecionaRamos() + { + Visibility visibility; + VendedorViewModel vendedorViewModel = this; + List configuracoes = Recursos.Configuracoes; + visibility = (configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 20) ? Visibility.Collapsed : Visibility.Visible); + vendedorViewModel.MostrarRamo = visibility; + ObservableCollection ramos = this.Ramos; + Ramo ramo = new Ramo(); + ramo.set_Nome("TODOS OS RAMOS"); + ramos.Add(ramo); + List ramos1 = await (new BaseServico()).BuscarRamosAsync(); + ObservableCollection observableCollection = this.Ramos; + List ramos2 = ramos1; + IEnumerable ativo = + from x in ramos2 + where x.get_Ativo() + select x; + ExtensionMethods.AddRange(observableCollection, + from x in ativo + orderby x.get_Nome() + select x); + } + + private async Task SelecionaVendedores(bool selecionar = true) + { + List vendedors = await (new BaseServico()).BuscarVendedoresAsync(); + VendedorViewModel list = this; + List vendedors1 = vendedors; + IEnumerable vendedors2 = vendedors1.Where((Vendedor x) => { + if (Recursos.Usuario.get_IdEmpresa() == (long)1) + { + return true; + } + return x.get_IdEmpresa() == Recursos.Usuario.get_IdEmpresa(); + }); + IOrderedEnumerable ativo = + from x in vendedors2 + orderby x.get_Ativo() descending + select x; + list.Vendedores = ativo.ThenBy((Vendedor x) => x.get_Nome()).ToList(); + this.VendedoresFiltrados = new ObservableCollection(this.Vendedores); + if (selecionar) + { + this.SelectedVendedor = this.VendedoresFiltrados.FirstOrDefault(); + } + Recursos.Vendedores = vendedors; + } + + private async Task>> Validate() + { + List vendedors; + IEnumerable repasses; + List> keyValuePairs = new List>(); + if (!ValidationHelper.ValidateDocument(this.SelectedVendedor.get_Documento())) + { + vendedors = new List(); + } + else + { + vendedors = await (new BaseServico()).BuscarVendedor(this.SelectedVendedor.get_Documento()); + } + Vendedor vendedor = vendedors.FirstOrDefault((Vendedor x) => { + if (x.get_Id() == this.SelectedVendedor.get_Id() || !(x.get_Documento() == this.SelectedVendedor.get_Documento())) + { + return false; + } + return x.get_Ativo(); + }); + if (vendedor != null) + { + List configuracoes = Recursos.Configuracoes; + if (configuracoes.All((ConfiguracaoSistema x) => x.get_Configuracao() != 7)) + { + keyValuePairs.Add(new KeyValuePair("Documento", string.Concat("O DOCUMENTO JÁ ESTÁ CADASTRADO PARA O VENDEDOR ", vendedor.get_Nome(), "."))); + } + } + List configuracaoSistemas = Recursos.Configuracoes; + if (configuracaoSistemas.All((ConfiguracaoSistema x) => x.get_Configuracao() != 15)) + { + ObservableCollection observableCollection = this.Repasses; + if (observableCollection != null) + { + repasses = observableCollection.Where((Repasse x) => { + if (x.get_Tipo().GetValueOrDefault() != 2) + { + return false; + } + if (x.get_ValorNovo() > new decimal(100)) + { + return true; + } + return x.get_ValorRenovacao() > new decimal(100); + }); + } + else + { + repasses = null; + } + IEnumerable repasses1 = repasses; + if (repasses1 != null && repasses1.Any()) + { + keyValuePairs.Add(new KeyValuePair("VALOR REPASSE", "O VALOR DE REPASSE NÃO PODE SER SUPERIOR A 100%")); + } + } + ObservableCollection observableCollection1 = await this._servico.BuscaRepassesPorIdVendedor(this.SelectedVendedor.get_Id()); + if (observableCollection1 != null && observableCollection1.Count > 0) + { + foreach (Repasse repasse1 in observableCollection1) + { + if (!this.Repasses.Any((Repasse repasse) => { + long? nullable; + long? nullable1; + long? nullable2; + bool id; + if (repasse1.get_Id() != repasse.get_Id()) + { + return false; + } + TipoRepasse? tipo = repasse1.get_Tipo(); + TipoRepasse? tipo1 = repasse.get_Tipo(); + if (tipo.GetValueOrDefault() == tipo1.GetValueOrDefault() & tipo.HasValue == tipo1.HasValue && !(repasse1.get_ValorNovo() != repasse.get_ValorNovo()) && !(repasse1.get_ValorRenovacao() != repasse.get_ValorRenovacao())) + { + TipoIncidencia? incidencia = repasse1.get_Incidencia(); + TipoIncidencia? incidencia1 = repasse.get_Incidencia(); + if (incidencia.GetValueOrDefault() == incidencia1.GetValueOrDefault() & incidencia.HasValue == incidencia1.HasValue) + { + FormaRepasse? forma = repasse1.get_Forma(); + FormaRepasse? forma1 = repasse.get_Forma(); + if (forma.GetValueOrDefault() == forma1.GetValueOrDefault() & forma.HasValue == forma1.HasValue) + { + BaseRepasse? @base = repasse1.get_Base(); + BaseRepasse? base1 = repasse.get_Base(); + if (@base.GetValueOrDefault() == base1.GetValueOrDefault() & @base.HasValue == base1.HasValue) + { + long? seguradora = repasse1.get_Seguradora(); + long? seguradora1 = repasse.get_Seguradora(); + if (seguradora.GetValueOrDefault() == seguradora1.GetValueOrDefault() & seguradora.HasValue == seguradora1.HasValue) + { + if (repasse1.get_Ramo() == null) + { + Ramo ramo = repasse.get_Ramo(); + id = (ramo != null ? ramo.get_Id() != (long)0 : true); + if (!id) + { + return false; + } + } + Ramo ramo1 = repasse1.get_Ramo(); + if (ramo1 != null) + { + nullable1 = new long?(ramo1.get_Id()); + } + else + { + nullable = null; + nullable1 = nullable; + } + seguradora1 = nullable1; + Ramo ramo2 = repasse.get_Ramo(); + if (ramo2 != null) + { + nullable2 = new long?(ramo2.get_Id()); + } + else + { + nullable = null; + nullable2 = nullable; + } + seguradora = nullable2; + return !(seguradora1.GetValueOrDefault() == seguradora.GetValueOrDefault() & seguradora1.HasValue == seguradora.HasValue); + } + } + } + } + } + return true; + })) + { + continue; + } + if (await this._servico.BuscarVendedorParcela(repasse1.get_Id()).Count > 1) + { + keyValuePairs.Add(new KeyValuePair("REPASSE", string.Format("O REPASSE, DE ID {0}, NÃO PODE SER ALTERADO POIS JÁ ESTÁ CADASTRADO EM ALGUM DOCUMENTO!", repasse1.get_Id()))); + } + } + } + List> keyValuePairs1 = keyValuePairs; + keyValuePairs = null; + return keyValuePairs1; + } + + private async void WorkOnSelectedVendedor(Vendedor value, bool registrar = true) + { + Vendedor vendedor; + long? nullable; + bool corretora; + bool flag; + object nome; + object obj; + VendedorViewModel vendedorViewModel = this; + vendedor = (value == null || value.get_Id() == 0 ? this.CancelVendedor : (Vendedor)value.Clone()); + vendedorViewModel.CancelVendedor = vendedor; + if (value != null && value.get_Id() != 0) + { + base.Loading(true); + this.Repasses = new ObservableCollection((IEnumerable)await this._servico.BuscaRepassesPorIdVendedor(value.get_Id())); + this.Telefones = new ObservableCollection((IEnumerable)await this._servico.BuscarTelefonesAsync(value.get_Id())); + base.Loading(false); + if (this.LastAccessId != value.get_Id() || this.LastAccessTela != 15) + { + if (registrar) + { + VendedorViewModel vendedorViewModel1 = this; + string str = string.Concat("ACESSOU VENDEDOR \"", value.get_Nome(), "\""); + long id = value.get_Id(); + TipoTela? nullable1 = new TipoTela?(15); + object[] agencia = new object[] { value.get_Id(), Recursos.Empresas.First((Empresa x) => x.get_Id() == (value.get_IdEmpresa() == 0 ? (long)1 : value.get_IdEmpresa())).get_Nome(), value.get_Documento(), null, null, null, null, null }; + Banco banco = value.get_Banco(); + if (banco != null) + { + nome = banco.get_Nome(); + } + else + { + nome = null; + } + agencia[3] = nome; + agencia[4] = value.get_Agencia(); + agencia[5] = value.get_Conta(); + agencia[6] = value.get_Desconto(); + obj = (value.get_Ativo() ? "SIM" : "NÃO"); + agencia[7] = obj; + vendedorViewModel1.RegistrarAcao(str, id, nullable1, string.Format("ID: {0}\nFILIAL DO VENDEDOR: {1}\nDOCUMENTO: {2}\nBANCO: {3}\nAGÊNCIA: {4}\nCONTA: {5}\nDESCONTO: {6:N2}\nATIVO: {7}", agencia)); + } + this.LastAccessId = value.get_Id(); + this.LastAccessTela = 15; + Vendedor selectedVendedor = this.SelectedVendedor; + if (selectedVendedor != null) + { + nullable = new long?(selectedVendedor.get_Id()); + } + else + { + nullable = null; + } + long? nullable2 = nullable; + long num = value.get_Id(); + if (nullable2.GetValueOrDefault() != num | !nullable2.HasValue) + { + this.SelectedVendedor = this.VendedoresFiltrados.FirstOrDefault((Vendedor x) => x.get_Id() == value.get_Id()); + } + VendedorViewModel vendedorViewModel2 = this; + Vendedor selectedVendedor1 = this.SelectedVendedor; + if (selectedVendedor1 != null) + { + corretora = selectedVendedor1.get_Corretora(); + } + else + { + corretora = false; + } + vendedorViewModel2.VisualizacaoPropriaCorretora = (corretora ? Visibility.Visible : Visibility.Collapsed); + if (Recursos.Usuario.get_Id() == 0) + { + Vendedor vendedor1 = this.SelectedVendedor; + if (vendedor1 != null) + { + flag = vendedor1.get_Corretora(); + } + else + { + flag = false; + } + if (!flag) + { + this._alterarPermissEnabled = false; + base.EnableAlterar = false; + } + else + { + this._alterarPermissEnabled = true; + base.EnableAlterar = true; + } + } + } + } + } + } +} \ No newline at end of file -- cgit v1.2.3