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 Gestor.Model.Domain.Relatorios; using System; using System.Collections.Generic; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace Gestor.Application.Servicos.Ferramentas { internal class NotaFiscalServico : BaseServico { public NotaFiscalServico() { } internal async Task> BuscarNotasFiscais() { int num = 3; List notaFiscals1 = await Task.Run>(() => { List notaFiscals; while (num > 0) { try { using (UnitOfWork read = Instancia.Read) { notaFiscals = read.get_NotaFiscalRepository().FindAll(); } } catch (Exception exception) { num = base.Registrar(exception, 312, num, null, true); continue; } return notaFiscals; } return new List(); }); return notaFiscals1; } public async Task> BuscarNotasFiscais(Filtros filtro) { int num = 3; List notaFiscals1 = await Task.Run>(() => { List notaFiscals; while (num > 0) { try { using (UnitOfWork read = Instancia.Read) { notaFiscals = read.get_NotaFiscalRepository().FindByDatas(filtro); } } catch (Exception exception) { num = base.Registrar(exception, 315, num, filtro, true); continue; } return notaFiscals; } return new List(); }); return notaFiscals1; } internal async Task Cadatrada(long idExtrato) { int num = 3; bool flag1 = await Task.Run(() => { bool flag; while (num > 0) { try { using (UnitOfWork read = Instancia.Read) { flag = read.get_NotaFiscalRepository().FindByExtrato(idExtrato); } } catch (Exception exception) { num = base.Registrar(exception, 315, num, idExtrato, true); continue; } return flag; } return false; }); return flag1; } public async Task Delete(NotaFiscal notaFiscal) { int num = 3; bool flag1 = await Task.Run(() => { bool flag; while (num > 0) { List registroLogs = new List(); try { using (UnitOfWork commited = Instancia.Commited) { registroLogs.Add(base.CreateLog(notaFiscal.get_Id(), notaFiscal.GetValorOriginal(), 55, 2)); commited.get_NotaFiscalRepository().Delete(notaFiscal.get_Id()); base.SaveLog(registroLogs, commited); commited.Commit(); flag = true; } } catch (Exception exception) { num = base.Registrar(exception, 314, num, notaFiscal, true); continue; } return flag; } return false; }); return flag1; } internal async Task Save(NotaFiscal notaFiscal) { int num = 3; base.Sucesso = true; NotaFiscal notaFiscal1 = notaFiscal; NotaFiscal notaFiscal2 = await Task.Run(() => { NotaFiscal notaFiscal3; bool flag; while (num > 0) { List registroLogs = new List(); notaFiscal = notaFiscal1; try { using (UnitOfWork commited = Instancia.Commited) { flag = (notaFiscal.get_Id() == 0 ? false : true); if (flag) { registroLogs.Add(base.CreateLog(notaFiscal.get_Id(), notaFiscal, 55)); } notaFiscal = (notaFiscal.get_Id() == 0 ? commited.get_NotaFiscalRepository().SaveOrUpdate(notaFiscal) : commited.get_NotaFiscalRepository().Merge(notaFiscal)); if (!flag) { registroLogs.Add(base.CreateLog(notaFiscal.get_Id(), notaFiscal.GetValorOriginal(), 55, 0)); } base.SaveLog(registroLogs, commited); commited.Commit(); notaFiscal3 = notaFiscal; } } catch (Exception exception) { num = base.Registrar(exception, 313, num, notaFiscal, true); continue; } return notaFiscal3; } return notaFiscal1; }); return notaFiscal2; } } }