Exferia/Exferia_Expedientes/Exferia_Expedientes/1_Datos/EPD_Demandados_Datos.cs

863 lines
43 KiB
C#

using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Herencia.Capas;
using Exferia_EntityFramework;
using Exferia_Expedientes._0_Modelos;
using Exferia_General;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Threading;
using static Exferia_Aplicacion.General.Enumerados;
namespace Exferia_Expedientes._1_Datos
{
public class EPD_Demandados_Datos : ABS_Datos
{
#region Listado
private List<INTERNO_EPD_Demandados_Listado_Modelo> g_lst_INTERNO_EPD_Demandados_Listado_Modelo = null;
public override List<dynamic> Obtener_Listado(long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<string> _lst_CamposConRelacionABuscar, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
Exferia_Entities obj_Exferia_Entities = null;
List<dynamic> lst_MAE = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
// Consulta .....................................................
ConsultaRellenar_Listado(obj_Exferia_Entities, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(EPD_Demandados).Name), _lst_CamposConRelacionABuscar, -1, null, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_EPD_Demandados_Listado_Modelo != null) && (g_lst_INTERNO_EPD_Demandados_Listado_Modelo.Count() > 0))
{
lst_MAE = g_lst_INTERNO_EPD_Demandados_Listado_Modelo.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Obtener_Listado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lst_MAE;
}
public override dynamic Obtener_RegistroListado(long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<string> _lst_CamposConRelacionABuscar, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo, long _lng_id, List<long> _lst_ids)
{
Exferia_Entities obj_Exferia_Entities = null;
dynamic dnm_MAE = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
// Consulta .....................................................
ConsultaRellenar_Listado(obj_Exferia_Entities, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(EPD_Demandados).Name), _lst_CamposConRelacionABuscar, _lng_id, _lst_ids, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_EPD_Demandados_Listado_Modelo != null) && (g_lst_INTERNO_EPD_Demandados_Listado_Modelo.Count() > 0))
{
dnm_MAE = g_lst_INTERNO_EPD_Demandados_Listado_Modelo.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Obtener_RegistroListado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return dnm_MAE;
}
protected override void ConsultaRellenar_Listado(Exferia_Entities _obj_Exferia_Entities, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<long> _lst_idEmpresasRelacionadas, List<string> _lst_CamposConRelacionABuscar, long _lng_id, List<long> _lst_ids, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
try
{
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
string str_Filtros_Empresas = Funciones.Formar_ContenidoIN_ParaConsultaWhere(_lst_idEmpresasRelacionadas);
//Array de Ids para actualizar
string str_Filtros_IDS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(_lst_ids);
//Filtros de Opciones
//Datos del Padre si los tuviera .........................
long lng_Padre_id = -1;
string str_Padre_Opcion = "";
if (_lst_INTERNO_Filtro_OpcionPadre_Modelo != null && _lst_INTERNO_Filtro_OpcionPadre_Modelo.Count > 0)
{
lng_Padre_id = _lst_INTERNO_Filtro_OpcionPadre_Modelo[0].VALOR;
str_Padre_Opcion = _lst_INTERNO_Filtro_OpcionPadre_Modelo[0].NOMBRE_CAMPO;
}
string str_SQL =
" SELECT " +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.id) + " = " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.id) + "," +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.codigo) + " = " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.codigo) + "," +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.nombre) + " = " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.nombre) + "," +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.cifnif) + " = " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.cifnif) + "," +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.cifTipo) + " = " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.cifTipo) + "," +
//ids
nameof(INTERNO_EPD_Demandados_Listado_Modelo.idEmpresa) + " = " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) +
" FROM " + nameof(EPD_Demandados) +
" WHERE " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.fechaBorrado) + " IS null AND " +
" ( " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + "=@idEmpresa " +
(
(_lst_idEmpresasRelacionadas != null && _lst_idEmpresasRelacionadas.Count > 0)
? (" OR " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + " in (" + str_Filtros_Empresas + ") ")
: " "
) +
" ) AND " +
(
(str_Filtros_IDS.Trim().Length > 0)
? (nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.id) + " in (" + str_Filtros_IDS + ") AND ")
: (
(_lng_id > -1)
?
(nameof(EPD_Demandados) + "." + (nameof(EPD_Demandados.id) + "=@id AND "))
: ("1 = 1 AND "))
) +
//Filtro por datos del padre relacionado
(
!str_Padre_Opcion.Equals("")
//Empresa
? str_Padre_Opcion.Equals(Variables.G_STR_OPCION_GEN_EMPRESA)
? (nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + "=@id_Padre")
: ("1 = 1")
: ("1 = 1")
);
//Parametros
lst_Parametros.Add(new SqlParameter("@idEmpresa", _lng_idEmpresaSeleccionada));
lst_Parametros.Add(new SqlParameter("@id", _lng_id));
lst_Parametros.Add(new SqlParameter("@id_Padre", lng_Padre_id));
object[] arr_Parametros = lst_Parametros.ToArray();
//Rellenar el Modelo
g_lst_INTERNO_EPD_Demandados_Listado_Modelo = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_EPD_Demandados_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(ConsultaRellenar_Listado), true);
}
}
#endregion
#region Listado Secundario
public override List<dynamic> Obtener_Listado_Secundario(long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<string> _lst_CamposConRelacionABuscar, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
return null;
}
public override dynamic Obtener_RegistroListado_Secundario(long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<string> _lst_CamposConRelacionABuscar, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo, long _lng_id, List<long> _lst_ids)
{
return null;
}
protected override void ConsultaRellenar_Listado_Secundario(Exferia_Entities _obj_Exferia_Entities, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<long> _lst_idEmpresasRelacionadas, List<string> _lst_CamposConRelacionABuscar, long _lng_id, List<long> _lst_ids, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{ }
#endregion
#region F3
private INTERNO_EPD_Demandados_Listado_Modelo g_mdl_INTERNO_EPD_Demandados_Listado_Modelo = null;
public override dynamic Obtener_F3(string _str_filtro, string _str_CampoBusqueda, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
Exferia_Entities obj_Exferia_Entities = null;
dynamic dnm_MAE = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
//Consulta ......................................................
ConsultaRellenar_F3(obj_Exferia_Entities, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(EPD_Demandados).Name), _str_CampoBusqueda, _str_filtro, -1, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if (g_mdl_INTERNO_EPD_Demandados_Listado_Modelo != null)
{
dnm_MAE = g_mdl_INTERNO_EPD_Demandados_Listado_Modelo;
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Obtener_F3), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return dnm_MAE;
}
public override dynamic Obtener_F3_PorId(long _lng_id, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
Exferia_Entities obj_Exferia_Entities = null;
dynamic dnm_MAE = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
//Consulta ......................................................
ConsultaRellenar_F3(obj_Exferia_Entities, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(EPD_Demandados).Name), "", "", _lng_id, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if (g_mdl_INTERNO_EPD_Demandados_Listado_Modelo != null)
{
dnm_MAE = g_mdl_INTERNO_EPD_Demandados_Listado_Modelo;
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Obtener_F3_PorId), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return dnm_MAE;
}
protected override void ConsultaRellenar_F3(Exferia_Entities _obj_Exferia_Entities, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<long> _lst_idEmpresasRelacionas, string _str_CampoBusqueda, string _str_Filtro, long _lng_id, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
try
{
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
string str_Filtros_Empresas = Funciones.Formar_ContenidoIN_ParaConsultaWhere(_lst_idEmpresasRelacionas);
//Filtros de Opciones
//Datos del Padre si los tuviera .........................
long lng_Padre_id = -1;
string str_Padre_Opcion = "";
if (_lst_INTERNO_Filtro_OpcionPadre_Modelo != null && _lst_INTERNO_Filtro_OpcionPadre_Modelo.Count > 0)
{
lng_Padre_id = _lst_INTERNO_Filtro_OpcionPadre_Modelo[0].VALOR;
str_Padre_Opcion = _lst_INTERNO_Filtro_OpcionPadre_Modelo[0].NOMBRE_CAMPO;
}
string str_SQL =
" SELECT distinct " +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.id) + " = " + nameof(EPD_Demandados.id) + "," +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.codigo) + " = " + nameof(EPD_Demandados.codigo) + "," +
nameof(INTERNO_EPD_Demandados_Listado_Modelo.nombre) + " = " + nameof(EPD_Demandados.nombre) +
" FROM " + nameof(EPD_Demandados) +
" WHERE " + nameof(EPD_Demandados.fechaBorrado) + " IS null AND " +
" ( " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + "=@idEmpresa " +
(
(_lst_idEmpresasRelacionas != null && _lst_idEmpresasRelacionas.Count > 0)
? (" OR " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + " in (" + str_Filtros_Empresas + ") ")
: " "
) +
" ) AND " +
(
(_lng_id > -1)
? (nameof(EPD_Demandados.id) + " = " + _lng_id)
: (
//Filtrar por Codigo
(_str_CampoBusqueda.Equals(nameof(EPD_Demandados.codigo)))
? (nameof(EPD_Demandados.codigo) + "=@Filtro")
//Filtrar por Nombre
: (nameof(EPD_Demandados.nombre) + "=@Filtro")
)
)
+ " AND " +
//Filtro por datos del padre relacionado
(
!str_Padre_Opcion.Equals("")
//Empresa
? str_Padre_Opcion.Equals(Variables.G_STR_OPCION_GEN_EMPRESA)
? (nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + "=@id_Padre")
: ("1 = 1")
: ("1 = 1")
);
//Parametros
lst_Parametros.Add(new SqlParameter("@idEmpresa", _lng_idEmpresaSeleccionada));
lst_Parametros.Add(new SqlParameter("@Filtro", _str_Filtro));
lst_Parametros.Add(new SqlParameter("@id_Padre", lng_Padre_id));
object[] arr_Parametros = lst_Parametros.ToArray();
//Rellenar el Modelo
g_mdl_INTERNO_EPD_Demandados_Listado_Modelo = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_EPD_Demandados_Listado_Modelo>(str_SQL, arr_Parametros).FirstOrDefault();
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(ConsultaRellenar_F3), true);
}
}
#endregion
#region Obtener
#region Obtener Simple
private dynamic g_dnm_Modelo_Obtener = null;
private static int g_int_TotalHilos_Obtener = 3;
private bool[] g_bol_Hilos_Terminados_Obtener = new bool[g_int_TotalHilos_Obtener];
public override dynamic Obtener(long _lng_id)
{
Exferia_Entities obj_Exferia_Entities = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_SQL =
" SELECT " +
nameof(INTERNO_EPD_Demandados_Modelo.id) + "=" + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.id) + " , " +
nameof(INTERNO_EPD_Demandados_Modelo.codigo) + "=" + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.codigo) + " , " +
nameof(INTERNO_EPD_Demandados_Modelo.nombre) + "=" + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.nombre) + " , " +
nameof(INTERNO_EPD_Demandados_Modelo.observaciones) + "=" + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.observaciones) + " , " +
nameof(INTERNO_EPD_Demandados_Modelo.cifnif) + "=" + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.cifnif) + " , " +
nameof(INTERNO_EPD_Demandados_Modelo.idEmpresa) + "=" + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + " , " +
nameof(INTERNO_EPD_Demandados_Modelo.fechaBorrado) + "=" + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.fechaBorrado) + " , " +
nameof(INTERNO_EPD_Demandados_Modelo.cifTipo) + " = " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.cifTipo) +
" FROM " + nameof(EPD_Demandados) +
" WHERE " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.fechaBorrado) + " IS null AND " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.id) + "=@id ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@id", _lng_id)
};
//Rellenar el Modelo
g_dnm_Modelo_Obtener = obj_Exferia_Entities.Database.SqlQuery<INTERNO_EPD_Demandados_Modelo>(str_SQL, arr_Parametros).FirstOrDefault();
#region Rellenar tablas Relacionadas
if (g_dnm_Modelo_Obtener != null)
{
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_Obtener; int_Contador++)
{
g_bol_Hilos_Terminados_Obtener[int_Contador] = false;
}
//EPD_Expedientes ##########################################################################################
ThreadStart obj_ThreadStart_EXPEDIENTES = new ThreadStart(Obtener_Expedientes_Modelo_Obtener);
Thread obj_Thread_EXPEDIENTES = new Thread(obj_ThreadStart_EXPEDIENTES);
obj_Thread_EXPEDIENTES.Start();
//EPD_Citaciones ##########################################################################################
ThreadStart obj_ThreadStart_CITACIONES = new ThreadStart(Obtener_Citaciones_Modelo_Obtener);
Thread obj_Thread_CITACIONES = new Thread(obj_ThreadStart_CITACIONES);
obj_Thread_CITACIONES.Start();
//EPD_Procedimientos ##########################################################################################
ThreadStart obj_ThreadStart_PROCEDIMIENTOS = new ThreadStart(Obtener_Procedimientos_Modelo_Obtener);
Thread obj_Thread_PROCEDIMIENTOS = new Thread(obj_ThreadStart_PROCEDIMIENTOS);
obj_Thread_PROCEDIMIENTOS.Start();
//Esperando a que terminen todos los hilos .........................................
bool bol_Termino = false;
while (bol_Termino == false)
{
bol_Termino = true;
foreach (bool bol_Termino_Hilo in g_bol_Hilos_Terminados_Obtener)
{
if (bol_Termino_Hilo == false)
{
bol_Termino = false;
break;
}
}
Thread.Sleep(10);
}
//.................................................................................
}
#endregion
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Obtener), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return g_dnm_Modelo_Obtener;
}
#region Tablas Relacionadas
private void Obtener_Expedientes_Modelo_Obtener()
{
try
{
EPD_Expedientes_Datos obj_EPD_Expedientes_Datos = new EPD_Expedientes_Datos();
g_dnm_Modelo_Obtener.Expedientes = obj_EPD_Expedientes_Datos.Obtener_Registros_Para_Listado_Por_Demandado(g_dnm_Modelo_Obtener.id);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[0] = true;
}
}
private void Obtener_Citaciones_Modelo_Obtener()
{
try
{
EPD_Citaciones_Datos obj_EPD_Citaciones_Datos = new EPD_Citaciones_Datos();
g_dnm_Modelo_Obtener.Citaciones = obj_EPD_Citaciones_Datos.Obtener_Registros_Para_Listado_Por_Demandado(g_dnm_Modelo_Obtener.id);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[1] = true;
}
}
private void Obtener_Procedimientos_Modelo_Obtener()
{
try
{
EPD_Procedimientos_Datos obj_EPD_Procedimientos_Datos = new EPD_Procedimientos_Datos();
g_dnm_Modelo_Obtener.Procedimientos = obj_EPD_Procedimientos_Datos.Obtener_Registros_Para_Listado_Por_Demandado(g_dnm_Modelo_Obtener.id);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[2] = true;
}
}
#endregion
#endregion
public override dynamic Obtener_Registro_PorCampo(string _str_Filtro, string _str_CampoBusqueda, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual)
{
throw new NotImplementedException();
}
#endregion
#region MODELOS
#region Modelo Simple
private EPD_Demandados g_mdl_EPD_Demandados = null;
public EPD_Demandados Obtener_Modelo_Por_Id(long _lng_id)
{
try
{
string str_SQL = Obtener_Consulta_Modelo() +
//WHERE
" WHERE " + nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.id) + "=@id";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@id", _lng_id)
};
//Ejecutar y rellenar el modelo
Ejecutar_Consulta_Modelo(str_SQL,
arr_Parametros);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Obtener_Modelo_Por_Id), true);
}
return g_mdl_EPD_Demandados;
}
#region Ejecutar Consulta
private void Ejecutar_Consulta_Modelo(string _str_SQL,
object[] _arr_Parametros)
{
Exferia_Entities obj_Exferia_Entities = null;
try
{
//Conexion
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
//Rellenar el Modelo
g_mdl_EPD_Demandados = obj_Exferia_Entities.Database.SqlQuery<EPD_Demandados>(_str_SQL, _arr_Parametros).FirstOrDefault();
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados) + "/" + nameof(Ejecutar_Consulta_Modelo), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
}
#endregion
#endregion
#region Modelo Listado
private List<EPD_Demandados> g_lst_EPD_Demandados = null;
public List<EPD_Demandados> Obtener_ModeloListado_Por_Ids(List<long> _lst_Ids)
{
try
{
if (_lst_Ids != null && _lst_Ids.Count > 0)
{
string str_Filtro_IDS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(EPD_Demandados),
nameof(EPD_Demandados.id),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.NADA,
_lst_Ids);
//Consulta
string str_SQL = Obtener_Consulta_Modelo() +
" WHERE " +
str_Filtro_IDS;
//Ejecutar y rellenar el listado
Ejecutar_Consulta_Modelo_Listado(str_SQL,
new object[] { });
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Obtener_ModeloListado_Por_Ids), true);
}
return g_lst_EPD_Demandados;
}
#region Ejecutar Consulta
private void Ejecutar_Consulta_Modelo_Listado(string _str_SQL,
object[] _arr_Parametros)
{
Exferia_Entities obj_Exferia_Entities = null;
try
{
//Conexion
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
//Rellenar el modelo
g_lst_EPD_Demandados = obj_Exferia_Entities.Database.SqlQuery<EPD_Demandados>(_str_SQL, _arr_Parametros).ToList();
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Ejecutar_Consulta_Modelo_Listado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
}
#endregion
#endregion
private string Obtener_Consulta_Modelo()
{
return
" SELECT " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.id) + " , " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.codigo) + " , " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.nombre) + " , " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.observaciones) + " , " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.cifnif) + " , " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.idEmpresa) + " , " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.fechaBorrado) + " , " +
nameof(EPD_Demandados) + "." + nameof(EPD_Demandados.cifTipo) +
" FROM " + nameof(EPD_Demandados);
}
#endregion
#region Grabar
public override INTERNO_ValorDevuelto_Modelo Grabar(object _mdl_obj)
{
Exferia_Entities obj_Exferia_Entities = null;
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = true;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
EPD_Demandados mdl_EPD_Demandados_AGrabar = (EPD_Demandados)_mdl_obj;
EPD_Demandados mdl_EPD_Demandados_DatosViejos = new EPD_Demandados();
// Ver si existe ######################################################################
EPD_Demandados mdl_EPD_Demandados_Final = Obtener_Modelo_Por_Id(mdl_EPD_Demandados_AGrabar.id);
//######################################################################################
//UPDATE
if (mdl_EPD_Demandados_Final != null)
{
//Tipo de Accion que se va a realizar
mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion = G_ENUM_TIPOACCION.INT_MODIFICAR;
//Datos viejos para la trazabilidad
Funciones.CopiarPropiedadesObjetos(mdl_EPD_Demandados_Final, mdl_EPD_Demandados_DatosViejos, false, false);
// Cargar los Datos Nuevos del Modelo
Funciones.CopiarPropiedadesObjetos(mdl_EPD_Demandados_AGrabar, mdl_EPD_Demandados_Final, false, false);
#region UPDATE
string str_SQL_Update = " UPDATE " + nameof(EPD_Demandados) +
" SET " +
nameof(EPD_Demandados.codigo) + "=@codigo," +
nameof(EPD_Demandados.nombre) + "=@nombre," +
nameof(EPD_Demandados.observaciones) + "=@observaciones," +
nameof(EPD_Demandados.cifnif) + "=@cifnif," +
nameof(EPD_Demandados.idEmpresa) + "=@idEmpresa," +
nameof(EPD_Demandados.fechaBorrado) + "=@fechaBorrado," +
nameof(EPD_Demandados.cifTipo) + "=@cifTipo" +
" WHERE " +
nameof(EPD_Demandados.id) + "=@id";
//Parametros
object[] arr_Parametros_Update = new object[]
{
new SqlParameter("@codigo", mdl_EPD_Demandados_AGrabar.codigo),
new SqlParameter("@nombre", mdl_EPD_Demandados_AGrabar.nombre),
mdl_EPD_Demandados_AGrabar.observaciones!=null
? new SqlParameter("@observaciones", mdl_EPD_Demandados_AGrabar.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
mdl_EPD_Demandados_AGrabar.cifnif!=null
? new SqlParameter("@cifnif", mdl_EPD_Demandados_AGrabar.cifnif)
: new SqlParameter("@cifnif", DBNull.Value),
new SqlParameter("@idEmpresa", mdl_EPD_Demandados_AGrabar.idEmpresa),
mdl_EPD_Demandados_AGrabar.fechaBorrado!=null
? new SqlParameter("@fechaBorrado", mdl_EPD_Demandados_AGrabar.fechaBorrado.Value)
: new SqlParameter("@fechaBorrado", DBNull.Value),
mdl_EPD_Demandados_AGrabar.cifTipo!=null
? new SqlParameter("@cifTipo", mdl_EPD_Demandados_AGrabar.cifTipo)
: new SqlParameter("@cifTipo", DBNull.Value),
new SqlParameter("@id", mdl_EPD_Demandados_AGrabar.id)
};
#endregion
//Update
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update, arr_Parametros_Update);
//Id de la tabla
mdl_INTERNO_ValorDevuelto_Modelo.Id = mdl_EPD_Demandados_AGrabar.id;
}
//INSERT
else
{
mdl_EPD_Demandados_Final = new EPD_Demandados();
//Tipo de Accion que se va a realizar
mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion = G_ENUM_TIPOACCION.INT_INSERTAR;
// Cargar los Datos del Modelo
Funciones.CopiarPropiedadesObjetos(mdl_EPD_Demandados_AGrabar, mdl_EPD_Demandados_Final, false, false);
#region INSERT
string str_SQL_Insert = " INSERT INTO " + nameof(EPD_Demandados) +
" (" +
nameof(EPD_Demandados.codigo) + "," +
nameof(EPD_Demandados.nombre) + "," +
nameof(EPD_Demandados.observaciones) + "," +
nameof(EPD_Demandados.cifnif) + "," +
nameof(EPD_Demandados.idEmpresa) + "," +
nameof(EPD_Demandados.fechaBorrado) + "," +
nameof(EPD_Demandados.cifTipo) +
" ) " +
" OUTPUT INSERTED." + nameof(EPD_Demandados.id) +
" VALUES " +
" ( " +
"@codigo," +
"@nombre," +
"@observaciones," +
"@cifnif," +
"@idEmpresa," +
"@fechaBorrado," +
"@cifTipo" +
" ) ";
//Parametros
object[] arr_Parametros_Insert = new object[]
{
new SqlParameter("@codigo", mdl_EPD_Demandados_AGrabar.codigo),
new SqlParameter("@nombre", mdl_EPD_Demandados_AGrabar.nombre),
mdl_EPD_Demandados_AGrabar.observaciones!=null
? new SqlParameter("@observaciones", mdl_EPD_Demandados_AGrabar.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
mdl_EPD_Demandados_AGrabar.cifnif!=null
? new SqlParameter("@cifnif", mdl_EPD_Demandados_AGrabar.cifnif)
: new SqlParameter("@cifnif", DBNull.Value),
new SqlParameter("@idEmpresa", mdl_EPD_Demandados_AGrabar.idEmpresa),
mdl_EPD_Demandados_AGrabar.fechaBorrado!=null
? new SqlParameter("@fechaBorrado", mdl_EPD_Demandados_AGrabar.fechaBorrado.Value)
: new SqlParameter("@fechaBorrado", DBNull.Value),
mdl_EPD_Demandados_AGrabar.cifTipo!=null
? new SqlParameter("@cifTipo", mdl_EPD_Demandados_AGrabar.cifTipo)
: new SqlParameter("@cifTipo", DBNull.Value),
};
#endregion
//Id de la tabla
mdl_INTERNO_ValorDevuelto_Modelo.Id = obj_Exferia_Entities.Database.SqlQuery<long>(str_SQL_Insert, arr_Parametros_Insert).Single();
}
// Grabar un registro de trazabilidad con los datos de la transaccion realizada.
Datos_Generales.USR_Trazabilidad_Grabar(typeof(EPD_Demandados), mdl_EPD_Demandados_DatosViejos, mdl_EPD_Demandados_Final, mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion, obj_Exferia_Entities);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Grabar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_INTERNO_ValorDevuelto_Modelo;
}
#endregion
#region Borrar
public override INTERNO_ValorDevuelto_Modelo Borrar(long _lng_id)
{
Exferia_Entities obj_Exferia_Entities = null;
INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
mdl_ValorDevuelto_Modelo.TodoCorrecto = true;
//Tipo de Accion que se va a realizar
mdl_ValorDevuelto_Modelo.TipoAccion = G_ENUM_TIPOACCION.INT_ELIMINAR;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
// Ver si existe ######################################################################
EPD_Demandados mdl_EPD_Demandados_Final = Obtener_Modelo_Por_Id(_lng_id);
//######################################################################################
if (mdl_EPD_Demandados_Final != null)
{
#region UPDATE
string str_SQL_Update = " UPDATE " + nameof(EPD_Demandados) +
" SET " +
nameof(EPD_Demandados.fechaBorrado) + "=@fechaBorrado " +
" WHERE " +
nameof(EPD_Demandados.id) + "=@id";
//Parametros
object[] arr_Parametros_Update = new object[]
{
new SqlParameter("@fechaBorrado", DateTime.Now),
new SqlParameter("@id", _lng_id)
};
#endregion
//Update
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update, arr_Parametros_Update);
// Grabar un registro de trazabilidad con los datos de la transaccion realizada.
Datos_Generales.USR_Trazabilidad_Grabar(typeof(EPD_Demandados), null, mdl_EPD_Demandados_Final, G_ENUM_TIPOACCION.INT_ELIMINAR, obj_Exferia_Entities);
}
// Devolver también el Objeto
mdl_ValorDevuelto_Modelo.Id = _lng_id;
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(EPD_Demandados_Datos) + "/" + nameof(Borrar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
public override INTERNO_ValorDevuelto_Modelo Borrar(long _lng_id, long _lng_idAuxiliar)
{
throw new NotImplementedException();
}
public override INTERNO_ValorDevuelto_Modelo Borrar(object _mdl_obj)
{
return null;
}
#endregion
}
}