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 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; namespace Gestor.Application.Servicos.Ferramentas { public class ImpostoServico : BaseServico { public ImpostoServico() { } public async Task> Buscar(bool? ativo) { int num = 3; List impostos1 = await Task.Run>(() => { List impostos; while (num > 0) { try { using (UnitOfWork read = Instancia.Read) { impostos = read.get_ImpostoRepository().DefaultSelect(ativo); } } catch (Exception exception) { num = base.Registrar(exception, 317, num, ativo, true); continue; } return impostos; } return new List(); }); return impostos1; } public async Task> BuscarPorRamo(long id) { int num = 3; List impostos1 = await Task.Run>(() => { List impostos; while (num > 0) { try { using (UnitOfWork read = Instancia.Read) { impostos = read.get_ImpostoRepository().FindByRamo(id); } } catch (Exception exception) { num = base.Registrar(exception, 317, num, id, true); continue; } return impostos; } return new List(); }); return impostos1; } public async Task> BuscarPorSeguradora(long id) { int num = 3; List impostos1 = await Task.Run>(() => { List impostos; while (num > 0) { try { using (UnitOfWork read = Instancia.Read) { impostos = read.get_ImpostoRepository().FindBySeguradora(id); } } catch (Exception exception) { num = base.Registrar(exception, 317, num, id, true); continue; } return impostos; } return new List(); }); return impostos1; } public async Task Salvar(Imposto imposto) { int num = 3; Imposto imposto2 = await Task.Run(() => { Imposto imposto3; string str; while (num > 0) { this.Sucesso = true; try { using (UnitOfWork commited = Instancia.Commited) { TipoAcao tipoAcao = (imposto.get_Id() == 0 ? 0 : 1); Imposto imposto1 = (tipoAcao == null ? commited.get_ImpostoRepository().SaveOrUpdate(imposto) : commited.get_ImpostoRepository().Merge(imposto)); IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName()); RegistroLog registroLog = new RegistroLog(); registroLog.set_Acao(tipoAcao); registroLog.set_Usuario(Recursos.Usuario); registroLog.set_DataHora(Funcoes.GetNetworkTime()); JsonSerializerSettings jsonSerializerSetting = new JsonSerializerSettings(); jsonSerializerSetting.set_ReferenceLoopHandling(1); registroLog.set_Descricao(JsonConvert.SerializeObject(imposto1, jsonSerializerSetting)); registroLog.set_EntidadeId(imposto1.get_Id()); registroLog.set_Tela(56); registroLog.set_Versao(LoginViewModel.VersaoAtual); registroLog.set_NomeMaquina(Environment.MachineName); registroLog.set_UsuarioMaquina(Environment.UserName); IPAddress[] addressList = hostEntry.AddressList; Func u003cu003e9_31 = ImpostoServico.u003cu003ec.u003cu003e9__3_1; if (u003cu003e9_31 == null) { u003cu003e9_31 = (IPAddress ip) => ip.AddressFamily == AddressFamily.InterNetwork; ImpostoServico.u003cu003ec.u003cu003e9__3_1 = u003cu003e9_31; } IPAddress pAddress = ((IEnumerable)addressList).FirstOrDefault(u003cu003e9_31); if (pAddress != null) { str = pAddress.ToString(); } else { str = null; } registroLog.set_Ip(str); base.SaveLog(registroLog, commited); commited.Commit(); imposto3 = imposto1; } } catch (Exception exception1) { Exception exception = exception1; this.Sucesso = false; num = base.Registrar(exception, 318, num, imposto, false); continue; } return imposto3; } return imposto; }); return imposto2; } } }