summaryrefslogtreecommitdiff
path: root/Codemerx/Gestor.Application/Servicos/ProspeccaoServico.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:38:18 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 13:38:18 +0000
commit1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (patch)
treee1c3b20ea08f0cf71122a1e73f0d395f8fd83874 /Codemerx/Gestor.Application/Servicos/ProspeccaoServico.cs
parent674ca83ba9243a9e95a7568c797668dab6aee26a (diff)
downloadgestor-1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1.tar.gz
gestor-1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1.zip
chore: location
Diffstat (limited to 'Codemerx/Gestor.Application/Servicos/ProspeccaoServico.cs')
-rw-r--r--Codemerx/Gestor.Application/Servicos/ProspeccaoServico.cs338
1 files changed, 338 insertions, 0 deletions
diff --git a/Codemerx/Gestor.Application/Servicos/ProspeccaoServico.cs b/Codemerx/Gestor.Application/Servicos/ProspeccaoServico.cs
new file mode 100644
index 0000000..ab7ab6f
--- /dev/null
+++ b/Codemerx/Gestor.Application/Servicos/ProspeccaoServico.cs
@@ -0,0 +1,338 @@
+using Gestor.Application.Actions;
+using Gestor.Application.Helpers;
+using Gestor.Application.Servicos.Generic;
+using Gestor.Application.ViewModels;
+using Gestor.Infrastructure.Repository.Interface;
+using Gestor.Infrastructure.UnitOfWork.Generic;
+using Gestor.Infrastructure.UnitOfWork.Logic;
+using Gestor.Model.Common;
+using Gestor.Model.Domain.Common;
+using Gestor.Model.Domain.Ferramentas;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Relatorios;
+using Gestor.Model.Domain.Seguros;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Net;
+using System.Net.Sockets;
+using System.Runtime.CompilerServices;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Threading;
+
+namespace Gestor.Application.Servicos
+{
+ public class ProspeccaoServico : BaseServico
+ {
+ public ProspeccaoServico()
+ {
+ }
+
+ public async Task<Prospeccao> BuscarProspeccao(long id)
+ {
+ int num = 3;
+ Prospeccao prospeccao1 = await Task.Run<Prospeccao>(() => {
+ Prospeccao prospeccao;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ prospeccao = read.get_ProspectRepository().FindById(id);
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 87, num, id, true);
+ continue;
+ }
+ return prospeccao;
+ }
+ return new Prospeccao();
+ });
+ return prospeccao1;
+ }
+
+ internal async Task<List<Prospeccao>> BuscarProspeccoes(long id, DateTime inicio, DateTime fim, StatusProspeccao? status)
+ {
+ int num = 3;
+ List<Prospeccao> prospeccaos1 = await Task.Run<List<Prospeccao>>(() => {
+ List<Prospeccao> prospeccaos;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ prospeccaos = read.get_ProspectRepository().Find(Recursos.Empresa.get_Id(), id, inicio, fim, status);
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 86, num, new { id = id, inicio = inicio, fim = fim, status = status }, true);
+ continue;
+ }
+ return prospeccaos;
+ }
+ return new List<Prospeccao>();
+ });
+ return prospeccaos1;
+ }
+
+ public async Task<List<Prospeccao>> BuscarProspeccoes(Filtros filtro)
+ {
+ int num = 3;
+ List<Prospeccao> prospeccaos1 = await Task.Run<List<Prospeccao>>(() => {
+ List<Prospeccao> prospeccaos;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ prospeccaos = read.get_ProspectRepository().Find(filtro);
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 88, num, filtro, true);
+ continue;
+ }
+ return prospeccaos;
+ }
+ return new List<Prospeccao>();
+ });
+ return prospeccaos1;
+ }
+
+ public async Task<List<Prospeccao>> BuscarProspeccoesPorStatus(StatusDeProspeccao statusProspeccao)
+ {
+ int num = 3;
+ List<Prospeccao> prospeccaos1 = await Task.Run<List<Prospeccao>>(() => {
+ List<Prospeccao> prospeccaos;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ prospeccaos = read.get_ProspectRepository().FindByStatusPersonalizado(statusProspeccao.get_Id());
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 310, num, new { statusProspeccao = statusProspeccao }, true);
+ continue;
+ }
+ return prospeccaos;
+ }
+ return new List<Prospeccao>();
+ });
+ return prospeccaos1;
+ }
+
+ public async Task<bool> Delete(Prospeccao prospeccao)
+ {
+ int num = 3;
+ bool flag1 = await Task.Run<bool>(() => {
+ bool flag;
+ string str;
+ string str1;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork commited = Instancia.Commited)
+ {
+ if (prospeccao.get_Tarefa() != null)
+ {
+ commited.get_TarefaRepository().Excluir(prospeccao.get_Tarefa().get_Id());
+ }
+ commited.get_ProspectRepository().Delete(prospeccao.get_Id());
+ DateTime networkTime = Funcoes.GetNetworkTime();
+ IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
+ if (prospeccao.get_Tarefa() != null)
+ {
+ RegistroLog registroLog = new RegistroLog();
+ registroLog.set_Acao(2);
+ registroLog.set_Usuario(Recursos.Usuario);
+ registroLog.set_DataHora(networkTime);
+ Tarefa tarefa = prospeccao.get_Tarefa();
+ JsonSerializerSettings jsonSerializerSetting = new JsonSerializerSettings();
+ jsonSerializerSetting.set_ReferenceLoopHandling(1);
+ registroLog.set_Descricao(JsonConvert.SerializeObject(tarefa, jsonSerializerSetting));
+ registroLog.set_EntidadeId(prospeccao.get_Tarefa().get_Id());
+ registroLog.set_Tela(38);
+ registroLog.set_Versao(LoginViewModel.VersaoAtual);
+ registroLog.set_NomeMaquina(Environment.MachineName);
+ registroLog.set_UsuarioMaquina(Environment.UserName);
+ IPAddress[] addressList = hostEntry.AddressList;
+ Func<IPAddress, bool> u003cu003e9_22 = ProspeccaoServico.u003cu003ec.u003cu003e9__2_2;
+ if (u003cu003e9_22 == null)
+ {
+ u003cu003e9_22 = (IPAddress ip) => ip.AddressFamily == AddressFamily.InterNetwork;
+ ProspeccaoServico.u003cu003ec.u003cu003e9__2_2 = u003cu003e9_22;
+ }
+ IPAddress pAddress = ((IEnumerable<IPAddress>)addressList).FirstOrDefault<IPAddress>(u003cu003e9_22);
+ if (pAddress != null)
+ {
+ str1 = pAddress.ToString();
+ }
+ else
+ {
+ str1 = null;
+ }
+ registroLog.set_Ip(str1);
+ base.SaveLog(registroLog, commited);
+ }
+ RegistroLog registroLog1 = new RegistroLog();
+ registroLog1.set_Acao(2);
+ registroLog1.set_Usuario(Recursos.Usuario);
+ registroLog1.set_DataHora(networkTime);
+ Prospeccao prospeccao1 = prospeccao;
+ JsonSerializerSettings jsonSerializerSetting1 = new JsonSerializerSettings();
+ jsonSerializerSetting1.set_ReferenceLoopHandling(1);
+ registroLog1.set_Descricao(JsonConvert.SerializeObject(prospeccao1, jsonSerializerSetting1));
+ registroLog1.set_EntidadeId(prospeccao.get_Id());
+ registroLog1.set_Tela(33);
+ registroLog1.set_Versao(LoginViewModel.VersaoAtual);
+ registroLog1.set_NomeMaquina(Environment.MachineName);
+ registroLog1.set_UsuarioMaquina(Environment.UserName);
+ IPAddress[] pAddressArray = hostEntry.AddressList;
+ Func<IPAddress, bool> u003cu003e9_23 = ProspeccaoServico.u003cu003ec.u003cu003e9__2_3;
+ if (u003cu003e9_23 == null)
+ {
+ u003cu003e9_23 = (IPAddress ip) => ip.AddressFamily == AddressFamily.InterNetwork;
+ ProspeccaoServico.u003cu003ec.u003cu003e9__2_3 = u003cu003e9_23;
+ }
+ IPAddress pAddress1 = ((IEnumerable<IPAddress>)pAddressArray).FirstOrDefault<IPAddress>(u003cu003e9_23);
+ if (pAddress1 != null)
+ {
+ str = pAddress1.ToString();
+ }
+ else
+ {
+ str = null;
+ }
+ registroLog1.set_Ip(str);
+ base.SaveLog(registroLog1, commited);
+ commited.Commit();
+ }
+ Dispatcher dispatcher = System.Windows.Application.Current.Dispatcher;
+ Action u003cu003e9_21 = ProspeccaoServico.u003cu003ec.u003cu003e9__2_1;
+ if (u003cu003e9_21 == null)
+ {
+ u003cu003e9_21 = () => Gestor.Application.Actions.Actions.AtualizaBadges();
+ ProspeccaoServico.u003cu003ec.u003cu003e9__2_1 = u003cu003e9_21;
+ }
+ dispatcher.Invoke(u003cu003e9_21);
+ flag = true;
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 260, num, prospeccao, true);
+ continue;
+ }
+ return flag;
+ }
+ return false;
+ });
+ return flag1;
+ }
+
+ public async Task<Prospeccao> Salvar(Prospeccao prospecao)
+ {
+ int num = 3;
+ base.Sucesso = true;
+ Prospeccao prospeccao2 = prospecao;
+ Prospeccao prospeccao3 = await Task.Run<Prospeccao>(() => {
+ Prospeccao prospeccao;
+ string str;
+ while (num > 0)
+ {
+ prospecao = prospeccao2;
+ try
+ {
+ using (UnitOfWork commited = Instancia.Commited)
+ {
+ DateTime networkTime = Funcoes.GetNetworkTime();
+ TipoAcao tipoAcao = (prospecao.get_Id() == 0 ? 0 : 1);
+ prospecao.set_IdEmpresa(Recursos.Usuario.get_IdEmpresa());
+ if (!prospecao.get_DataCriacao().HasValue)
+ {
+ prospecao.set_DataCriacao(new DateTime?(networkTime));
+ }
+ if (prospecao.get_UsuarioCriacao() == 0)
+ {
+ prospecao.set_UsuarioCriacao(Recursos.Usuario.get_Id());
+ }
+ Tarefa tarefa = prospecao.get_Tarefa();
+ tarefa = (!prospecao.get_CriarTarefa() ? null : (tarefa.get_Id() == 0 ? commited.get_TarefaRepository().Salvar(tarefa) : commited.get_TarefaRepository().Atualizar(tarefa)));
+ prospecao.set_Tarefa(tarefa);
+ prospecao = (prospecao.get_Id() == 0 ? commited.get_ProspectRepository().SaveOrUpdate(prospecao) : commited.get_ProspectRepository().Merge(prospecao));
+ IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName());
+ if (prospecao.get_Tarefa() != null)
+ {
+ prospecao.get_Tarefa().set_IdEntidade(prospecao.get_Id());
+ prospecao.set_Tarefa(commited.get_TarefaRepository().Atualizar(prospecao.get_Tarefa()));
+ }
+ RegistroLog registroLog = new RegistroLog();
+ registroLog.set_Acao(tipoAcao);
+ registroLog.set_Usuario(Recursos.Usuario);
+ registroLog.set_DataHora(networkTime);
+ Prospeccao prospeccao1 = prospecao;
+ JsonSerializerSettings jsonSerializerSetting = new JsonSerializerSettings();
+ jsonSerializerSetting.set_ReferenceLoopHandling(1);
+ registroLog.set_Descricao(JsonConvert.SerializeObject(prospeccao1, jsonSerializerSetting));
+ registroLog.set_EntidadeId(prospecao.get_Id());
+ registroLog.set_Tela(33);
+ registroLog.set_Versao(LoginViewModel.VersaoAtual);
+ registroLog.set_NomeMaquina(Environment.MachineName);
+ registroLog.set_UsuarioMaquina(Environment.UserName);
+ IPAddress[] addressList = hostEntry.AddressList;
+ Func<IPAddress, bool> u003cu003e9_12 = ProspeccaoServico.u003cu003ec.u003cu003e9__1_2;
+ if (u003cu003e9_12 == null)
+ {
+ u003cu003e9_12 = (IPAddress ip) => ip.AddressFamily == AddressFamily.InterNetwork;
+ ProspeccaoServico.u003cu003ec.u003cu003e9__1_2 = u003cu003e9_12;
+ }
+ IPAddress pAddress = ((IEnumerable<IPAddress>)addressList).FirstOrDefault<IPAddress>(u003cu003e9_12);
+ if (pAddress != null)
+ {
+ str = pAddress.ToString();
+ }
+ else
+ {
+ str = null;
+ }
+ registroLog.set_Ip(str);
+ base.SaveLog(registroLog, commited);
+ commited.Commit();
+ Dispatcher dispatcher = System.Windows.Application.Current.Dispatcher;
+ Action u003cu003e9_11 = ProspeccaoServico.u003cu003ec.u003cu003e9__1_1;
+ if (u003cu003e9_11 == null)
+ {
+ u003cu003e9_11 = () => Gestor.Application.Actions.Actions.AtualizaBadges();
+ ProspeccaoServico.u003cu003ec.u003cu003e9__1_1 = u003cu003e9_11;
+ }
+ dispatcher.Invoke(u003cu003e9_11);
+ prospeccao = prospecao;
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 259, num, prospecao, true);
+ continue;
+ }
+ return prospeccao;
+ }
+ return prospeccao2;
+ });
+ return prospeccao3;
+ }
+ }
+} \ No newline at end of file