using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Threading.Tasks; using Gestor.Application.Helpers; using Gestor.Application.Servicos.Generic; using Gestor.Application.ViewModels; using Gestor.Infrastructure.UnitOfWork.Generic; using Gestor.Infrastructure.UnitOfWork.Logic; using Gestor.Model.API; using Gestor.Model.Common; using Gestor.Model.Domain.Common; using Gestor.Model.Domain.Generic; using Gestor.Model.Domain.Relatorios; using Gestor.Model.Domain.Seguros; using Newtonsoft.Json; namespace Gestor.Application.Servicos.Ferramentas; public class AdiantamentoServico : BaseServico { public async Task Save(Adiantamento adiatamento) { int tries = 3; base.Sucesso = true; Adiantamento adiantamentoOriginal = adiatamento; DateTime now = Funcoes.GetNetworkTime(); return await Task.Run((Func)delegate { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Expected O, but got Unknown //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Expected O, but got Unknown while (tries > 0) { adiatamento = adiantamentoOriginal; try { UnitOfWork commited = Instancia.Commited; try { TipoAcao acao = (TipoAcao)(((DomainBase)adiatamento).Id != 0L); adiatamento.Pagamento = (adiatamento.Pago ? new DateTime?(now) : null); adiatamento = ((((DomainBase)adiatamento).Id == 0L) ? commited.AdiantamentoRepository.SaveOrUpdate(adiatamento) : commited.AdiantamentoRepository.Merge(adiatamento)); IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName()); RegistroLog keyValues = new RegistroLog { Acao = acao, Usuario = Recursos.Usuario, DataHora = now, Descricao = JsonConvert.SerializeObject((object)adiatamento, new JsonSerializerSettings { ReferenceLoopHandling = (ReferenceLoopHandling)1 }), EntidadeId = ((DomainBase)adiatamento).Id, Tela = (TipoTela)36, Versao = LoginViewModel.VersaoAtual, NomeMaquina = Environment.MachineName, UsuarioMaquina = Environment.UserName, Ip = hostEntry.AddressList.FirstOrDefault((IPAddress ip) => ip.AddressFamily == AddressFamily.InterNetwork)?.ToString() }; SaveLog(keyValues, commited); ((GenericUnitOfWork)commited).Commit(); return adiatamento; } finally { ((IDisposable)commited)?.Dispose(); } } catch (Exception e) { tries = Registrar(e, (TipoErro)209, tries, adiatamento); } } return adiantamentoOriginal; }); } public async Task Delete(Adiantamento adiantamento) { int tries = 3; DateTime dateHora = Funcoes.GetNetworkTime(); return await Task.Run(delegate { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Expected O, but got Unknown while (tries > 0) { try { UnitOfWork commited = Instancia.Commited; try { commited.AdiantamentoRepository.Delete(((DomainBase)adiantamento).Id); IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName()); RegistroLog val = new RegistroLog(); val.Acao = (TipoAcao)2; val.Usuario = Recursos.Usuario; val.DataHora = dateHora; val.Descricao = $"O USUÁRIO {Recursos.Usuario.Nome} EXCLUIU, EM {dateHora}, O PARCEIRO DE " + $"ID: '{((DomainBase)adiantamento).Id}'" + ", HISTÓRICO: '" + (string.IsNullOrWhiteSpace(adiantamento.Historico) ? "" : (adiantamento.Historico ?? "")) + "', DATA DO ADIANTAMENTO: '" + ((!adiantamento.Data.HasValue) ? "" : (adiantamento.Data?.ToShortDateString() ?? "")) + "'" + $", VALOR DO ADIANTAMENTO: 'R${adiantamento.Valor}'."; val.EntidadeId = ((DomainBase)adiantamento).Id; val.Versao = LoginViewModel.VersaoAtual; val.Tela = (TipoTela)36; val.NomeMaquina = Environment.MachineName; val.UsuarioMaquina = Environment.UserName; val.Ip = hostEntry.AddressList.FirstOrDefault((IPAddress ip) => ip.AddressFamily == AddressFamily.InterNetwork)?.ToString(); RegistroLog keyValues = val; SaveLog(keyValues, commited); ((GenericUnitOfWork)commited).Commit(); return true; } finally { ((IDisposable)commited)?.Dispose(); } } catch (Exception e) { tries = Registrar(e, (TipoErro)210, tries, adiantamento); } } return false; }); } public async Task> BuscarPorData(Filtros filtro, bool segundavia = false) { int tries = 3; return await Task.Run(delegate { while (tries > 0) { try { UnitOfWork read = Instancia.Read; try { return read.AdiantamentoRepository.FindByDate(filtro.Inicio, filtro.Fim, filtro.Vendedores, segundavia); } finally { ((IDisposable)read)?.Dispose(); } } catch (Exception e) { tries = Registrar(e, (TipoErro)15, tries, filtro); } } return new List(); }); } public async Task> BuscarAdiantamentos(long id, bool concluido) { int tries = 3; return await Task.Run(delegate { while (tries > 0) { try { UnitOfWork read = Instancia.Read; try { return read.AdiantamentoRepository.BuscarAdiantamentos(id, concluido); } finally { ((IDisposable)read)?.Dispose(); } } catch (Exception e) { tries = Registrar(e, (TipoErro)16, tries, new { id, concluido }); } } return new List(); }); } public async Task GerarPagamento(List adiantamentos) { int tries = 3; DateTime now = Funcoes.GetNetworkTime(); await Task.Run(delegate { while (tries > 0) { try { UnitOfWork unitOfWork = Instancia.Commited; try { adiantamentos.ForEach(delegate(Adiantamento x) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Expected O, but got Unknown Adiantamento val = unitOfWork.AdiantamentoRepository.FindById(((DomainBase)x).Id); val.Pago = true; val.Pagamento = now; val = unitOfWork.AdiantamentoRepository.Merge(val); IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName()); RegistroLog keyValues = new RegistroLog { Acao = (TipoAcao)1, Usuario = Recursos.Usuario, DataHora = now, Descricao = JsonConvert.SerializeObject((object)val, new JsonSerializerSettings { ReferenceLoopHandling = (ReferenceLoopHandling)1 }), EntidadeId = ((DomainBase)val).Id, Tela = (TipoTela)36, Versao = LoginViewModel.VersaoAtual, NomeMaquina = Environment.MachineName, UsuarioMaquina = Environment.UserName, Ip = hostEntry.AddressList.FirstOrDefault((IPAddress ip) => ip.AddressFamily == AddressFamily.InterNetwork)?.ToString() }; SaveLog(keyValues, unitOfWork); }); ((GenericUnitOfWork)unitOfWork).Commit(); break; } finally { if (unitOfWork != null) { ((IDisposable)unitOfWork).Dispose(); } } } catch (Exception e) { tries = Registrar(e, (TipoErro)194, tries, adiantamentos); } } }); } }