diff options
| author | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 13:35:25 +0000 |
|---|---|---|
| committer | Lucas Faria Mendes <lucas.fariamo08@gmail.com> | 2026-03-30 13:35:25 +0000 |
| commit | 674ca83ba9243a9e95a7568c797668dab6aee26a (patch) | |
| tree | 4a905b3fb1d827665a34d63f67bc5559f8e7235b /Gestor.Application/Servicos/ServicoExtrato.cs | |
| download | gestor-674ca83ba9243a9e95a7568c797668dab6aee26a.tar.gz gestor-674ca83ba9243a9e95a7568c797668dab6aee26a.zip | |
feat: upload files
Diffstat (limited to 'Gestor.Application/Servicos/ServicoExtrato.cs')
| -rw-r--r-- | Gestor.Application/Servicos/ServicoExtrato.cs | 335 |
1 files changed, 335 insertions, 0 deletions
diff --git a/Gestor.Application/Servicos/ServicoExtrato.cs b/Gestor.Application/Servicos/ServicoExtrato.cs new file mode 100644 index 0000000..a2742e4 --- /dev/null +++ b/Gestor.Application/Servicos/ServicoExtrato.cs @@ -0,0 +1,335 @@ +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.Common;
+using Gestor.Model.Domain.Common;
+using Gestor.Model.Domain.Generic;
+using Gestor.Model.Domain.Relatorios;
+using Gestor.Model.Domain.Seguros;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Threading.Tasks;
+
+namespace Gestor.Application.Servicos
+{
+ internal class ServicoExtrato : BaseServico
+ {
+ public ServicoExtrato()
+ {
+ }
+
+ internal async Task<ObservableCollection<DetalheExtrato>> BuscarDetalhes(long id)
+ {
+ int num = 3;
+ ObservableCollection<DetalheExtrato> observableCollection1 = await Task.Run<ObservableCollection<DetalheExtrato>>(() => {
+ ObservableCollection<DetalheExtrato> observableCollection;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ List<DetalheExtrato> detalheExtratos = read.get_DetalheExtratoRepository().Find(id);
+ Func<DetalheExtrato, string> u003cu003e9_01 = ServicoExtrato.u003cu003ec.u003cu003e9__0_1;
+ if (u003cu003e9_01 == null)
+ {
+ u003cu003e9_01 = (DetalheExtrato x) => x.get_Cliente();
+ ServicoExtrato.u003cu003ec.u003cu003e9__0_1 = u003cu003e9_01;
+ }
+ IOrderedEnumerable<DetalheExtrato> detalheExtratos1 = detalheExtratos.OrderBy<DetalheExtrato, string>(u003cu003e9_01);
+ Func<DetalheExtrato, string> u003cu003e9_02 = ServicoExtrato.u003cu003ec.u003cu003e9__0_2;
+ if (u003cu003e9_02 == null)
+ {
+ u003cu003e9_02 = (DetalheExtrato x) => x.get_Apolice();
+ ServicoExtrato.u003cu003ec.u003cu003e9__0_2 = u003cu003e9_02;
+ }
+ IOrderedEnumerable<DetalheExtrato> detalheExtratos2 = detalheExtratos1.ThenBy<DetalheExtrato, string>(u003cu003e9_02);
+ Func<DetalheExtrato, string> u003cu003e9_03 = ServicoExtrato.u003cu003ec.u003cu003e9__0_3;
+ if (u003cu003e9_03 == null)
+ {
+ u003cu003e9_03 = (DetalheExtrato x) => x.get_Endosso();
+ ServicoExtrato.u003cu003ec.u003cu003e9__0_3 = u003cu003e9_03;
+ }
+ IOrderedEnumerable<DetalheExtrato> detalheExtratos3 = detalheExtratos2.ThenBy<DetalheExtrato, string>(u003cu003e9_03);
+ Func<DetalheExtrato, string> u003cu003e9_04 = ServicoExtrato.u003cu003ec.u003cu003e9__0_4;
+ if (u003cu003e9_04 == null)
+ {
+ u003cu003e9_04 = (DetalheExtrato x) => x.get_NumeroParcela();
+ ServicoExtrato.u003cu003ec.u003cu003e9__0_4 = u003cu003e9_04;
+ }
+ observableCollection = new ObservableCollection<DetalheExtrato>(detalheExtratos3.ThenBy<DetalheExtrato, string>(u003cu003e9_04));
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 91, num, id, true);
+ continue;
+ }
+ return observableCollection;
+ }
+ return new ObservableCollection<DetalheExtrato>();
+ });
+ return observableCollection1;
+ }
+
+ public async Task<List<Extrato>> BuscarExtrato(long id, long idusuario, StatusExtrato status, DateTime inicio, DateTime fim)
+ {
+ int num = 3;
+ List<Extrato> extratos2 = await Task.Run<List<Extrato>>(() => {
+ List<Extrato> list;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ List<Extrato> extratos = read.get_ExtratoRepository().FindBySeguradora(id, idusuario, Recursos.Empresa.get_Id(), inicio, fim, new StatusExtrato?(status));
+ Func<Extrato, string> u003cu003e9_21 = ServicoExtrato.u003cu003ec.u003cu003e9__2_1;
+ if (u003cu003e9_21 == null)
+ {
+ u003cu003e9_21 = (Extrato x) => x.get_Numero();
+ ServicoExtrato.u003cu003ec.u003cu003e9__2_1 = u003cu003e9_21;
+ }
+ IOrderedEnumerable<Extrato> extratos1 = extratos.OrderBy<Extrato, string>(u003cu003e9_21);
+ Func<Extrato, DateTime?> u003cu003e9_22 = ServicoExtrato.u003cu003ec.u003cu003e9__2_2;
+ if (u003cu003e9_22 == null)
+ {
+ u003cu003e9_22 = (Extrato x) => x.get_Data();
+ ServicoExtrato.u003cu003ec.u003cu003e9__2_2 = u003cu003e9_22;
+ }
+ list = extratos1.ThenByDescending<Extrato, DateTime?>(u003cu003e9_22).ToList<Extrato>();
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 92, num, new { id = id, status = status, inicio = inicio, fim = fim }, true);
+ continue;
+ }
+ return list;
+ }
+ return new List<Extrato>();
+ });
+ return extratos2;
+ }
+
+ public async Task<List<Extrato>> BuscarExtratoPorData(Filtros filtros)
+ {
+ int num = 3;
+ List<Extrato> extratos1 = await Task.Run<List<Extrato>>(() => {
+ List<Extrato> list;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ List<Extrato> extratos = read.get_ExtratoRepository().FindByData(filtros);
+ Func<Extrato, DateTime?> u003cu003e9_31 = ServicoExtrato.u003cu003ec.u003cu003e9__3_1;
+ if (u003cu003e9_31 == null)
+ {
+ u003cu003e9_31 = (Extrato x) => x.get_Data();
+ ServicoExtrato.u003cu003ec.u003cu003e9__3_1 = u003cu003e9_31;
+ }
+ list = extratos.OrderBy<Extrato, DateTime?>(u003cu003e9_31).ToList<Extrato>();
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 93, num, filtros, true);
+ continue;
+ }
+ return list;
+ }
+ return new List<Extrato>();
+ });
+ return extratos1;
+ }
+
+ internal async Task<string> BuscarNumExtrato(long? id)
+ {
+ string str1;
+ if (id.HasValue)
+ {
+ long? nullable = id;
+ long num = (long)0;
+ if (!(nullable.GetValueOrDefault() <= num & nullable.HasValue))
+ {
+ string str2 = "";
+ int num1 = 3;
+ str1 = await Task.Run<string>(() => {
+ string str;
+ while (num1 > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ DetalheExtrato detalheExtrato = read.get_DetalheExtratoRepository().FindByLongId(id).FirstOrDefault<DetalheExtrato>();
+ str2 = (detalheExtrato == null || detalheExtrato.get_Id() <= (long)0 ? "" : detalheExtrato.get_Extrato().get_Numero());
+ str = str2;
+ }
+ }
+ catch (Exception exception)
+ {
+ num1 = base.Registrar(exception, 91, num1, id, true);
+ continue;
+ }
+ return str;
+ }
+ return "";
+ });
+ return str1;
+ }
+ }
+ str1 = "";
+ return str1;
+ }
+
+ public async Task<bool> Delete(Extrato extrato)
+ {
+ int num = 3;
+ bool flag1 = await Task.Run<bool>(() => {
+ bool flag;
+ while (num > 0)
+ {
+ try
+ {
+ List<RegistroLog> registroLogs = new List<RegistroLog>();
+ using (UnitOfWork commited = Instancia.Commited)
+ {
+ commited.get_ExtratoRepository().Delete(extrato.get_Id());
+ registroLogs.Add(base.CreateLog(extrato.get_Id(), extrato.GetValorOriginal(), 1, 2));
+ base.SaveLog(registroLogs, commited);
+ commited.Commit();
+ flag = true;
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 264, num, extrato, true);
+ continue;
+ }
+ return flag;
+ }
+ return false;
+ });
+ return flag1;
+ }
+
+ public async Task<DetalheExtrato> FindByParcelaId(long id)
+ {
+ int num = 3;
+ DetalheExtrato detalheExtrato1 = await Task.Run<DetalheExtrato>(() => {
+ DetalheExtrato detalheExtrato;
+ while (num > 0)
+ {
+ try
+ {
+ using (UnitOfWork read = Instancia.Read)
+ {
+ detalheExtrato = read.get_DetalheExtratoRepository().FindByParcelaId(id);
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 74, num, id, true);
+ continue;
+ }
+ return detalheExtrato;
+ }
+ return new DetalheExtrato();
+ });
+ return detalheExtrato1;
+ }
+
+ public async Task<DetalheExtrato> Save(DetalheExtrato detalhe)
+ {
+ int num = 3;
+ base.Sucesso = true;
+ DetalheExtrato detalheExtrato1 = detalhe;
+ DetalheExtrato detalheExtrato2 = await Task.Run<DetalheExtrato>(() => {
+ DetalheExtrato detalheExtrato;
+ while (num > 0)
+ {
+ detalhe = detalheExtrato1;
+ try
+ {
+ List<RegistroLog> registroLogs = new List<RegistroLog>();
+ using (UnitOfWork commited = Instancia.Commited)
+ {
+ TipoAcao tipoAcao = (detalhe.get_Id() == 0 ? 0 : 1);
+ commited.get_DetalheExtratoRepository().Merge(detalhe);
+ if (tipoAcao != 1)
+ {
+ registroLogs.Add(base.CreateLog(detalhe.get_Id(), detalhe.Compare(detalheExtrato1.GetValorOriginal()), 23, tipoAcao));
+ }
+ else
+ {
+ registroLogs.Add(base.CreateLog(detalhe.get_Id(), detalhe.GetValorOriginal(), 23, tipoAcao));
+ }
+ base.SaveLog(registroLogs, commited);
+ commited.Commit();
+ detalheExtrato = detalhe;
+ }
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 262, num, detalhe, true);
+ continue;
+ }
+ return detalheExtrato;
+ }
+ return detalheExtrato1;
+ });
+ return detalheExtrato2;
+ }
+
+ public async Task<Extrato> Save(Extrato extrato)
+ {
+ int num = 3;
+ base.Sucesso = true;
+ Extrato extrato1 = extrato;
+ Extrato extrato2 = await Task.Run<Extrato>(() => {
+ Extrato extrato3;
+ while (num > 0)
+ {
+ extrato = extrato1;
+ try
+ {
+ List<RegistroLog> registroLogs = new List<RegistroLog>();
+ using (UnitOfWork commited = Instancia.Commited)
+ {
+ TipoAcao tipoAcao = (extrato.get_Id() == 0 ? 0 : 1);
+ commited.get_ExtratoRepository().Merge(extrato);
+ if (tipoAcao != 1)
+ {
+ registroLogs.Add(base.CreateLog(extrato.get_Id(), extrato.Compare(extrato1.GetValorOriginal()), 23, tipoAcao));
+ }
+ else
+ {
+ registroLogs.Add(base.CreateLog(extrato.get_Id(), extrato.GetValorOriginal(), 23, tipoAcao));
+ }
+ base.SaveLog(registroLogs, commited);
+ commited.Commit();
+ }
+ extrato3 = extrato;
+ }
+ catch (Exception exception)
+ {
+ num = base.Registrar(exception, 263, num, extrato, true);
+ continue;
+ }
+ return extrato3;
+ }
+ return extrato1;
+ });
+ return extrato2;
+ }
+ }
+}
\ No newline at end of file |