diff options
Diffstat (limited to 'Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/ControleSinistroRepository.cs')
| -rw-r--r-- | Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/ControleSinistroRepository.cs | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/ControleSinistroRepository.cs b/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/ControleSinistroRepository.cs deleted file mode 100644 index 5d23145..0000000 --- a/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/ControleSinistroRepository.cs +++ /dev/null @@ -1,161 +0,0 @@ -using AutoMapper;
-using Gestor.Infrastructure.Entities.Generic;
-using Gestor.Infrastructure.Entities.Seguros;
-using Gestor.Infrastructure.Helpers;
-using Gestor.Infrastructure.Mappers;
-using Gestor.Infrastructure.Repository.Generic;
-using Gestor.Infrastructure.Repository.Interface;
-using Gestor.Infrastructure.UnitOfWork.Generic;
-using Gestor.Model.Common;
-using Gestor.Model.Domain.Generic;
-using Gestor.Model.Domain.Seguros;
-using NHibernate;
-using NHibernate.Connection;
-using NHibernate.Impl;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Data.SqlClient;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Runtime.CompilerServices;
-
-namespace Gestor.Infrastructure.Repository.Logic
-{
- public class ControleSinistroRepository : GenericRepository<ControleSinistroDb>, IControleSinistroRepository, IGenericRepository<ControleSinistroDb>
- {
- private readonly GenericUnitOfWork _unitOfWork;
-
- public ControleSinistroRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session)
- {
- this._unitOfWork = unitOfWork;
- }
-
- public void Delete(long id)
- {
- ControleSinistroDb controleSinistroDb = base.FindEntityById(id);
- if (controleSinistroDb == null)
- {
- return;
- }
- base.Delete(controleSinistroDb);
- }
-
- public void DeleteByItem(long id)
- {
- object connection;
- List<SinistroDb> list = (
- from s in this._unitOfWork.Query<SinistroDb>()
- where s.ControleSinistro.Item.Id == id
- select s).ToList<SinistroDb>();
- SessionFactoryImpl sessionFactory = this._unitOfWork.Session.SessionFactory as SessionFactoryImpl;
- if (sessionFactory != null)
- {
- connection = sessionFactory.ConnectionProvider.GetConnection();
- }
- else
- {
- connection = null;
- }
- using (SqlConnection sqlConnection = connection as SqlConnection)
- {
- using (SqlCommand sqlCommand = sqlConnection.CreateCommand())
- {
- sqlCommand.CommandText = string.Format("DELETE FROM controlesinistro WHERE iditem = {0}", id);
- sqlCommand.ExecuteNonQuery();
- list.ForEach((SinistroDb x) => {
- sqlCommand.CommandText = string.Format("DELETE FROM sinistro WHERE idsinistro = {0}", x.Id);
- sqlCommand.ExecuteNonQuery();
- sqlCommand.CommandText = string.Format("DELETE FROM sinistroauto WHERE idsinistro = {0}", x.Id);
- sqlCommand.ExecuteNonQuery();
- sqlCommand.CommandText = string.Format("DELETE FROM sinistrovida WHERE idsinistro = {0}", x.Id);
- sqlCommand.ExecuteNonQuery();
- });
- }
- }
- }
-
- public void DeleteRange(List<long> ids)
- {
- List<ControleSinistroDb> list = (
- from x in base.All()
- where ids.Contains(x.Item.Id)
- select x).ToList<ControleSinistroDb>();
- if (list == null || list.Count == 0)
- {
- return;
- }
- base.DeleteRange(list);
- }
-
- public bool DocumentoHasSinistro(long id)
- {
- return base.All().Any<ControleSinistroDb>((ControleSinistroDb x) => x.Item.Documento.Id == id);
- }
-
- public ControleSinistro FindById(long id)
- {
- ControleSinistroDb controleSinistroDb = base.FindEntityById(id);
- return ApplicationMapper.Mapper.Map<ControleSinistroDb, ControleSinistro>(controleSinistroDb);
- }
-
- public List<ControleSinistro> FindByIdItem(long id)
- {
- List<ControleSinistro> list = (
- from c in base.All()
- where c.Item.Id == id
- select c into x
- select new ControleSinistro()
- {
- Id = x.Id,
- DataSinistro = x.DataSinistro,
- Item = ApplicationMapper.Mapper.Map<ItemDb, Item>(x.Item)
- }).ToList<ControleSinistro>();
- list.ForEach((ControleSinistro x) => x.Sinistros = (new SinistroRepository(this._unitOfWork)).FindByControleId(x.Id));
- return list;
- }
-
- public List<long> HasSinistro(List<long> ids)
- {
- List<long> nums = new List<long>();
- while (ids.Count > 0)
- {
- List<long> list = ids.Take<long>(1000).ToList<long>();
- List<Condicao> condicaos = new List<Condicao>()
- {
- new Condicao()
- {
- Campo = "d.idcontrole",
- Valores = list.CriarValor<long>()
- }
- };
- DataTable dataTable = this._unitOfWork.Select(condicaos.CreateParameters(0), "SELECT DISTINCT d.idcontrole as id FROM controlesinistro c CROSS APPLY (select idcontrole FROM item i INNER JOIN documento d on d.iddocumento = i.iddocumento WHERE i.iditem = c.iditem) d WHERE ", "");
- if (dataTable != null && dataTable.Rows.Count > 0)
- {
- nums.AddRange(dataTable.AsEnumerable().Select<DataRow, long>((DataRow x) => x.Field<long>("id")).ToList<long>());
- }
- ids = (list.Count < 1000 ? new List<long>() : ids.Except<long>(list).ToList<long>());
- }
- return nums;
- }
-
- public bool HasSinistro(long id)
- {
- return base.All().Any<ControleSinistroDb>((ControleSinistroDb x) => x.Item.Documento.Controle.Id == id);
- }
-
- public ControleSinistro Merge(ControleSinistro controleSinistro)
- {
- ControleSinistroDb controleSinistroDb = ApplicationMapper.Mapper.Map<ControleSinistro, ControleSinistroDb>(controleSinistro);
- base.Merge(controleSinistroDb);
- return ApplicationMapper.Mapper.Map<ControleSinistroDb, ControleSinistro>(controleSinistroDb);
- }
-
- public ControleSinistro SaveOrUpdate(ControleSinistro controleSinistro)
- {
- ControleSinistroDb controleSinistroDb = ApplicationMapper.Mapper.Map<ControleSinistro, ControleSinistroDb>(controleSinistro);
- this.SaveOrUpdate(controleSinistroDb);
- return ApplicationMapper.Mapper.Map<ControleSinistroDb, ControleSinistro>(controleSinistroDb);
- }
- }
-}
\ No newline at end of file |