summaryrefslogtreecommitdiff
path: root/Gestor.Application/Servicos/Ferramentas/ReciboServico.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Gestor.Application/Servicos/Ferramentas/ReciboServico.cs')
-rw-r--r--Gestor.Application/Servicos/Ferramentas/ReciboServico.cs123
1 files changed, 123 insertions, 0 deletions
diff --git a/Gestor.Application/Servicos/Ferramentas/ReciboServico.cs b/Gestor.Application/Servicos/Ferramentas/ReciboServico.cs
new file mode 100644
index 0000000..ceee657
--- /dev/null
+++ b/Gestor.Application/Servicos/Ferramentas/ReciboServico.cs
@@ -0,0 +1,123 @@
+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 ReciboServico : BaseServico
+ {
+ public ReciboServico()
+ {
+ }
+
+ internal async Task<List<Recibo>> BuscarRecibos()
+ {
+ int num = 3;
+ List<Recibo> recibos1 = await Task.Run<List<Recibo>>(() => {
+ List<Recibo> recibos;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ recibos = read.get_ReciboRepository().BuscarRecibos();
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 123, num, null, true);
+ continue;
+ }
+ return recibos;
+ }
+ return new List<Recibo>();
+ });
+ return recibos1;
+ }
+
+ public async Task<bool> Delete(Recibo recibo)
+ {
+ int num = 3;
+ bool flag1 = await Task.Run<bool>(() => {
+ bool flag;
+ while (num > 0)
+ {
+ List<RegistroLog> registroLogs = new List<RegistroLog>();
+ try
+ {
+ using (UnitOfWork commited = Instancia.Commited)
+ {
+ registroLogs.Add(base.CreateLog(recibo.get_Id(), recibo.GetValorOriginal(), 42, 2));
+ commited.get_ReciboRepository().Delete(recibo.get_Id());
+ base.SaveLog(registroLogs, commited);
+ commited.Commit();
+ flag = true;
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 232, num, recibo, true);
+ continue;
+ }
+ return flag;
+ }
+ return false;
+ });
+ return flag1;
+ }
+
+ public async Task<Recibo> Save(Recibo recibo)
+ {
+ int num = 3;
+ base.Sucesso = true;
+ Recibo recibo1 = recibo;
+ Recibo recibo2 = await Task.Run<Recibo>(() => {
+ Recibo recibo3;
+ bool flag;
+ while (num > 0)
+ {
+ List<RegistroLog> registroLogs = new List<RegistroLog>();
+ recibo = recibo1;
+ try
+ {
+ using (UnitOfWork commited = Instancia.Commited)
+ {
+ flag = (recibo.get_Id() == 0 ? false : true);
+ if (flag)
+ {
+ registroLogs.Add(base.CreateLog(recibo.get_Id(), recibo, 42));
+ }
+ recibo = (recibo.get_Id() == 0 ? commited.get_ReciboRepository().SaveOrUpdate(recibo) : commited.get_ReciboRepository().Merge(recibo));
+ if (!flag)
+ {
+ registroLogs.Add(base.CreateLog(recibo.get_Id(), recibo.GetValorOriginal(), 42, 0));
+ }
+ base.SaveLog(registroLogs, commited);
+ commited.Commit();
+ recibo3 = recibo;
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 231, num, recibo, true);
+ continue;
+ }
+ return recibo3;
+ }
+ return recibo1;
+ });
+ return recibo2;
+ }
+ }
+} \ No newline at end of file