summaryrefslogtreecommitdiff
path: root/Gestor.Application/ViewModels/BI/ProspeccaoViewModel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Gestor.Application/ViewModels/BI/ProspeccaoViewModel.cs')
-rw-r--r--Gestor.Application/ViewModels/BI/ProspeccaoViewModel.cs553
1 files changed, 0 insertions, 553 deletions
diff --git a/Gestor.Application/ViewModels/BI/ProspeccaoViewModel.cs b/Gestor.Application/ViewModels/BI/ProspeccaoViewModel.cs
deleted file mode 100644
index 4839d95..0000000
--- a/Gestor.Application/ViewModels/BI/ProspeccaoViewModel.cs
+++ /dev/null
@@ -1,553 +0,0 @@
-using ClosedXML.Excel;
-using Gestor.Application.Helpers;
-using Gestor.Application.Servicos;
-using Gestor.Application.ViewModels.Generic;
-using Gestor.Common.Validation;
-using Gestor.Model.Common;
-using Gestor.Model.Domain.Ferramentas;
-using Gestor.Model.Domain.Generic;
-using Gestor.Model.Domain.Relatorios;
-using Gestor.Model.Domain.Seguros;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Diagnostics;
-using System.IO;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-
-namespace Gestor.Application.ViewModels.BI
-{
- public class ProspeccaoViewModel : BaseViewModel
- {
- private readonly ProspeccaoServico _servico;
-
- private PermissaoUsuario SelectedPermissaoUsuario;
-
- private ObservableCollection<Vendedor> _vendedores;
-
- private Vendedor _selectedVendedor = new Vendedor();
-
- private List<string> _searchStatus = new List<string>()
- {
- "TODOS",
- ValidationHelper.GetDescription((StatusProspeccao)1),
- ValidationHelper.GetDescription((StatusProspeccao)5),
- ValidationHelper.GetDescription((StatusProspeccao)2),
- ValidationHelper.GetDescription((StatusProspeccao)4),
- ValidationHelper.GetDescription((StatusProspeccao)3)
- };
-
- private string _selectedStatusSearch = "AGENDANDO";
-
- private StatusProspeccao? _selectedStatus;
-
- private ObservableCollection<StatusDeProspeccao> _statusProspeccaoPersonalizado;
-
- private DateTime _inicio = Funcoes.GetNetworkTime().Date;
-
- private DateTime _fim = Funcoes.GetNetworkTime().Date.AddDays(7);
-
- private ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao> _prospeccoesFiltradas;
-
- private Gestor.Model.Domain.Seguros.Prospeccao _selectedProspeccao;
-
- private ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao> _prospeccao;
-
- private bool _naoHaDados;
-
- public DateTime Fim
- {
- get
- {
- return this._fim;
- }
- set
- {
- this._fim = value;
- base.OnPropertyChanged("Fim");
- }
- }
-
- public DateTime Inicio
- {
- get
- {
- return this._inicio;
- }
- set
- {
- this._inicio = value;
- base.OnPropertyChanged("Inicio");
- }
- }
-
- public bool NaoHaDados
- {
- get
- {
- return this._naoHaDados;
- }
- set
- {
- this._naoHaDados = value;
- base.OnPropertyChanged("NaoHaDados");
- }
- }
-
- public ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao> Prospeccao
- {
- get
- {
- return this._prospeccao;
- }
- set
- {
- this._prospeccao = value;
- this.NaoHaDados = (value == null ? true : value.Count == 0);
- base.OnPropertyChanged("Prospeccao");
- }
- }
-
- public AutoCompleteFilterPredicate<object> ProspeccaoItemFilter
- {
- get
- {
- AutoCompleteFilterPredicate<object> u003cu003e9_530 = ProspeccaoViewModel.u003cu003ec.u003cu003e9__53_0;
- if (u003cu003e9_530 == null)
- {
- u003cu003e9_530 = new AutoCompleteFilterPredicate<object>(ProspeccaoViewModel.u003cu003ec.u003cu003e9, (string searchText, object obj) => {
- if (((Gestor.Model.Domain.Seguros.Prospeccao)obj).get_Nome().ToUpper().Contains(searchText.ToUpper()) || ((Gestor.Model.Domain.Seguros.Prospeccao)obj).get_Documento().ToString().ToUpper().Contains(searchText.ToUpper()) || ((Gestor.Model.Domain.Seguros.Prospeccao)obj).get_Telefone1().ToString().ToUpper().Contains(searchText.ToUpper()) || ((Gestor.Model.Domain.Seguros.Prospeccao)obj).get_Telefone2().ToString().ToUpper().Contains(searchText.ToUpper()) || ((Gestor.Model.Domain.Seguros.Prospeccao)obj).get_Email().ToString().ToUpper().Contains(searchText.ToUpper()))
- {
- return true;
- }
- return ((Gestor.Model.Domain.Seguros.Prospeccao)obj).get_VigenciaFinal().ToString().ToUpper().Contains(searchText.ToUpper());
- });
- ProspeccaoViewModel.u003cu003ec.u003cu003e9__53_0 = u003cu003e9_530;
- }
- return u003cu003e9_530;
- }
- }
-
- public List<Gestor.Model.Domain.Seguros.Prospeccao> Prospeccoes
- {
- get;
- set;
- }
-
- public ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao> ProspeccoesFiltradas
- {
- get
- {
- return this._prospeccoesFiltradas;
- }
- set
- {
- this._prospeccoesFiltradas = value;
- base.OnPropertyChanged("ProspeccoesFiltradas");
- }
- }
-
- public List<string> SearchStatus
- {
- get
- {
- return this._searchStatus;
- }
- set
- {
- this._searchStatus = value;
- this.SelectedStatusSearch = value[1];
- base.OnPropertyChanged("SearchStatus");
- }
- }
-
- public Gestor.Model.Domain.Seguros.Prospeccao SelectedProspeccao
- {
- get
- {
- return this._selectedProspeccao;
- }
- set
- {
- this._selectedProspeccao = value;
- base.OnPropertyChanged("SelectedProspeccao");
- }
- }
-
- public StatusProspeccao? SelectedStatus
- {
- get
- {
- return this._selectedStatus;
- }
- set
- {
- this._selectedStatus = value;
- base.OnPropertyChanged("SelectedStatus");
- }
- }
-
- public string SelectedStatusSearch
- {
- get
- {
- return this._selectedStatusSearch;
- }
- set
- {
- this._selectedStatusSearch = value;
- if (value == "AGENDADO")
- {
- this.SelectedStatus = new StatusProspeccao?(1);
- }
- else if (value == "GANHO")
- {
- this.SelectedStatus = new StatusProspeccao?(2);
- }
- else if (value == "PERDIDO")
- {
- this.SelectedStatus = new StatusProspeccao?(3);
- }
- else if (value == "NÃO TRABALHADO")
- {
- this.SelectedStatus = new StatusProspeccao?(4);
- }
- else if (value == "EM ANDAMENTO")
- {
- this.SelectedStatus = new StatusProspeccao?(5);
- }
- else
- {
- this.SelectedStatus = null;
- }
- base.OnPropertyChanged("SelectedStatusSearch");
- }
- }
-
- public Vendedor SelectedVendedor
- {
- get
- {
- return this._selectedVendedor;
- }
- set
- {
- this._selectedVendedor = value;
- base.OnPropertyChanged("SelectedVendedor");
- }
- }
-
- public ObservableCollection<StatusDeProspeccao> StatusProspeccaoPersonalizado
- {
- get
- {
- return this._statusProspeccaoPersonalizado;
- }
- set
- {
- this._statusProspeccaoPersonalizado = value;
- base.OnPropertyChanged("StatusProspeccaoPersonalizado");
- }
- }
-
- public ObservableCollection<Vendedor> Vendedores
- {
- get
- {
- return this._vendedores;
- }
- set
- {
- this._vendedores = value;
- base.OnPropertyChanged("Vendedores");
- }
- }
-
- public ProspeccaoViewModel()
- {
- this._servico = new ProspeccaoServico();
- this.StatusProspeccaoPersonalizado = new ObservableCollection<StatusDeProspeccao>((
- from x in Recursos.StatusProspeccao
- where x.get_Ativo()
- select x).ToList<StatusDeProspeccao>());
- this.CarregaVendedores();
- this.SelectedStatusSearch = this.SearchStatus[1];
- this.CarregaProspeccoes();
- }
-
- public async Task<bool> BuscaPermissao(string Tipo)
- {
- bool flag;
- ProspeccaoViewModel prospeccaoViewModel = this;
- if (Recursos.Usuario.get_Administrador())
- {
- flag = true;
- }
- else if (Tipo == "Alterar" && prospeccaoViewModel.SelectedPermissaoUsuario != null && !prospeccaoViewModel.SelectedPermissaoUsuario.get_Alterar())
- {
- flag = false;
- }
- else if (!(Tipo == "Excluir") || prospeccaoViewModel.SelectedPermissaoUsuario == null || prospeccaoViewModel.SelectedPermissaoUsuario.get_Excluir())
- {
- flag = (!(Tipo == "Incluir") || prospeccaoViewModel.SelectedPermissaoUsuario == null || prospeccaoViewModel.SelectedPermissaoUsuario.get_Incluir() ? true : false);
- }
- else
- {
- flag = false;
- }
- return flag;
- }
-
- public async Task CarregaProspeccao()
- {
- ProspeccaoViewModel observableCollection = this;
- if (observableCollection.ProspeccoesFiltradas != null)
- {
- observableCollection.ProspeccoesFiltradas = new ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao>(observableCollection.ProspeccoesFiltradas.ToList<Gestor.Model.Domain.Seguros.Prospeccao>());
- }
- }
-
- public async void CarregaProspeccoes()
- {
- await this.CarregarProspeccoes();
- }
-
- public async Task CarregarPermissao()
- {
- this.SelectedPermissaoUsuario = await this.ServicoPermissUsuario.VerificarPermissao(Recursos.Usuario, 60);
- }
-
- public async Task CarregarProspeccoes()
- {
- if (this.Inicio <= this.Fim)
- {
- base.Loading(true);
- base.IsVisible = Visibility.Collapsed;
- this.Prospeccoes = await this._servico.BuscarProspeccoes(this.SelectedVendedor.get_Id(), this.Inicio, this.Fim, this.SelectedStatus);
- ProspeccaoViewModel observableCollection = this;
- List<Gestor.Model.Domain.Seguros.Prospeccao> prospeccoes = this.Prospeccoes;
- observableCollection.ProspeccoesFiltradas = new ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao>(
- from x in prospeccoes
- orderby x.get_VigenciaFinal()
- select x);
- this.SelectedProspeccao = this.ProspeccoesFiltradas.FirstOrDefault<Gestor.Model.Domain.Seguros.Prospeccao>();
- base.IsVisible = Visibility.Visible;
- base.Loading(false);
- }
- }
-
- public async Task CarregarVendedores()
- {
- List<VendedorUsuario> vendedorUsuarios = await (new VendedorUsuarioServico()).FindByVinculo(Recursos.Usuario);
- List<long> list = (
- from x in vendedorUsuarios
- select x.get_Vendedor().get_Id()).ToList<long>();
- List<Vendedor> vendedors = new List<Vendedor>();
- if (list.Count <= 0 || Recursos.Usuario.get_Administrador())
- {
- Vendedor vendedor = new Vendedor();
- vendedor.set_Id((long)0);
- vendedor.set_Nome("TODOS OS VENDEDORES");
- vendedors.Add(vendedor);
- List<Vendedor> vendedors1 = vendedors;
- List<Vendedor> vendedores = Recursos.Vendedores;
- IEnumerable<Vendedor> vendedors2 = vendedores.Where<Vendedor>((Vendedor x) => {
- if (Recursos.Usuario.get_IdEmpresa() != (long)1 && x.get_IdEmpresa() != Recursos.Usuario.get_IdEmpresa())
- {
- return false;
- }
- return x.get_Ativo();
- });
- vendedors1.AddRange((
- from x in vendedors2
- orderby x.get_Nome()
- select x).ToList<Vendedor>());
- }
- else
- {
- List<Vendedor> vendedors3 = vendedors;
- IEnumerable<Vendedor> vendedors4 = Recursos.Vendedores.Where<Vendedor>((Vendedor x) => {
- if (Recursos.Usuario.get_IdEmpresa() != (long)1 && x.get_IdEmpresa() != Recursos.Usuario.get_IdEmpresa() || !x.get_Ativo())
- {
- return false;
- }
- return list.Contains(x.get_Id());
- });
- vendedors3.AddRange((
- from x in vendedors4
- orderby x.get_Nome()
- select x).ToList<Vendedor>());
- }
- this.Vendedores = new ObservableCollection<Vendedor>(vendedors);
- this.SelectedVendedor = this.Vendedores.FirstOrDefault<Vendedor>();
- }
-
- public async void CarregaVendedores()
- {
- await this.CarregarVendedores();
- }
-
- public async void Excluir(Gestor.Model.Domain.Seguros.Prospeccao prospeccao)
- {
- if (await this.BuscaPermissao("Excluir"))
- {
- if (prospeccao != null)
- {
- bool tarefa = prospeccao.get_Tarefa() == null;
- if (tarefa)
- {
- tarefa = !await base.ShowMessage("DESEJA EXCLUIR ESSA PROSPECÇÃO?", "SIM", "NÃO", false);
- }
- bool flag = tarefa;
- if (!flag)
- {
- bool tarefa1 = prospeccao.get_Tarefa() != null;
- if (tarefa1)
- {
- tarefa1 = !await base.ShowMessage(string.Concat("HÁ UMA TAREFA ANEXADA A ESSA PROSPECÇÃO. ESSE PROCEDIMENTO IRÁ EXCLUIR A TAREFA ANEXADA.", Environment.NewLine, "DESEJA REALMENTE PROSSEGUIR?"), "SIM", "NÃO", false);
- }
- flag = tarefa1;
- }
- if (!flag)
- {
- if (await this._servico.Delete(prospeccao))
- {
- base.RegistrarAcao(string.Format("EXCLUIU PROSPECÇÃO DO ID: {0}", prospeccao.get_Id()), prospeccao.get_Id(), new TipoTela?(33), string.Format("CLIENTE \"{0}\", ID: {1}", prospeccao.get_Nome(), prospeccao.get_Id()));
- await this.CarregarProspeccoes();
- base.ToggleSnackBar("PROSPECÇÃO EXCLUÍDA COM SUCESSO", true);
- }
- }
- }
- }
- }
-
- public List<Gestor.Model.Domain.Seguros.Prospeccao> Filtrar(string filter)
- {
- if (this.Prospeccoes == null)
- {
- return null;
- }
- this.ProspeccoesFiltradas = (string.IsNullOrWhiteSpace(filter) ? new ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao>(this.Prospeccoes) : new ObservableCollection<Gestor.Model.Domain.Seguros.Prospeccao>(this.Prospeccoes.Where<Gestor.Model.Domain.Seguros.Prospeccao>((Gestor.Model.Domain.Seguros.Prospeccao x) => {
- if (ValidationHelper.RemoveDiacritics(ValidationHelper.RemoveDiacritics(x.get_Nome()).ToUpper().Trim()).Contains(filter) || x.get_Documento() != null && ValidationHelper.RemoveDiacritics(x.get_Documento().Trim()).Contains(filter) || x.get_Telefone1() != null && ValidationHelper.RemoveDiacritics(x.get_Telefone1().Trim()).Contains(filter) || x.get_Telefone2() != null && ValidationHelper.RemoveDiacritics(x.get_Telefone2().Trim()).Contains(filter) || x.get_Email() != null && ValidationHelper.RemoveDiacritics(x.get_Email().Trim()).Contains(filter))
- {
- return true;
- }
- if (!x.get_VigenciaFinal().HasValue)
- {
- return false;
- }
- return ValidationHelper.RemoveDiacritics(x.get_VigenciaFinal().ToString().Trim()).Contains(filter);
- }).OrderBy<Gestor.Model.Domain.Seguros.Prospeccao, DateTime?>((Gestor.Model.Domain.Seguros.Prospeccao x) => x.get_VigenciaFinal())));
- return this.ProspeccoesFiltradas.ToList<Gestor.Model.Domain.Seguros.Prospeccao>();
- }
-
- internal async Task<List<Gestor.Model.Domain.Seguros.Prospeccao>> FiltrarProspecao(string value)
- {
- List<Gestor.Model.Domain.Seguros.Prospeccao> prospeccaos = await Task.Run<List<Gestor.Model.Domain.Seguros.Prospeccao>>(() => this.Filtrar(value));
- return prospeccaos;
- }
-
- public async Task GerarExcel()
- {
- string str;
- if (this.ProspeccoesFiltradas != null)
- {
- List<ProspeccaoToPrint> prospeccaoToPrints = new List<ProspeccaoToPrint>();
- this.ProspeccoesFiltradas.AsEnumerable<Gestor.Model.Domain.Seguros.Prospeccao>().ToList<Gestor.Model.Domain.Seguros.Prospeccao>().ForEach((Gestor.Model.Domain.Seguros.Prospeccao x) => {
- ProspeccaoToPrint prospeccaoToPrint = new ProspeccaoToPrint();
- prospeccaoToPrint.set_Nome(x.get_Nome());
- prospeccaoToPrint.set_Documento(x.get_Documento() ?? "");
- prospeccaoToPrint.set_Nascimento(x.get_Nascimento());
- prospeccaoToPrint.set_Prefixo1(x.get_Prefixo1() ?? "");
- prospeccaoToPrint.set_Telefone1(x.get_Telefone1() ?? "");
- prospeccaoToPrint.set_Email(x.get_Email() ?? "");
- prospeccaoToPrint.set_VigenciaFinal(x.get_VigenciaFinal());
- prospeccaoToPrint.set_Item(x.get_Item() ?? "");
- prospeccaoToPrint.set_Status(x.get_Status());
- prospeccaoToPrint.set_StatusPersonalizadotoPrint((x.get_StatusPersonalizado() == null ? "" : x.get_StatusPersonalizado().get_Nome()));
- prospeccaoToPrint.set_Tipo(x.get_Tipo() ?? "");
- object nome = x.get_Vendedor().get_Nome();
- if (nome == null)
- {
- nome = null;
- }
- prospeccaoToPrint.set_Vendedor((string)nome);
- prospeccaoToPrint.set_Valor(x.get_Valor());
- prospeccaoToPrints.Add(prospeccaoToPrint);
- });
- string tempPath = "";
- str = "";
- tempPath = Path.GetTempPath();
- str = string.Format("{0}{1}.xlsx", tempPath, Guid.NewGuid());
- string str1 = "PROSPECÇÃO";
- await Funcoes.GerarXls<ProspeccaoToPrint>(new XLWorkbook(), str1, prospeccaoToPrints, new List<string>()).SaveAs(str);
- Process.Start(str);
- }
- else
- {
- base.ShowMessage("NÃO HÁ DADOS PARA A IMPRESSÃO EM EXCEL", "OK", "", false);
- }
- str = null;
- }
-
- public async Task Print()
- {
- if (this.ProspeccoesFiltradas != null)
- {
- List<ProspeccaoToPrint> prospeccaoToPrints = new List<ProspeccaoToPrint>();
- this.ProspeccoesFiltradas.AsEnumerable<Gestor.Model.Domain.Seguros.Prospeccao>().ToList<Gestor.Model.Domain.Seguros.Prospeccao>().ForEach((Gestor.Model.Domain.Seguros.Prospeccao x) => {
- ProspeccaoToPrint prospeccaoToPrint = new ProspeccaoToPrint();
- prospeccaoToPrint.set_Nome(x.get_Nome());
- prospeccaoToPrint.set_Documento(x.get_Documento() ?? "");
- prospeccaoToPrint.set_Nascimento(x.get_Nascimento());
- prospeccaoToPrint.set_Prefixo1(x.get_Prefixo1() ?? "");
- prospeccaoToPrint.set_Telefone1(x.get_Telefone1() ?? "");
- prospeccaoToPrint.set_Email(x.get_Email() ?? "");
- prospeccaoToPrint.set_VigenciaFinal(x.get_VigenciaFinal());
- prospeccaoToPrint.set_Item(x.get_Item() ?? "");
- prospeccaoToPrint.set_Status(x.get_Status());
- prospeccaoToPrint.set_StatusPersonalizadotoPrint((x.get_StatusPersonalizado() == null ? "" : x.get_StatusPersonalizado().get_Nome()));
- prospeccaoToPrint.set_Tipo(x.get_Tipo() ?? "");
- object nome = x.get_Vendedor().get_Nome();
- if (nome == null)
- {
- nome = null;
- }
- prospeccaoToPrint.set_Vendedor((string)nome);
- prospeccaoToPrint.set_Valor(x.get_Valor());
- prospeccaoToPrints.Add(prospeccaoToPrint);
- });
- List<ProspeccaoToPrint> prospeccaoToPrints1 = prospeccaoToPrints;
- prospeccaoToPrints = (
- from x in prospeccaoToPrints1
- orderby x.get_Vendedor()
- select x).ToList<ProspeccaoToPrint>();
- string str = await Funcoes.GenerateTable<ProspeccaoToPrint>(prospeccaoToPrints.ToList<ProspeccaoToPrint>(), new List<string>(), false, false, "", null);
- if (!string.IsNullOrEmpty(str))
- {
- TipoRelatorio tipoRelatorio = new TipoRelatorio();
- tipoRelatorio.set_Inicio(this.Inicio);
- tipoRelatorio.set_Fim(this.Fim);
- tipoRelatorio.set_Nome(string.Concat("PROSPECÇÕES - ", this.SelectedVendedor.get_Nome()));
- str = Funcoes.ExportarHtml(tipoRelatorio, str, "60", "landscaoe", false, "");
- string tempPath = Path.GetTempPath();
- string str1 = string.Format("{0}PROSPECÇÃO_{1:ddMMyyyyhhmmss}.html", tempPath, Funcoes.GetNetworkTime());
- StreamWriter streamWriter = new StreamWriter(str1, true, Encoding.UTF8);
- streamWriter.Write(str);
- streamWriter.Close();
- Process.Start(str1);
- }
- }
- }
-
- public async Task<List<KeyValuePair<string, string>>> Salvar(Gestor.Model.Domain.Seguros.Prospeccao prospecao)
- {
- return await base.SalvarProspeccao(prospecao);
- }
- }
-} \ No newline at end of file