using Gestor.Application.Helpers; using Gestor.Application.Servicos.Generic; using Gestor.Infrastructure.Repository.Interface; using Gestor.Infrastructure.UnitOfWork.Generic; using Gestor.Infrastructure.UnitOfWork.Logic; using Gestor.Model.Domain.Common; using Gestor.Model.Domain.Ferramentas; using Gestor.Model.Domain.Generic; using System; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Gestor.Application.Servicos.Ferramentas { internal class StatusProspeccaoServico : BaseServico { public StatusProspeccaoServico() { } internal async Task> BuscarProspeccoes() { int num = 3; List statusDeProspeccaos1 = await Task.Run>(() => { List statusDeProspeccaos; while (num > 0) { try { using (UnitOfWork read = Instancia.Read) { statusDeProspeccaos = read.get_StatusProspeccaoRepository().FindAll(); } } catch (Exception exception) { num = base.Registrar(exception, 308, num, null, true); continue; } return statusDeProspeccaos; } return new List(); }); return statusDeProspeccaos1; } internal async Task Save(StatusDeProspeccao statusProspeccao) { int num = 3; base.Sucesso = true; StatusDeProspeccao statusDeProspeccao1 = statusProspeccao; StatusDeProspeccao statusDeProspeccao2 = await Task.Run(() => { StatusDeProspeccao statusDeProspeccao; bool flag; List registroLogs = new List(); statusProspeccao = statusDeProspeccao1; while (num > 0) { statusProspeccao = statusDeProspeccao1; try { using (UnitOfWork commited = Instancia.Commited) { flag = (statusProspeccao.get_Id() == 0 ? false : true); if (flag) { registroLogs.Add(base.CreateLog(statusProspeccao.get_Id(), statusProspeccao, 57)); } statusProspeccao = (statusProspeccao.get_Id() == 0 ? commited.get_StatusProspeccaoRepository().SaveOrUpdate(statusProspeccao) : commited.get_StatusProspeccaoRepository().Merge(statusProspeccao)); if (!flag) { registroLogs.Add(base.CreateLog(statusProspeccao.get_Id(), statusProspeccao.GetValorOriginal(), 57, 0)); } base.SaveLog(registroLogs, commited); commited.Commit(); statusDeProspeccao = statusProspeccao; } } catch (Exception exception) { num = base.Registrar(exception, 307, num, statusProspeccao, true); continue; } return statusDeProspeccao; } return statusDeProspeccao1; }); return statusDeProspeccao2; } } }