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/Relatorios/SinteticoViewModel.cs | 424 --------------------- 1 file changed, 424 deletions(-) delete mode 100644 Gestor.Application/ViewModels/Relatorios/SinteticoViewModel.cs (limited to 'Gestor.Application/ViewModels/Relatorios/SinteticoViewModel.cs') diff --git a/Gestor.Application/ViewModels/Relatorios/SinteticoViewModel.cs b/Gestor.Application/ViewModels/Relatorios/SinteticoViewModel.cs deleted file mode 100644 index 6adc8e5..0000000 --- a/Gestor.Application/ViewModels/Relatorios/SinteticoViewModel.cs +++ /dev/null @@ -1,424 +0,0 @@ -using ClosedXML.Excel; -using Gestor.Application.Componentes; -using Gestor.Application.Helpers; -using Gestor.Application.Model; -using Gestor.Application.ViewModels.Generic; -using Gestor.Common.Helpers; -using Gestor.Model.Attributes; -using Gestor.Model.Domain.Configuracoes; -using Gestor.Model.Domain.Relatorios; -using LiveCharts; -using LiveCharts.Definitions.Series; -using LiveCharts.Helpers; -using LiveCharts.Wpf; -using NReco.PdfGenerator; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Diagnostics; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Forms; -using System.Windows.Media; - -namespace Gestor.Application.ViewModels.Relatorios -{ - public class SinteticoViewModel : BaseSegurosViewModel - { - private Visibility _unicaPaginaVisibility = Visibility.Collapsed; - - private Geometry _maximizeRestore = Geometry.Parse((string)System.Windows.Application.Current.Resources["Restore"]); - - private ObservableCollection _series; - - private string _titulotela = string.Format("RELATÓRIO SINTÉTICO | VERSÃO GESTOR {0}", ApplicationHelper.Versao); - - public Geometry MaximizeRestore - { - get - { - return this._maximizeRestore; - } - set - { - this._maximizeRestore = value; - base.OnPropertyChanged("MaximizeRestore"); - } - } - - public string Relatorio - { - get; - set; - } - - public ObservableCollection Series - { - get - { - return this._series; - } - set - { - this._series = value; - base.OnPropertyChanged("Series"); - } - } - - public string Titulotela - { - get - { - return this._titulotela; - } - set - { - this._titulotela = value; - base.OnPropertyChanged("Titulotela"); - } - } - - public Visibility UnicaPaginaVisibility - { - get - { - return this._unicaPaginaVisibility; - } - set - { - this._unicaPaginaVisibility = value; - base.OnPropertyChanged("UnicaPaginaVisibility"); - } - } - - public SinteticoViewModel(List sintetico, string relatorio) - { - this.Relatorio = relatorio; - this.GerarSintetico(sintetico); - } - - public async Task GerarExcel(SinteticoSource sintetico) - { - List listagems = SinteticoViewModel.GerarRelacao(sintetico.Lista.ToList()); - string tempPath = ""; - string str = ""; - List configuracoes = Recursos.Configuracoes; - if (!configuracoes.Any((ConfiguracaoSistema x) => x.get_Configuracao() == 41)) - { - tempPath = Path.GetTempPath(); - str = string.Format("{0}{1}.xlsx", tempPath, Guid.NewGuid()); - } - else - { - using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog()) - { - if (DialogResult.OK == folderBrowserDialog.ShowDialog()) - { - tempPath = string.Concat(folderBrowserDialog.SelectedPath, "\\"); - Directory.CreateDirectory(tempPath); - } - else - { - str = null; - return; - } - } - DateTime date = Functions.GetNetworkTime().Date; - str = string.Concat(tempPath, "SINTETICO ", date.ToShortDateString().Replace("/", ""), ".xlsx"); - } - await Funcoes.GerarXls(new XLWorkbook(), "SINTÉTICO", listagems, null).SaveAs(str); - Process.Start(str); - str = null; - } - - public async Task GerarPdf(SinteticoSource sintetico) - { - string str = await Funcoes.GenerateTable(SinteticoViewModel.GerarRelacao(sintetico.Lista.ToList()), new List(), false, false, "", null); - TipoRelatorio tipoRelatorio = new TipoRelatorio(); - tipoRelatorio.set_Nome(sintetico.Titulo); - tipoRelatorio.set_Inicio(DateTime.MinValue); - tipoRelatorio.set_Fim(DateTime.MinValue); - string str1 = Funcoes.ExportarHtml(tipoRelatorio, str, "60", "landscape", false, ""); - NRecoHtmlToPdfConverter nRecoHtmlToPdfConverter = new NRecoHtmlToPdfConverter(); - ((HtmlToPdfConverter)nRecoHtmlToPdfConverter).set_Orientation(1); - ((HtmlToPdfConverter)nRecoHtmlToPdfConverter).set_Zoom(0.5f); - byte[] numArray = ((HtmlToPdfConverter)nRecoHtmlToPdfConverter).GeneratePdf(str1); - using (SaveFileDialog saveFileDialog = new SaveFileDialog()) - { - saveFileDialog.Filter = "All Files|*.*"; - saveFileDialog.FileName = string.Format("RELATORIO FINANCEIRO_{0:ddMMyyyyhhmmss}", Funcoes.GetNetworkTime()); - if (DialogResult.OK != saveFileDialog.ShowDialog()) - { - return; - } - else if (!File.Exists(string.Concat(saveFileDialog.FileName, ".pdf"))) - { - File.WriteAllBytes(string.Concat(saveFileDialog.FileName, ".pdf"), numArray); - Process.Start(string.Concat(saveFileDialog.FileName, ".pdf")); - } - else - { - string[] fileName = new string[] { "JÁ EXISTE UM ARQUIVO COM O NOME DE ", saveFileDialog.FileName, ".pdf NA PASTA SELECIONADA. ", Environment.NewLine, "TENTE NOVAMENTE EM OUTRA PASTA." }; - await base.ShowMessage(string.Concat(fileName), "OK", "", false); - return; - } - } - saveFileDialog = null; - } - - private static List GerarRelacao(List lista) - { - return lista.Select((ValorSintetico x) => { - Listagem listagem = new Listagem(); - listagem.set_Agrupamento(x.get_Indice()); - listagem.set_Valor((x.get_Formato() == "VALOR" ? x.get_Valor().ToString("c2") : (x.get_Formato() == "PERCENTUAL" ? x.get_Valor().ToString("p2") : x.get_Valor().ToString(new CultureInfo("pt-BR"))))); - listagem.set_NomeRelatorio(x.get_NomeRelatorio()); - return listagem; - }).ToList(); - } - - private static List> GerarRelacao(List> listas) - { - List> lists = new List>(); - foreach (List lista in listas) - { - lists.Add(SinteticoViewModel.GerarRelacao(lista)); - } - return lists; - } - - private void GerarSintetico(List sintetico) - { - IChartValues chartValue; - decimal num; - this.UnicaPaginaVisibility = (this.Relatorio == "RELATÓRIO DE FECHAMENTO" ? Visibility.Visible : Visibility.Collapsed); - this.Series = new ObservableCollection(); - PropertyInfo[] properties = sintetico.First().GetType().GetProperties(); - for (int i = 0; i < (int)properties.Length; i++) - { - PropertyInfo propertyInfo = properties[i]; - if (!(propertyInfo.Name == "ValidationEvent") && !(propertyInfo.Name == "Agrupamento") && !sintetico.All((Sintetico s) => { - object value; - PropertyInfo property = s.GetType().GetProperty(propertyInfo.Name); - value = (property != null ? property.GetValue(s, null) : null); - return value == null; - })) - { - object obj = propertyInfo.GetCustomAttributes(typeof(DescriptionAttribute), true).FirstOrDefault(); - if (obj != null) - { - string description = ((DescriptionAttribute)obj).Description; - SinteticoSource sinteticoSource = new SinteticoSource() - { - Titulo = description, - Colecao = new SeriesCollection(), - Lista = new ObservableCollection() - }; - object obj1 = propertyInfo.GetCustomAttributes(typeof(TipoAttribute), true).FirstOrDefault(); - string str = ""; - if (obj1 != null) - { - str = ((TipoAttribute)obj1).get_Description(); - } - sintetico = ( - from x in sintetico - orderby propertyInfo.GetValue(x, null) descending - select x).ToList(); - foreach (Sintetico sintetico1 in sintetico) - { - bool flag = false; - PieSeries pieSeries = new PieSeries(); - pieSeries.set_Title(sintetico1.get_Agrupamento()); - pieSeries.set_DataLabels(false); - PieSeries pieSeries1 = pieSeries; - if (str == "PERCENTUAL") - { - flag = (decimal)propertyInfo.GetValue(sintetico1) < decimal.Zero; - ChartValues chartValue1 = new ChartValues(); - chartValue1.Add(Math.Abs((decimal)propertyInfo.GetValue(sintetico1))); - chartValue = chartValue1; - ObservableCollection lista = sinteticoSource.Lista; - ValorSintetico valorSintetico = new ValorSintetico(); - valorSintetico.set_Indice(string.Concat(sintetico1.get_Agrupamento(), (flag ? " (-)" : ""))); - valorSintetico.set_Valor(Math.Round((decimal)propertyInfo.GetValue(sintetico1) * new decimal(1, 0, 0, false, 2), 2)); - valorSintetico.set_Unidate("%"); - valorSintetico.set_Sinal((flag ? 1 : 0)); - valorSintetico.set_NomeRelatorio(description); - lista.Add(valorSintetico); - pieSeries1.set_LabelPoint((ChartPoint chartPoint) => ((decimal)propertyInfo.GetValue(sintetico1)).ToString("n2")); - } - else if (str == "VALOR") - { - flag = (decimal)propertyInfo.GetValue(sintetico1) < decimal.Zero; - ChartValues chartValue2 = new ChartValues(); - chartValue2.Add(Math.Abs((decimal)propertyInfo.GetValue(sintetico1))); - chartValue = chartValue2; - ObservableCollection observableCollection = sinteticoSource.Lista; - ValorSintetico valorSintetico1 = new ValorSintetico(); - valorSintetico1.set_Indice(string.Concat(sintetico1.get_Agrupamento(), (flag ? " (-)" : ""))); - valorSintetico1.set_Valor(Math.Round((decimal)propertyInfo.GetValue(sintetico1), 2)); - valorSintetico1.set_Formato(str); - valorSintetico1.set_Unidate("R$"); - valorSintetico1.set_Sinal((flag ? 1 : 0)); - valorSintetico1.set_NomeRelatorio(description); - observableCollection.Add(valorSintetico1); - pieSeries1.set_LabelPoint((ChartPoint chartPoint) => ((decimal)propertyInfo.GetValue(sintetico1)).ToString("n2")); - } - else - { - flag = (int)propertyInfo.GetValue(sintetico1) < 0; - ChartValues chartValue3 = new ChartValues(); - chartValue3.Add(Math.Abs((int)propertyInfo.GetValue(sintetico1))); - chartValue = chartValue3; - ObservableCollection lista1 = sinteticoSource.Lista; - ValorSintetico valorSintetico2 = new ValorSintetico(); - valorSintetico2.set_Indice(string.Concat(sintetico1.get_Agrupamento(), (flag ? " (-)" : ""))); - valorSintetico2.set_Valor(decimal.Parse(propertyInfo.GetValue(sintetico1).ToString())); - valorSintetico2.set_Formato(str); - valorSintetico2.set_Sinal((flag ? 1 : 0)); - valorSintetico2.set_NomeRelatorio(description); - lista1.Add(valorSintetico2); - pieSeries1.set_LabelPoint((ChartPoint chartPoint) => ((int)propertyInfo.GetValue(sintetico1)).ToString("n")); - } - pieSeries1.set_Values(chartValue); - sinteticoSource.Colecao.Add(pieSeries1); - } - if (obj1 != null && !(str == "PERCENTUAL")) - { - if (str != "VALOR") - { - if (this.Relatorio.Equals("RELATÓRIO DE FECHAMENTO")) - { - int num1 = sintetico.Sum((Sintetico x) => (int)propertyInfo.GetValue(x, null)); - if (num1 != 0) - { - foreach (ValorSintetico listum in sinteticoSource.Lista) - { - num = (new decimal(100) * listum.get_Valor()) / num1; - listum.set_Porcentagem(string.Concat(num.ToString("F"), "%")); - } - } - } - else - { - int num2 = sintetico.Sum((Sintetico x) => (int)propertyInfo.GetValue(x, null)); - if (num2 != 0) - { - foreach (ValorSintetico listum1 in sinteticoSource.Lista) - { - num = (new decimal(100) * listum1.get_Valor()) / num2; - listum1.set_Porcentagem(string.Concat(num.ToString("F"), "%")); - } - } - ObservableCollection observableCollection1 = sinteticoSource.Lista; - ValorSintetico valorSintetico3 = new ValorSintetico(); - valorSintetico3.set_Indice("TOTAL"); - valorSintetico3.set_Valor(num2); - valorSintetico3.set_Formato(str); - valorSintetico3.set_Sinal((sintetico.Sum((Sintetico x) => (int)propertyInfo.GetValue(x, null)) < 0 ? 1 : 0)); - valorSintetico3.set_Porcentagem("100%"); - observableCollection1.Add(valorSintetico3); - } - } - else if (this.Relatorio.Equals("RELATÓRIO DE FECHAMENTO")) - { - decimal num3 = Math.Round(sintetico.Sum((Sintetico x) => (decimal)propertyInfo.GetValue(x, null)), 2); - if (num3 != decimal.Zero) - { - foreach (ValorSintetico listum2 in sinteticoSource.Lista) - { - num = (new decimal(100) * listum2.get_Valor()) / num3; - listum2.set_Porcentagem(string.Concat(num.ToString("F"), "%")); - } - } - } - else - { - decimal num4 = Math.Round(sintetico.Sum((Sintetico x) => (decimal)propertyInfo.GetValue(x, null)), 2); - if (num4 != decimal.Zero) - { - foreach (ValorSintetico listum3 in sinteticoSource.Lista) - { - num = (new decimal(100) * listum3.get_Valor()) / num4; - listum3.set_Porcentagem(string.Concat(num.ToString("F"), "%")); - } - } - ObservableCollection lista2 = sinteticoSource.Lista; - ValorSintetico valorSintetico4 = new ValorSintetico(); - valorSintetico4.set_Indice("TOTAL"); - valorSintetico4.set_Valor(num4); - valorSintetico4.set_Unidate("R$"); - valorSintetico4.set_Formato(str); - valorSintetico4.set_Sinal((sintetico.Sum((Sintetico x) => (decimal)propertyInfo.GetValue(x, null)) < decimal.Zero ? 1 : 0)); - valorSintetico4.set_Porcentagem("100%"); - lista2.Add(valorSintetico4); - } - } - this.Series.Add(sinteticoSource); - } - } - } - } - - public async Task Print(SinteticoSource sintetico) - { - DateTime dateTime; - DateTime dateTime1; - string str = Funcoes.GerarGrafico(sintetico.Lista.ToList()); - string str1 = await Funcoes.GenerateTable(SinteticoViewModel.GerarRelacao(sintetico.Lista.ToList()), new List(), true, false, "", null); - TipoRelatorio tipoRelatorio = new TipoRelatorio(); - tipoRelatorio.set_Nome(sintetico.Titulo); - DateTime? dateStart = sintetico.DateStart; - dateTime = (dateStart.HasValue ? dateStart.GetValueOrDefault() : DateTime.MinValue); - tipoRelatorio.set_Inicio(dateTime); - dateStart = sintetico.DateFinal; - dateTime1 = (dateStart.HasValue ? dateStart.GetValueOrDefault() : DateTime.MinValue); - tipoRelatorio.set_Fim(dateTime1); - string str2 = Funcoes.ExportarHtml(tipoRelatorio, str1, "60", "landscape", false, str); - string tempPath = Path.GetTempPath(); - string str3 = string.Format("{0}{1}_{2:ddMMyyyyhhmmss}.html", tempPath, (new Regex(string.Concat("[", Regex.Escape(string.Concat(new string(Path.GetInvalidFileNameChars()), new string(Path.GetInvalidPathChars()))), "]"))).Replace(this.Relatorio, ""), Funcoes.GetNetworkTime()); - StreamWriter streamWriter = new StreamWriter(str3, true, Encoding.UTF8); - streamWriter.Write(str2); - streamWriter.Close(); - Process.Start(str3); - str = null; - } - - public async Task PrintUnica(SinteticoSource sintetico) - { - DateTime dateTime; - DateTime dateTime1; - List> lists = new List>(); - foreach (SinteticoSource series in this.Series) - { - lists.Add(series.Lista.ToList()); - } - string str = Funcoes.GerarGraficoUnico(lists); - string str1 = await Funcoes.GenerateMultipleTable(SinteticoViewModel.GerarRelacao(lists), new List(), true, false, "", null); - TipoRelatorio tipoRelatorio = new TipoRelatorio(); - tipoRelatorio.set_Nome("RELATÓRIOS"); - DateTime? dateStart = sintetico.DateStart; - dateTime = (dateStart.HasValue ? dateStart.GetValueOrDefault() : DateTime.MinValue); - tipoRelatorio.set_Inicio(dateTime); - dateStart = sintetico.DateFinal; - dateTime1 = (dateStart.HasValue ? dateStart.GetValueOrDefault() : DateTime.MinValue); - tipoRelatorio.set_Fim(dateTime1); - string str2 = Funcoes.ExportarMultipleHtml(tipoRelatorio, str1, "60", "landscape", false, str); - string tempPath = Path.GetTempPath(); - string str3 = string.Format("{0}{1}_{2:ddMMyyyyhhmmss}.html", tempPath, (new Regex(string.Concat("[", Regex.Escape(string.Concat(new string(Path.GetInvalidFileNameChars()), new string(Path.GetInvalidPathChars()))), "]"))).Replace(this.Relatorio, ""), Funcoes.GetNetworkTime()); - StreamWriter streamWriter = new StreamWriter(str3, true, Encoding.UTF8); - streamWriter.Write(str2); - streamWriter.Close(); - Process.Start(str3); - str = null; - } - } -} \ No newline at end of file -- cgit v1.2.3