diff options
| author | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 15:29:41 +0000 |
|---|---|---|
| committer | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 15:29:41 +0000 |
| commit | 225aa1499e37faf9d38257caabbadc68d78b427e (patch) | |
| tree | 102bb7a40c58595348ae9d3c7076201759fe0720 /Decompiler/Gestor.Application.ViewModels/AnaliticoViewModel.cs | |
| parent | 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff) | |
| download | gestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip | |
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.ViewModels/AnaliticoViewModel.cs')
| -rw-r--r-- | Decompiler/Gestor.Application.ViewModels/AnaliticoViewModel.cs | 172 |
1 files changed, 172 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.ViewModels/AnaliticoViewModel.cs b/Decompiler/Gestor.Application.ViewModels/AnaliticoViewModel.cs new file mode 100644 index 0000000..da3773b --- /dev/null +++ b/Decompiler/Gestor.Application.ViewModels/AnaliticoViewModel.cs @@ -0,0 +1,172 @@ +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Controls; +using System.Windows.Data; +using Gestor.Application.Helpers; +using Gestor.Application.Servicos; +using Gestor.Application.ViewModels.Generic; +using Gestor.Model.Common; +using Gestor.Model.Domain.BI; +using Gestor.Model.Domain.Ferramentas; +using Gestor.Model.Domain.Generic; +using Gestor.Model.Domain.Relatorios; + +namespace Gestor.Application.ViewModels; + +internal class AnaliticoViewModel : BaseSegurosViewModel +{ + private string _head; + + public TipoTela Tela { get; set; } = (TipoTela)1; + + + public string Tipo { get; set; } + + public string Head + { + get + { + return _head; + } + set + { + _head = value; + OnPropertyChanged("Head"); + } + } + + public AnaliticoViewModel(string tipo) + { + //IL_0002: Unknown result type (might be due to invalid IL or missing references) + Tipo = tipo; + string tipo2 = Tipo; + if (!(tipo2 == "PARCELAS")) + { + if (!(tipo2 == "APOLICES")) + { + Tela = (TipoTela)1; + } + else + { + Tela = (TipoTela)2; + } + } + else + { + Tela = (TipoTela)5; + } + } + + public async Task Save(List<Tarefa> tarefas) + { + await new TarefaServico().Salvar(tarefas); + } + + public async Task<Trilha> Salvar(Trilha destino) + { + List<Fase> fases2 = destino.Fases; + TarefaServico servico = new TarefaServico(); + Trilha trilha = await servico.Salvar(destino); + if (!servico.Sucesso) + { + return null; + } + fases2.ForEach(delegate(Fase x) + { + x.Trilha = trilha; + }); + fases2 = await servico.Salvar(fases2); + if (!servico.Sucesso) + { + return null; + } + trilha.Fases = fases2; + return trilha; + } + + public async Task<List<Analitico>> Validar(List<Analitico> analitico, Trilha trilha) + { + TarefaServico tarefaServico = new TarefaServico(); + List<long> ids; + switch (Tipo) + { + case "CLIENTES": + ids = analitico.Select((Analitico x) => x.Cliente.Id).ToList(); + break; + default: + ids = analitico.Select((Analitico x) => ((DomainBase)x.Documento).Id).ToList(); + break; + case "PARCELAS": + case "COMISSÃO": + ids = analitico.Select((Analitico x) => ((DomainBase)x.Parcela).Id).ToList(); + break; + } + List<long> excluirIds = await tarefaServico.Validar(ids, ((DomainBase)trilha).Id); + List<Analitico> second; + switch (Head) + { + case "CLIENTES": + second = analitico.Where((Analitico x) => excluirIds.Contains(x.Cliente.Id)).ToList(); + break; + default: + second = analitico.Where((Analitico x) => excluirIds.Contains(((DomainBase)x.Documento).Id)).ToList(); + break; + case "PARCELAS": + case "COMISSÃO": + second = analitico.Where((Analitico x) => excluirIds.Contains(((DomainBase)x.Parcela).Id)).ToList(); + break; + } + return analitico.Except(second).ToList(); + } + + private async Task<string> GerarHtml(DataGrid grid) + { + List<string> first = (from x in typeof(Analitico).GetProperties() + select x.Name).ToList(); + List<string> list = new List<string>(); + for (int i = 0; i < grid.Columns.Count; i++) + { + if (!(grid.Columns[i] is DataGridTemplateColumn)) + { + DataGridColumn obj = grid.Columns[i]; + BindingBase binding = ((DataGridBoundColumn)((obj is DataGridBoundColumn) ? obj : null)).Binding; + Binding val = (Binding)(object)((binding is Binding) ? binding : null); + list.Add(val.Path.Path); + } + } + List<string> colunasOcultas = first.Except(list).ToList(); + string text = Funcoes.CreateCard("", await Funcoes.GenerateTable((from Analitico x in (IEnumerable)((ItemsControl)grid).Items + where x.Selecionado + select x).ToList(), colunasOcultas, grafico: false, propertyName: true)); + return Funcoes.ExportarHtml(new TipoRelatorio + { + Nome = "ANALÍTICO - " + Head + }, text ?? ""); + } + + public async Task Print(DataGrid grid) + { + if (!((IEnumerable)((ItemsControl)grid).Items).Cast<Analitico>().Any((Analitico x) => x.Selecionado)) + { + await ShowMessage("É NECESSÁRIO SELECIONAR AO MENOS UM DOCUMENTO"); + return; + } + string value = await GerarHtml(grid); + if (!string.IsNullOrEmpty(value)) + { + string tempPath = Path.GetTempPath(); + string text = string.Format("{0}{1}_{2:ddMMyyyyhhmmss}.html", tempPath, new Regex("[" + Regex.Escape(new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars())) + "]").Replace(Head, ""), Funcoes.GetNetworkTime()); + StreamWriter streamWriter = new StreamWriter(text, append: true, Encoding.UTF8); + streamWriter.Write(value); + streamWriter.Close(); + Process.Start(text); + } + } +} |