1507 lines
88 KiB
C#
1507 lines
88 KiB
C#
using Exferia_Aplicacion.General;
|
|
using Exferia_Aplicacion.Herencia.Capas;
|
|
using Exferia_Aplicacion.Modelos_Volcado;
|
|
using Exferia_ControlGastos._0_Modelos;
|
|
using Exferia_EntityFramework;
|
|
using Exferia_General;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using static Exferia_Aplicacion.General.Enumerados;
|
|
|
|
namespace Exferia_ControlGastos._1_Datos
|
|
{
|
|
public class CTG_GastosCabecera_Datos : ABS_Datos
|
|
{
|
|
#region Listados
|
|
private List<INTERNO_CTG_GastosCabecera_Listado_Modelo> g_lst_INTERNO_CTG_GastosCabecera_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_CTG = 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(CTG_GastosCabecera).Name), _lst_CamposConRelacionABuscar, -1, null, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
|
|
// ..............................................................
|
|
|
|
if ((g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo != null) && (g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo.Count() > 0))
|
|
{
|
|
lst_CTG = g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo.Cast<dynamic>().ToList();
|
|
}
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_Listado), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
return lst_CTG;
|
|
}
|
|
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_CTG = 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(CTG_GastosCabecera).Name), _lst_CamposConRelacionABuscar, _lng_id, _lst_ids, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
|
|
// ..............................................................
|
|
|
|
if ((g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo != null) && (g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo.Count() > 0))
|
|
{
|
|
dnm_CTG = g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo.Cast<dynamic>().ToList();
|
|
}
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_RegistroListado), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
return dnm_CTG;
|
|
}
|
|
protected override void ConsultaRellenar_Listado(Exferia_Entities _obj_Exferia_Entities, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<long> _lst_idEmpresasRelacionas, List<string> _lst_CamposConRelacionABuscar, long _lng_id, List<long> _lst_id, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
|
|
{
|
|
try
|
|
{
|
|
string str_SQL =
|
|
" SELECT " +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.id) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.numero) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.descripcion) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.fecha) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fecha) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.estado) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.estado) + "," +
|
|
//ids
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idExpediente) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idPredefinidoCabecera_GastoCabecera) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Propuesto) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Autorizado) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "," +
|
|
//Expediente
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente)))
|
|
?
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Codigo) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Descripcion) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_FechaBorrado) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.fechaBorrado) + ","
|
|
)
|
|
:
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Codigo) + " = convert(bigint,-1)," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Descripcion) + " = ''," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_FechaBorrado) + " = NULL ,"
|
|
)
|
|
) +
|
|
//PredefinidoCabecera_GastoCabecera
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera)))
|
|
?
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Codigo) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Descripcion) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_FechaBorrado) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
|
|
)
|
|
:
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Codigo) + " = ''," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Descripcion) + " = ''," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_FechaBorrado) + " = NULL ,"
|
|
)
|
|
) +
|
|
//Empleado_Propuesto
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto)))
|
|
?
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Codigo) + " = AUX_1." + nameof(MAE_Empleados.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Descripcion) + " = AUX_1." + nameof(MAE_Empleados.nombre) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_FechaBorrado) + " = AUX_1." + nameof(MAE_Empleados.fechaBorrado) + ","
|
|
)
|
|
:
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Codigo) + " = ''," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Descripcion) + " = ''," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_FechaBorrado) + " = NULL ,"
|
|
)
|
|
) +
|
|
//Empleado_Autorizado
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado)))
|
|
?
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Codigo) + " = AUX_2." + nameof(MAE_Empleados.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Descripcion) + " = AUX_2." + nameof(MAE_Empleados.nombre) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_FechaBorrado) + " = AUX_2." + nameof(MAE_Empleados.fechaBorrado)
|
|
)
|
|
:
|
|
(
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Codigo) + " = ''," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Descripcion) + " = ''," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_FechaBorrado) + " = NULL"
|
|
)
|
|
) +
|
|
" FROM " + nameof(CTG_GastosCabecera) +
|
|
//Expediente
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente)))
|
|
?
|
|
(
|
|
" LEFT JOIN " + nameof(CTG_Expedientes) + " ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.id)
|
|
)
|
|
: ("")
|
|
) +
|
|
//PredefinidoCabecera_Anticipo
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera)))
|
|
?
|
|
(
|
|
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.id)
|
|
)
|
|
: ("")
|
|
) +
|
|
//Empleado_Propuesto
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto)))
|
|
?
|
|
(
|
|
" LEFT JOIN " + nameof(MAE_Empleados) + " AS AUX_1 ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + " = AUX_1." + nameof(MAE_Empleados.id)
|
|
)
|
|
: ("")
|
|
) +
|
|
//Empleado_Autorizado
|
|
(
|
|
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado)))
|
|
?
|
|
(
|
|
" LEFT JOIN " + nameof(MAE_Empleados) + " AS AUX_2 ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + " = AUX_2." + nameof(MAE_Empleados.id)
|
|
)
|
|
: ("")
|
|
) +
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fechaBorrado) + " IS null AND " +
|
|
(_lng_id > -1 ? nameof(CTG_GastosCabecera) + "." + (nameof(CTG_GastosCabecera.id) + "=@id") : "1 = 1");
|
|
|
|
//Parametros
|
|
object[] arr_Parametros = new object[]
|
|
{
|
|
new SqlParameter("@id", _lng_id)
|
|
};
|
|
|
|
//Rellenar el Modelo
|
|
g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_CTG_GastosCabecera_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_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)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
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_id)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
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
|
|
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)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
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)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
protected override void ConsultaRellenar_F3(Exferia_Entities _obj_Exferia_Entities, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<long> _lst_idEmpresasRelacionadas, 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)
|
|
{ }
|
|
#endregion
|
|
|
|
#region Obtener
|
|
#region Obtener Simple
|
|
private dynamic g_dnm_Modelo_Obtener = null;
|
|
|
|
private static int g_int_TotalHilos_Obtener = 5;
|
|
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_CTG_GastosCabecera_Modelo.id) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.numero) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.descripcion) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.fecha) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fecha) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.observaciones) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.observaciones) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.estado) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.estado) + "," +
|
|
//ids
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.idExpediente) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.idPredefinidoCabecera_GastoCabecera) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.idEmpleado_Autorizado) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Modelo.idEmpleado_Propuesto) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) +
|
|
" FROM " + nameof(CTG_GastosCabecera) +
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fechaBorrado) + " IS null AND " +
|
|
nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.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_CTG_GastosCabecera_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;
|
|
}
|
|
|
|
//CTG_Expedientes ##########################################################################################
|
|
if (g_dnm_Modelo_Obtener.idExpediente != null)
|
|
{
|
|
ThreadStart obj_ThreadStart_EXPEDIENTE = new ThreadStart(Obtener_Expediente_Modelo_Obtener);
|
|
Thread obj_Thread_EXPEDIENTE = new Thread(obj_ThreadStart_EXPEDIENTE);
|
|
obj_Thread_EXPEDIENTE.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[0] = true;
|
|
}
|
|
|
|
//CTA_PredefinidosCabeceras ##########################################################################################
|
|
if (g_dnm_Modelo_Obtener.idPredefinidoCabecera_GastoCabecera != null)
|
|
{
|
|
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERA = new ThreadStart(Obtener_PredefinidoCabecera_Modelo_Obtener);
|
|
Thread obj_Thread_PREDEFINIDOCABECERA = new Thread(obj_ThreadStart_PREDEFINIDOCABECERA);
|
|
obj_Thread_PREDEFINIDOCABECERA.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[1] = true;
|
|
}
|
|
|
|
//MAE_Empleados (Propuesto) ##########################################################################################
|
|
if (g_dnm_Modelo_Obtener.idEmpleado_Propuesto != null)
|
|
{
|
|
ThreadStart obj_ThreadStart_EMPLEADOPROPUESTO = new ThreadStart(Obtener_EmpleadoPropuesto_Modelo_Obtener);
|
|
Thread obj_Thread_EMPLEADOPROPUESTO = new Thread(obj_ThreadStart_EMPLEADOPROPUESTO);
|
|
obj_Thread_EMPLEADOPROPUESTO.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[2] = true;
|
|
}
|
|
|
|
//MAE_Empleados (Autorizado) ##########################################################################################
|
|
if (g_dnm_Modelo_Obtener.idEmpleado_Autorizado != null)
|
|
{
|
|
ThreadStart obj_ThreadStart_EMPLEADOAUTORIZADO = new ThreadStart(Obtener_EmpleadoAutorizado_Modelo_Obtener);
|
|
Thread obj_Thread_EMPLEADOAUTORIZADO = new Thread(obj_ThreadStart_EMPLEADOAUTORIZADO);
|
|
obj_Thread_EMPLEADOAUTORIZADO.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[3] = true;
|
|
}
|
|
|
|
//CTG_GastosLineas ##########################################################################################
|
|
ThreadStart obj_ThreadStart_LINEAS = new ThreadStart(Obtener_Lineas_Modelo_Obtener);
|
|
Thread obj_Thread_LINEAS = new Thread(obj_ThreadStart_LINEAS);
|
|
obj_Thread_LINEAS.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(CTG_GastosCabecera_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_Expediente_Modelo_Obtener()
|
|
{
|
|
try
|
|
{
|
|
CTG_Expedientes_Datos obj_CTG_Expedientes_Datos = new CTG_Expedientes_Datos();
|
|
g_dnm_Modelo_Obtener.CTG_Expedientes = obj_CTG_Expedientes_Datos.Obtener_Modelo_Por_Id(g_dnm_Modelo_Obtener.idExpediente);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[0] = true;
|
|
}
|
|
}
|
|
private void Obtener_PredefinidoCabecera_Modelo_Obtener()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_CONTABILIDAD + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_CONTABILIDAD + "." + Variables.G_STR_LIBRERIA_DATOSCONTABILIDAD);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSCONTABILIDAD_PROCEDIMIENTO_CTAPREDEFINIDOCABECERA_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idPredefinidoCabecera_GastoCabecera };
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
g_dnm_Modelo_Obtener.CTA_PredefinidosCabeceras = (CTA_PredefinidosCabeceras)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[1] = true;
|
|
}
|
|
}
|
|
private void Obtener_EmpleadoPropuesto_Modelo_Obtener()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_MAESTROS + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_MAESTROS + "." + Variables.G_STR_LIBRERIA_DATOSMAESTROS);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSMAESTROS_PROCEDIMIENTO_MAEEMPLEADOS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idEmpleado_Propuesto };
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
g_dnm_Modelo_Obtener.MAE_Empleados = (MAE_Empleados)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[2] = true;
|
|
}
|
|
}
|
|
private void Obtener_EmpleadoAutorizado_Modelo_Obtener()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_MAESTROS + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_MAESTROS + "." + Variables.G_STR_LIBRERIA_DATOSMAESTROS);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSMAESTROS_PROCEDIMIENTO_MAEEMPLEADOS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idEmpleado_Autorizado };
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
g_dnm_Modelo_Obtener.MAE_Empleados1 = (MAE_Empleados)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[3] = true;
|
|
}
|
|
}
|
|
private void Obtener_Lineas_Modelo_Obtener()
|
|
{
|
|
try
|
|
{
|
|
CTG_GastosLineas_Datos obj_CTG_GastosLineas_Datos = new CTG_GastosLineas_Datos();
|
|
g_dnm_Modelo_Obtener.GastoLinea = obj_CTG_GastosLineas_Datos.Obtener_PorGastoCabecera(g_dnm_Modelo_Obtener.id);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_Obtener[4] = true;
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
public override dynamic Obtener_Registro_PorCampo(string _str_Filtro, string _str_CampoBusqueda, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
#region OBTENER POR EXPEDIENTE
|
|
List<INTERNO_CTG_GastosCabecera_Listado_Modelo> g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE = null;
|
|
|
|
//Listado de modelos Relacionados
|
|
private List<MAE_Empleados> g_lst_MAE_Empleados_POREXPEDIENTE = null;
|
|
private List<long> g_lst_Empleados_POREXPEDIENTE = null;
|
|
private List<CTA_PredefinidosCabeceras> g_lst_CTA_PredefinidosCabeceras_POREXPEDIENTE = null;
|
|
|
|
private static int g_int_TotalHilos_POREXPEDIENTE = 2;
|
|
private bool[] g_bol_Hilos_Terminados_POREXPEDIENTE = new bool[g_int_TotalHilos_POREXPEDIENTE];
|
|
|
|
public List<INTERNO_CTG_GastosCabecera_Listado_Modelo> Obtener_PorExpediente(long _lng_idExpediente)
|
|
{
|
|
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_CTG_GastosCabecera_Listado_Modelo.id) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.numero) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.descripcion) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.fecha) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fecha) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.estado) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.estado) + "," +
|
|
//ids
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idExpediente) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idPredefinidoCabecera_GastoCabecera) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Propuesto) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Autorizado) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "," +
|
|
//Expediente
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Codigo) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Descripcion) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_FechaBorrado) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.fechaBorrado) + "," +
|
|
//PredefinidoCabecera_GastoCabecera
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Codigo) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Descripcion) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_FechaBorrado) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + "," +
|
|
//Empleado_Propuesto
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Codigo) + " = AUX_1." + nameof(MAE_Empleados.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Descripcion) + " = AUX_1." + nameof(MAE_Empleados.nombre) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_FechaBorrado) + " = AUX_1." + nameof(MAE_Empleados.fechaBorrado) + "," +
|
|
//Empleado_Autorizado
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Codigo) + " = AUX_2." + nameof(MAE_Empleados.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Descripcion) + " = AUX_2." + nameof(MAE_Empleados.nombre) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_FechaBorrado) + " = AUX_2." + nameof(MAE_Empleados.fechaBorrado) +
|
|
" FROM " + nameof(CTG_GastosCabecera) +
|
|
//Expediente
|
|
" LEFT JOIN " + nameof(CTG_Expedientes) + " ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.id) +
|
|
//PredefinidoCabecera_Anticipo
|
|
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.id) +
|
|
//Empleado_Propuesto
|
|
" LEFT JOIN " + nameof(MAE_Empleados) + " AS AUX_1 ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + " = AUX_1." + nameof(MAE_Empleados.id) +
|
|
//Empleado_Autorizado
|
|
" LEFT JOIN " + nameof(MAE_Empleados) + " AS AUX_2 ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + " = AUX_2." + nameof(MAE_Empleados.id) +
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fechaBorrado) + " IS null AND " +
|
|
nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + "=@idExpediente";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros = new object[]
|
|
{
|
|
new SqlParameter("@idExpediente", _lng_idExpediente)
|
|
};
|
|
|
|
//Rellenar el Modelo
|
|
g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE = obj_Exferia_Entities.Database.SqlQuery<INTERNO_CTG_GastosCabecera_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
|
|
|
|
#region Rellenar Tablas Relacionadas
|
|
if (g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE != null &&
|
|
g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE.Count > 0)
|
|
{
|
|
#region PRIMERO BUSCO LOS DATOS DE LAS TABLAS RELACIONADAS
|
|
//reiniciar Valores de los hilos
|
|
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_POREXPEDIENTE; int_Contador++)
|
|
{
|
|
g_bol_Hilos_Terminados_POREXPEDIENTE[int_Contador] = false;
|
|
}
|
|
|
|
g_lst_Empleados_POREXPEDIENTE = new List<long>();
|
|
|
|
//MAE_Empleado (Propuesto) #######################################################
|
|
g_lst_Empleados_POREXPEDIENTE.AddRange(g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE.Where(m => m.idEmpleado_Propuesto != null).Select(m => m.idEmpleado_Propuesto.Value).ToList());
|
|
|
|
//MAE_Empleado (Autorizado) #######################################################
|
|
g_lst_Empleados_POREXPEDIENTE.AddRange(g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE.Where(m => m.idEmpleado_Autorizado != null).Select(m => m.idEmpleado_Autorizado.Value).ToList());
|
|
|
|
if (g_lst_Empleados_POREXPEDIENTE.Count > 0)
|
|
{
|
|
ThreadStart obj_ThreadStart_EMPLEADOS = new ThreadStart(Obtener_Empleados_Modelo_Obtener_POREXPEDIENTE);
|
|
Thread obj_Thread_EMPLEADOS = new Thread(obj_ThreadStart_EMPLEADOS);
|
|
obj_Thread_EMPLEADOS.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_POREXPEDIENTE[0] = true;
|
|
}
|
|
|
|
//CTA_PredefinidosCabeceras #######################################################
|
|
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERA = new ThreadStart(Obtener_PredefinidoCabecera_Modelo_Obtener_POREXPEDIENTE);
|
|
Thread obj_Thread_PREDEFINIDOCABECERA = new Thread(obj_ThreadStart_PREDEFINIDOCABECERA);
|
|
obj_Thread_PREDEFINIDOCABECERA.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_POREXPEDIENTE)
|
|
{
|
|
if (bol_Termino_Hilo == false)
|
|
{
|
|
bol_Termino = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
Thread.Sleep(10);
|
|
}
|
|
//.................................................................................
|
|
#endregion
|
|
|
|
#region DESPUES SE LO VOY ASIGNANDO A LOS REGISTRO UNO A UNO
|
|
foreach (INTERNO_CTG_GastosCabecera_Listado_Modelo mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo in g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE)
|
|
{
|
|
//MAE_Empleados (Propuesto) #############################################
|
|
if (g_lst_MAE_Empleados_POREXPEDIENTE != null &&
|
|
g_lst_MAE_Empleados_POREXPEDIENTE.Count > 0 &&
|
|
mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Propuesto != null)
|
|
{
|
|
mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.MAE_Empleados = g_lst_MAE_Empleados_POREXPEDIENTE.Where(m => m.id == mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Propuesto.Value).FirstOrDefault();
|
|
}
|
|
|
|
//MAE_Empleados (Autorizado) #############################################
|
|
if (g_lst_MAE_Empleados_POREXPEDIENTE != null &&
|
|
g_lst_MAE_Empleados_POREXPEDIENTE.Count > 0 &&
|
|
mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Autorizado != null)
|
|
{
|
|
mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.MAE_Empleados1 = g_lst_MAE_Empleados_POREXPEDIENTE.Where(m => m.id == mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Autorizado.Value).FirstOrDefault();
|
|
}
|
|
|
|
//MAE_Articulos #############################################
|
|
if (g_lst_CTA_PredefinidosCabeceras_POREXPEDIENTE != null &&
|
|
g_lst_CTA_PredefinidosCabeceras_POREXPEDIENTE.Count > 0 &&
|
|
mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.idPredefinidoCabecera_GastoCabecera != null)
|
|
{
|
|
mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.CTA_PredefinidosCabeceras = g_lst_CTA_PredefinidosCabeceras_POREXPEDIENTE.Where(m => m.id == mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo.idPredefinidoCabecera_GastoCabecera.Value).FirstOrDefault();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_PorExpediente), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
return g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE;
|
|
}
|
|
|
|
#region Tablas Relacionadas
|
|
private void Obtener_Empleados_Modelo_Obtener_POREXPEDIENTE()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_MAESTROS + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_MAESTROS + "." + Variables.G_STR_LIBRERIA_DATOSMAESTROS);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSMAESTROS_PROCEDIMIENTO_MAEEMPLEADOS_OBTENERMODELOLISTADO_POR_IDS, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_lst_Empleados_POREXPEDIENTE };
|
|
|
|
g_lst_MAE_Empleados_POREXPEDIENTE = (List<MAE_Empleados>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_POREXPEDIENTE[0] = true;
|
|
}
|
|
}
|
|
private void Obtener_PredefinidoCabecera_Modelo_Obtener_POREXPEDIENTE()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_CONTABILIDAD + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_CONTABILIDAD + "." + Variables.G_STR_LIBRERIA_DATOSCONTABILIDAD);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSCONTABILIDAD_PROCEDIMIENTO_CTAPREDEFINIDOCABECERA_OBTENERMODELOLISTADO_POR_IDS, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_lst_INTERNO_CTG_GastosCabecera_Listado_Modelo_POREXPEDIENTE.Where(x => x.idPredefinidoCabecera_GastoCabecera != null).Select(m => m.idPredefinidoCabecera_GastoCabecera.Value).ToList() };
|
|
|
|
g_lst_CTA_PredefinidosCabeceras_POREXPEDIENTE = (List<CTA_PredefinidosCabeceras>)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_POREXPEDIENTE[1] = true;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region OBTENER PARA LISTADO
|
|
INTERNO_CTG_GastosCabecera_Listado_Modelo g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO = null;
|
|
|
|
private static int g_int_TotalHilos_PARALISTADO = 3;
|
|
private bool[] g_bol_Hilos_Terminados_PARALISTADO = new bool[g_int_TotalHilos_PARALISTADO];
|
|
|
|
public INTERNO_CTG_GastosCabecera_Listado_Modelo Obtener_ParaListado(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_CTG_GastosCabecera_Listado_Modelo.id) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.numero) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.descripcion) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.fecha) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fecha) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.estado) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.estado) + "," +
|
|
//ids
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idExpediente) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idPredefinidoCabecera_GastoCabecera) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Propuesto) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.idEmpleado_Autorizado) + " = " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "," +
|
|
//Expediente
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Codigo) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_Descripcion) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Expediente_FechaBorrado) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.fechaBorrado) + "," +
|
|
//PredefinidoCabecera_GastoCabecera
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Codigo) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_Descripcion) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.PredefinidoCabecera_GastoCabecera_FechaBorrado) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + "," +
|
|
//Empleado_Propuesto
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Codigo) + " = AUX_1." + nameof(MAE_Empleados.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_Descripcion) + " = AUX_1." + nameof(MAE_Empleados.nombre) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Propuesto_FechaBorrado) + " = AUX_1." + nameof(MAE_Empleados.fechaBorrado) + "," +
|
|
//Empleado_Autorizado
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Codigo) + " = AUX_2." + nameof(MAE_Empleados.codigo) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_Descripcion) + " = AUX_2." + nameof(MAE_Empleados.nombre) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Listado_Modelo.Empleado_Autorizado_FechaBorrado) + " = AUX_2." + nameof(MAE_Empleados.fechaBorrado) +
|
|
" FROM " + nameof(CTG_GastosCabecera) +
|
|
//Expediente
|
|
" LEFT JOIN " + nameof(CTG_Expedientes) + " ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + " = " + nameof(CTG_Expedientes) + "." + nameof(CTG_Expedientes.id) +
|
|
//PredefinidoCabecera_Anticipo
|
|
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + " = " + nameof(CTA_PredefinidosCabeceras) + "." + nameof(CTA_PredefinidosCabeceras.id) +
|
|
//Empleado_Propuesto
|
|
" LEFT JOIN " + nameof(MAE_Empleados) + " AS AUX_1 ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + " = AUX_1." + nameof(MAE_Empleados.id) +
|
|
//Empleado_Autorizado
|
|
" LEFT JOIN " + nameof(MAE_Empleados) + " AS AUX_2 ON " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + " = AUX_2." + nameof(MAE_Empleados.id) +
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fechaBorrado) + " IS null AND " +
|
|
nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "=@id";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros = new object[]
|
|
{
|
|
new SqlParameter("@id", _lng_id)
|
|
};
|
|
|
|
//Rellenar el Modelo
|
|
g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO = obj_Exferia_Entities.Database.SqlQuery<INTERNO_CTG_GastosCabecera_Listado_Modelo>(str_SQL, arr_Parametros).FirstOrDefault();
|
|
|
|
#region Rellenar tablas Relacionadas
|
|
if (g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO != null)
|
|
{
|
|
//reiniciar Valores de los hilos
|
|
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_PARALISTADO; int_Contador++)
|
|
{
|
|
g_bol_Hilos_Terminados_PARALISTADO[int_Contador] = false;
|
|
}
|
|
|
|
//MAE_Empleados (Propuesto) ##########################################################################################
|
|
if (g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.idEmpleado_Propuesto != null)
|
|
{
|
|
ThreadStart obj_ThreadStart_EMPLEADOPROPUESTO = new ThreadStart(Obtener_EmpleadoPropuesto_PARALISTADO);
|
|
Thread obj_Thread_EMPLEADOPROPUESTO = new Thread(obj_ThreadStart_EMPLEADOPROPUESTO);
|
|
obj_Thread_EMPLEADOPROPUESTO.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_PARALISTADO[0] = true;
|
|
}
|
|
|
|
//MAE_Empleados (Autorizado) ##########################################################################################
|
|
if (g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.idEmpleado_Autorizado != null)
|
|
{
|
|
ThreadStart obj_ThreadStart_EMPLEADOAUTORIZADO = new ThreadStart(Obtener_EmpleadoAutorizado_PARALISTADO);
|
|
Thread obj_Thread_EMPLEADOAUTORIZADO = new Thread(obj_ThreadStart_EMPLEADOAUTORIZADO);
|
|
obj_Thread_EMPLEADOAUTORIZADO.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_PARALISTADO[1] = true;
|
|
}
|
|
|
|
//CTA_PredefinidosCabeceras ##########################################################################################
|
|
if (g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.idPredefinidoCabecera_GastoCabecera != null)
|
|
{
|
|
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERA = new ThreadStart(Obtener_PredefinidoCabecera_PARALISTADO);
|
|
Thread obj_Thread_PREDEFINIDOCABECERA = new Thread(obj_ThreadStart_PREDEFINIDOCABECERA);
|
|
obj_Thread_PREDEFINIDOCABECERA.Start();
|
|
}
|
|
else
|
|
{
|
|
g_bol_Hilos_Terminados_PARALISTADO[2] = true;
|
|
}
|
|
|
|
//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_PARALISTADO)
|
|
{
|
|
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(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_ParaListado), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
return g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO;
|
|
}
|
|
|
|
#region Tablas Relacionadas
|
|
private void Obtener_EmpleadoPropuesto_PARALISTADO()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_MAESTROS + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_MAESTROS + "." + Variables.G_STR_LIBRERIA_DATOSMAESTROS);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSMAESTROS_PROCEDIMIENTO_MAEEMPLEADOS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.idEmpleado_Propuesto.Value };
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.MAE_Empleados = (MAE_Empleados)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_PARALISTADO[0] = true;
|
|
}
|
|
}
|
|
private void Obtener_EmpleadoAutorizado_PARALISTADO()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_MAESTROS + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_MAESTROS + "." + Variables.G_STR_LIBRERIA_DATOSMAESTROS);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSMAESTROS_PROCEDIMIENTO_MAEEMPLEADOS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.idEmpleado_Autorizado.Value };
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.MAE_Empleados1 = (MAE_Empleados)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_PARALISTADO[1] = true;
|
|
}
|
|
}
|
|
private void Obtener_PredefinidoCabecera_PARALISTADO()
|
|
{
|
|
try
|
|
{
|
|
//Cargamos el ensamblado
|
|
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_CONTABILIDAD + ".dll");
|
|
//Obtenemos el tipo de la clase
|
|
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_CONTABILIDAD + "." + Variables.G_STR_LIBRERIA_DATOSCONTABILIDAD);
|
|
//creamos la instancia
|
|
var obj_Clase = Activator.CreateInstance(m_type);
|
|
//Cargamos el metodo solicitado
|
|
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSCONTABILIDAD_PROCEDIMIENTO_CTAPREDEFINIDOCABECERA_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
|
|
|
|
//Obtener valores
|
|
object[] arr_Parametros = { g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.idPredefinidoCabecera_GastoCabecera.Value };
|
|
//Pasamos los parametros al metodo y lo ejecutamos
|
|
g_mdl_INTERNO_CTG_GastosCabecera_Listado_Modelo_PARALISTADO.CTA_PredefinidosCabeceras = (CTA_PredefinidosCabeceras)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{ }
|
|
finally
|
|
{
|
|
g_bol_Hilos_Terminados_PARALISTADO[2] = true;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
public string Obtener_Estado(long _lng_id)
|
|
{
|
|
Exferia_Entities obj_Exferia_Entities = null;
|
|
|
|
string str_Estado = "";
|
|
|
|
try
|
|
{
|
|
obj_Exferia_Entities = new Exferia_Entities();
|
|
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
|
|
|
|
string str_SQL =
|
|
" SELECT " +
|
|
nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.estado) +
|
|
" FROM " + nameof(CTG_GastosCabecera) +
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fechaBorrado) + " IS null AND " +
|
|
nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "=@id ";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros = new object[]
|
|
{
|
|
new SqlParameter("@id", _lng_id)
|
|
};
|
|
|
|
//Rellenar el Modelo
|
|
str_Estado = obj_Exferia_Entities.Database.SqlQuery<string>(str_SQL, arr_Parametros).FirstOrDefault();
|
|
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_Estado), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
return str_Estado;
|
|
}
|
|
|
|
public INTERNO_CTG_GastosCabecera_Volcado_Modelo Obtener_Volcado(long _lng_id)
|
|
{
|
|
Exferia_Entities obj_Exferia_Entities = null;
|
|
|
|
INTERNO_CTG_GastosCabecera_Volcado_Modelo mdl_INTERNO_CTG_GastosCabecera_Volcado_Modelo = null;
|
|
|
|
try
|
|
{
|
|
obj_Exferia_Entities = new Exferia_Entities();
|
|
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
|
|
|
|
string str_SQL =
|
|
" SELECT " +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.id) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.numero) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.numero) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.descripcion) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.descripcion) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.fecha) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fecha) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.observaciones) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.observaciones) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.estado) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.estado) + "," +
|
|
//ids
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.idExpediente) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.idPredefinidoCabecera_GastoCabecera) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.idEmpleado_Autorizado) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "," +
|
|
nameof(INTERNO_CTG_GastosCabecera_Volcado_Modelo.idEmpleado_Propuesto) + "=" + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idEmpleado_Propuesto) +
|
|
" FROM " + nameof(CTG_GastosCabecera) +
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fechaBorrado) + " IS null AND " +
|
|
nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.id) + "=@id ";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros = new object[]
|
|
{
|
|
new SqlParameter("@id", _lng_id)
|
|
};
|
|
|
|
//Rellenar el Modelo
|
|
mdl_INTERNO_CTG_GastosCabecera_Volcado_Modelo = obj_Exferia_Entities.Database.SqlQuery<INTERNO_CTG_GastosCabecera_Volcado_Modelo>(str_SQL, arr_Parametros).FirstOrDefault();
|
|
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_Volcado), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
return mdl_INTERNO_CTG_GastosCabecera_Volcado_Modelo;
|
|
}
|
|
#endregion
|
|
|
|
#region MODELOS
|
|
|
|
#region Modelo Simple
|
|
private CTG_GastosCabecera g_mdl_CTG_GastosCabecera = null;
|
|
|
|
public CTG_GastosCabecera Obtener_Modelo_Por_Id(long _lng_id)
|
|
{
|
|
try
|
|
{
|
|
string str_SQL = Obtener_Consulta_Modelo() +
|
|
//WHERE
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.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(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_Modelo_Por_Id), true);
|
|
}
|
|
|
|
return g_mdl_CTG_GastosCabecera;
|
|
}
|
|
|
|
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_CTG_GastosCabecera = obj_Exferia_Entities.Database.SqlQuery<CTG_GastosCabecera>(_str_SQL, _arr_Parametros).FirstOrDefault();
|
|
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Ejecutar_Consulta_Modelo), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Modelo Listado
|
|
private List<CTG_GastosCabecera> g_lst_CTG_GastosCabecera = null;
|
|
|
|
public List<CTG_GastosCabecera> Obtener_ModeloListado_Por_IdExpediente(long _lng_idExpediente)
|
|
{
|
|
try
|
|
{
|
|
//Consulta
|
|
string str_SQL = Obtener_Consulta_Modelo() +
|
|
//WHERE
|
|
" WHERE " + nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.fechaBorrado) + " IS null AND " +
|
|
nameof(CTG_GastosCabecera) + "." + nameof(CTG_GastosCabecera.idExpediente) + "=@idExpediente ";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros = new object[]
|
|
{
|
|
new SqlParameter("@idExpediente", _lng_idExpediente)
|
|
};
|
|
|
|
//Ejecutar y rellenar el listado
|
|
Ejecutar_Consulta_Modelo_Listado(str_SQL,
|
|
arr_Parametros);
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Obtener_ModeloListado_Por_IdExpediente), true);
|
|
}
|
|
|
|
return g_lst_CTG_GastosCabecera;
|
|
}
|
|
|
|
#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_CTG_GastosCabecera = obj_Exferia_Entities.Database.SqlQuery<CTG_GastosCabecera>(_str_SQL, _arr_Parametros).ToList();
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_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(CTG_GastosCabecera.id) + "," +
|
|
nameof(CTG_GastosCabecera.idExpediente) + "," +
|
|
nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "," +
|
|
nameof(CTG_GastosCabecera.numero) + "," +
|
|
nameof(CTG_GastosCabecera.fecha) + "," +
|
|
nameof(CTG_GastosCabecera.descripcion) + "," +
|
|
nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + "," +
|
|
nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "," +
|
|
nameof(CTG_GastosCabecera.observaciones) + "," +
|
|
nameof(CTG_GastosCabecera.estado) + "," +
|
|
nameof(CTG_GastosCabecera.fechaBorrado) +
|
|
" FROM " + nameof(CTG_GastosCabecera);
|
|
}
|
|
#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();
|
|
|
|
CTG_GastosCabecera mdl_CTG_GastosCabecera_AGrabar = (CTG_GastosCabecera)_mdl_obj;
|
|
CTG_GastosCabecera mdl_CTG_GastosCabecera_DatosViejos = new CTG_GastosCabecera();
|
|
|
|
// Ver si existe ######################################################################
|
|
CTG_GastosCabecera mdl_CTG_GastosCabecera_Final = Obtener_Modelo_Por_Id(mdl_CTG_GastosCabecera_AGrabar.id);
|
|
//######################################################################################
|
|
|
|
//UPDATE
|
|
if (mdl_CTG_GastosCabecera_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_CTG_GastosCabecera_Final, mdl_CTG_GastosCabecera_DatosViejos, false, false);
|
|
|
|
// Cargar los Datos Nuevos del Modelo
|
|
Funciones.CopiarPropiedadesObjetos(mdl_CTG_GastosCabecera_AGrabar, mdl_CTG_GastosCabecera_Final, false, false);
|
|
|
|
#region Update
|
|
string str_SQL_Update = " UPDATE " + nameof(CTG_GastosCabecera) +
|
|
" SET " +
|
|
nameof(CTG_GastosCabecera.idExpediente) + "=@idExpediente," +
|
|
nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "=@idPredefinidoCabecera_GastoCabecera," +
|
|
nameof(CTG_GastosCabecera.numero) + "=@numero," +
|
|
nameof(CTG_GastosCabecera.fecha) + "=@fecha," +
|
|
nameof(CTG_GastosCabecera.descripcion) + "=@descripcion," +
|
|
nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + "=@idEmpleado_Propuesto," +
|
|
nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "=@idEmpleado_Autorizado," +
|
|
nameof(CTG_GastosCabecera.observaciones) + "=@observaciones," +
|
|
nameof(CTG_GastosCabecera.estado) + "=@estado," +
|
|
nameof(CTG_GastosCabecera.fechaBorrado) + "=@fechaBorrado" +
|
|
" WHERE " +
|
|
nameof(CTG_GastosCabecera.id) + "=@id";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros_Update = new object[]
|
|
{
|
|
new SqlParameter("@idExpediente", mdl_CTG_GastosCabecera_Final.idExpediente),
|
|
mdl_CTG_GastosCabecera_Final.idPredefinidoCabecera_GastoCabecera != null
|
|
? new SqlParameter("@idPredefinidoCabecera_GastoCabecera", mdl_CTG_GastosCabecera_Final.idPredefinidoCabecera_GastoCabecera.Value)
|
|
: new SqlParameter("@idPredefinidoCabecera_GastoCabecera", DBNull.Value),
|
|
new SqlParameter("@numero", mdl_CTG_GastosCabecera_Final.numero),
|
|
new SqlParameter("@fecha", mdl_CTG_GastosCabecera_Final.fecha),
|
|
mdl_CTG_GastosCabecera_Final.descripcion != null
|
|
? new SqlParameter("@descripcion", mdl_CTG_GastosCabecera_Final.descripcion)
|
|
: new SqlParameter("@descripcion", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.idEmpleado_Autorizado != null
|
|
? new SqlParameter("@idEmpleado_Autorizado", mdl_CTG_GastosCabecera_Final.idEmpleado_Autorizado.Value)
|
|
: new SqlParameter("@idEmpleado_Autorizado", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.idEmpleado_Propuesto != null
|
|
? new SqlParameter("@idEmpleado_Propuesto", mdl_CTG_GastosCabecera_Final.idEmpleado_Propuesto.Value)
|
|
: new SqlParameter("@idEmpleado_Propuesto", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.observaciones != null
|
|
? new SqlParameter("@observaciones", mdl_CTG_GastosCabecera_Final.observaciones)
|
|
: new SqlParameter("@observaciones", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.estado != null
|
|
? new SqlParameter("@estado", mdl_CTG_GastosCabecera_Final.estado)
|
|
: new SqlParameter("@estado", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.fechaBorrado != null
|
|
? new SqlParameter("@fechaBorrado", mdl_CTG_GastosCabecera_Final.fechaBorrado.Value)
|
|
: new SqlParameter("@fechaBorrado", DBNull.Value),
|
|
new SqlParameter("@id", mdl_CTG_GastosCabecera_Final.id)
|
|
};
|
|
#endregion
|
|
|
|
//Update
|
|
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update, arr_Parametros_Update);
|
|
|
|
//Id de la tabla
|
|
mdl_INTERNO_ValorDevuelto_Modelo.Id = mdl_CTG_GastosCabecera_Final.id;
|
|
}
|
|
//INSERT
|
|
else
|
|
{
|
|
mdl_CTG_GastosCabecera_Final = new CTG_GastosCabecera();
|
|
|
|
//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_CTG_GastosCabecera_AGrabar, mdl_CTG_GastosCabecera_Final, false, false);
|
|
|
|
#region INSERT
|
|
string str_SQL_Insert = " INSERT INTO " + nameof(CTG_GastosCabecera) +
|
|
" (" +
|
|
nameof(CTG_GastosCabecera.idExpediente) + "," +
|
|
nameof(CTG_GastosCabecera.idPredefinidoCabecera_GastoCabecera) + "," +
|
|
nameof(CTG_GastosCabecera.numero) + "," +
|
|
nameof(CTG_GastosCabecera.fecha) + "," +
|
|
nameof(CTG_GastosCabecera.descripcion) + "," +
|
|
nameof(CTG_GastosCabecera.idEmpleado_Propuesto) + "," +
|
|
nameof(CTG_GastosCabecera.idEmpleado_Autorizado) + "," +
|
|
nameof(CTG_GastosCabecera.observaciones) + "," +
|
|
nameof(CTG_GastosCabecera.estado) + "," +
|
|
nameof(CTG_GastosCabecera.fechaBorrado) +
|
|
" ) " +
|
|
" OUTPUT INSERTED." + nameof(CTG_GastosCabecera.id) +
|
|
" VALUES " +
|
|
" ( " +
|
|
"@idExpediente," +
|
|
"@idPredefinidoCabecera_GastoCabecera," +
|
|
"@numero," +
|
|
"@fecha," +
|
|
"@descripcion," +
|
|
"@idEmpleado_Propuesto," +
|
|
"@idEmpleado_Autorizado," +
|
|
"@observaciones," +
|
|
"@estado," +
|
|
"@fechaBorrado" +
|
|
" ) ";
|
|
|
|
//Parametros
|
|
object[] arr_Parametros_Insert = new object[]
|
|
{
|
|
new SqlParameter("@idExpediente", mdl_CTG_GastosCabecera_Final.idExpediente),
|
|
mdl_CTG_GastosCabecera_Final.idPredefinidoCabecera_GastoCabecera != null
|
|
? new SqlParameter("@idPredefinidoCabecera_GastoCabecera", mdl_CTG_GastosCabecera_Final.idPredefinidoCabecera_GastoCabecera.Value)
|
|
: new SqlParameter("@idPredefinidoCabecera_GastoCabecera", DBNull.Value),
|
|
new SqlParameter("@numero", mdl_CTG_GastosCabecera_Final.numero),
|
|
new SqlParameter("@fecha", mdl_CTG_GastosCabecera_Final.fecha),
|
|
mdl_CTG_GastosCabecera_Final.descripcion != null
|
|
? new SqlParameter("@descripcion", mdl_CTG_GastosCabecera_Final.descripcion)
|
|
: new SqlParameter("@descripcion", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.idEmpleado_Autorizado != null
|
|
? new SqlParameter("@idEmpleado_Autorizado", mdl_CTG_GastosCabecera_Final.idEmpleado_Autorizado.Value)
|
|
: new SqlParameter("@idEmpleado_Autorizado", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.idEmpleado_Propuesto != null
|
|
? new SqlParameter("@idEmpleado_Propuesto", mdl_CTG_GastosCabecera_Final.idEmpleado_Propuesto.Value)
|
|
: new SqlParameter("@idEmpleado_Propuesto", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.observaciones != null
|
|
? new SqlParameter("@observaciones", mdl_CTG_GastosCabecera_Final.observaciones)
|
|
: new SqlParameter("@observaciones", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.estado != null
|
|
? new SqlParameter("@estado", mdl_CTG_GastosCabecera_Final.estado)
|
|
: new SqlParameter("@estado", DBNull.Value),
|
|
mdl_CTG_GastosCabecera_Final.fechaBorrado != null
|
|
? new SqlParameter("@fechaBorrado", mdl_CTG_GastosCabecera_Final.fechaBorrado.Value)
|
|
: new SqlParameter("@fechaBorrado", 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(CTG_GastosCabecera), mdl_CTG_GastosCabecera_DatosViejos, mdl_CTG_GastosCabecera_Final, mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion, obj_Exferia_Entities);
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_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 ######################################################################
|
|
CTG_GastosCabecera mdl_CTG_GastosCabecera_Final = Obtener_Modelo_Por_Id(_lng_id);
|
|
//######################################################################################
|
|
|
|
if (mdl_CTG_GastosCabecera_Final != null)
|
|
{
|
|
#region Update
|
|
string str_SQL_Update = " UPDATE " + nameof(CTG_GastosCabecera) +
|
|
" SET " +
|
|
nameof(CTG_GastosCabecera.fechaBorrado) + "=@fechaBorrado " +
|
|
" WHERE " +
|
|
nameof(CTG_GastosCabecera.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(CTG_GastosCabecera), null, mdl_CTG_GastosCabecera_Final, Enumerados.G_ENUM_TIPOACCION.INT_ELIMINAR, obj_Exferia_Entities);
|
|
}
|
|
|
|
//Devolver tambien el Objeto
|
|
mdl_ValorDevuelto_Modelo.Id = _lng_id;
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_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)
|
|
{
|
|
Exferia_Entities obj_Exferia_Entities = null;
|
|
|
|
INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
|
|
mdl_ValorDevuelto_Modelo.TodoCorrecto = true;
|
|
|
|
try
|
|
{
|
|
obj_Exferia_Entities = new Exferia_Entities();
|
|
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
|
|
|
|
List<long> lst_idGastoCabecera = (List<long>)_mdl_obj;
|
|
|
|
if (lst_idGastoCabecera != null & lst_idGastoCabecera.Count > 0)
|
|
{
|
|
DateTime dtt_FechaActual = DateTime.Now;
|
|
|
|
//Coger los ids y ponerlos de forma que sirva para la consulta
|
|
string str_Filtros_IDS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(lst_idGastoCabecera);
|
|
|
|
string str_SQL = " UPDATE " + nameof(CTG_GastosCabecera) +
|
|
" SET " + nameof(CTG_GastosCabecera.fechaBorrado) + "='" + dtt_FechaActual + "' " +
|
|
" WHERE " + nameof(CTG_GastosCabecera.id) + " in (" + str_Filtros_IDS + ")";
|
|
|
|
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL);
|
|
}
|
|
}
|
|
catch (Control_Errores)
|
|
{
|
|
throw;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Control_Errores("", ex, nameof(CTG_GastosCabecera_Datos) + "/" + nameof(Borrar), true);
|
|
}
|
|
finally
|
|
{
|
|
obj_Exferia_Entities.Database.Connection.Close();
|
|
obj_Exferia_Entities.Dispose();
|
|
}
|
|
|
|
return mdl_ValorDevuelto_Modelo;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|