Exferia/Exferia_Ventas/Exferia_Ventas/1_Datos/VTA_Cobros_Datos.cs

3258 lines
187 KiB
C#

using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Herencia.Capas;
using Exferia_Aplicacion.Modelos_Volcado;
using Exferia_EntityFramework;
using Exferia_General;
using Exferia_General._0_Modelos;
using Exferia_Ventas._0_Modelos;
using Exferia_Ventas.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 System.Transactions;
using static Exferia_Aplicacion.General.Enumerados;
namespace Exferia_Ventas._1_Datos
{
public class VTA_Cobros_Datos : ABS_Datos
{
#region Listado
public List<INTERNO_VTA_Cobros_Listado_Modelo> g_lst_INTERNO_VTA_Cobros_Listado_Modelo = new List<INTERNO_VTA_Cobros_Listado_Modelo>();
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(VTA_Cobros).Name), _lst_CamposConRelacionABuscar, -1, null, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_VTA_Cobros_Listado_Modelo != null) && (g_lst_INTERNO_VTA_Cobros_Listado_Modelo.Count() > 0))
{
lst_MAE = g_lst_INTERNO_VTA_Cobros_Listado_Modelo.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_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(VTA_Cobros).Name), _lst_CamposConRelacionABuscar, _lng_id, _lst_ids, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_VTA_Cobros_Listado_Modelo != null) && (g_lst_INTERNO_VTA_Cobros_Listado_Modelo.Count() > 0))
{
dnm_MAE = g_lst_INTERNO_VTA_Cobros_Listado_Modelo.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_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
{
//Filtros de Opciones
//Datos del Padre si los tuviera .........................
long lng_Vencimiento_Padre_id = -1;
string str_Vencimiento_Padre_Opcion = "";
bool bol_FiltrarEjercicio = false;
DateTime? dtt_TemporadaInicio = null;
DateTime? dtt_TemporadaFin = null;
string str_Estado = "";
if (_lst_INTERNO_Filtro_OpcionPadre_Modelo != null && _lst_INTERNO_Filtro_OpcionPadre_Modelo.Count > 0)
{
foreach (INTERNO_Filtro_OpcionPadre_Modelo mdl_INTERNO_Filtro_OpcionPadre_Modelo in _lst_INTERNO_Filtro_OpcionPadre_Modelo)
{
//Ejercicio
if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(nameof(INTERNO_VTA_Cobros_Listado_Modelo.idEjercicio)))
{
//Buscar el Modelo de Ejercicio
GEN_EjerciciosActivos_Empresa mdl_GEN_EjerciciosActivos_Empresa = Datos_Generales.GEN_EjerciciosActivos_Empresa_Obtener_Por_Id(mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR);
if (mdl_GEN_EjerciciosActivos_Empresa != null)
{
bol_FiltrarEjercicio = true;
dtt_TemporadaInicio = mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaInicio;
dtt_TemporadaFin = mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaFin;
}
}
//Estado
else if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(nameof(INTERNO_VTA_Cobros_Listado_Modelo.estado)))
{
str_Estado = (string)mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR_AUXILIAR;
}
//vencimiento
else if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(Variables.G_STR_OPCION_VTA_VENCIMIENTO) ||
mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(Variables.G_STR_OPCION_VTA_VENCIMIENTO_AUX_1))
{
lng_Vencimiento_Padre_id = mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR;
str_Vencimiento_Padre_Opcion = mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO;
}
}
}
string str_SQL =
" SELECT " +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.id) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idVencimiento) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.fecha) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.codigo) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idTesoreria) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTesoreria) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.comision) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.comision) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.correo) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.correo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.porcentajeComision) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.porcentajeComision) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.importeComision) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.importeComision) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.observaciones) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.observaciones) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.fechaVencimientoTalon) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaVencimientoTalon) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.confirmado) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.confirmado) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.efecto) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.efecto) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idTipoPago) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTipoPago) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idVendedor) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVendedor) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idClaveAnalitica) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idClaveAnalitica) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idPredefinidoCabecera_Cobro) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idPredefinidoCabecera_Negociacion) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.importe) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.importe) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.estado) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.estado) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.mantenerPendiente) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.mantenerPendiente) + "," +
//ids
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idCliente) + " = " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idCliente) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idEmpresa) + " = " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idEmpresa) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idSocio) + " = " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idSocio) + "," +
//Tesoreria
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Codigo) + " = " + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Descripcion) + " =" + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_FechaBorrado) + " =" + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_FechaBorrado) + " = NULL, "
)
) +
//FacturaCabecera
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_NumeroFactura) + "= " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.numeroFactura) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Fecha) + "= " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.fecha) + "," +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Codigo) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Descripcion) + " =" + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_FechaBorrado) + " =" + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_FechaBorrado) + " = NULL, "
)
) +
//Cliente
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_Codigo) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_RazonSocial) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.razonSocial) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_FechaBorrado) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_RazonSocial) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_FechaBorrado) + " = NULL, "
)
) +
//Socio
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Codigo) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Descripcion) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.razonSocial) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_FechaBorrado) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_FechaBorrado) + " = NULL, "
)
) +
//Vencimiento
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vencimiento_Codigo) + " = " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vencimiento_Descripcion) + " = " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.observaciones) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vencimiento_FechaBorrado) + " = " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.fechaBorrado) + "," +
//TipoPago
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Codigo) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Descripcion) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_FechaBorrado) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_FechaBorrado) + " = NULL, "
)
) +
//Vendedor
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Codigo) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Nombre) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.nombre) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_FechaBorrado) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Nombre) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_FechaBorrado) + " = NULL, "
)
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Codigo) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Descripcion) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = NULL, "
)
) +
//PredefinidoCabecera(Cobro)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Codigo) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Descripcion) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_FechaBorrado) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_FechaBorrado) + " = NULL, "
)
) +
//PredefinidoCabecera(Negociacion)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Codigo) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Descripcion) + " =" + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_FechaBorrado) + " =" + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ""
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_FechaBorrado) + " = NULL "
)
) +
" FROM " + nameof(VTA_Cobros) +
" INNER JOIN " + nameof(VTA_Vencimientos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=" + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) +
" INNER JOIN " + nameof(VTA_FacturasCabecera) + " ON " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.idFacturaCabecera) + "=" + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.id) +
//Tesoreria
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria)))
?
(
" LEFT JOIN " + nameof(MAE_Tesorerias) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTesoreria) + " = " + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.id)
)
: ("")
) +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa)))
?
(
" LEFT JOIN " + nameof(GEN_Empresas) + " ON " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idEmpresa) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.id)
)
: ("")
) +
//Cliente
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente)))
?
(
" LEFT JOIN " + nameof(MAE_Clientes) + " ON " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idCliente) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.id)
)
: ("")
) +
//Socio
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio)))
?
(
" LEFT JOIN " + nameof(GTT_Socios) + " ON " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idSocio) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.id)
)
: ("")
) +
//TipoPago
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago)))
?
(
" LEFT JOIN " + nameof(MAE_TiposPagos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTipoPago) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.id)
)
: ("")
) +
//Vendedor
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor)))
?
(
" LEFT JOIN " + nameof(MAE_Vendedores) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVendedor) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.id)
)
: ("")
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica)))
?
(
" LEFT JOIN " + nameof(CTA_ClavesAnaliticas) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idClaveAnalitica) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.id)
)
: ("")
) +
//PredefinidoCabecera(Cobro)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1 ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabecera(Negociacion)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS " + nameof(CTA_PredefinidosCabeceras) + "_AUX_2 ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
" WHERE " +
//fechaBorrado
" ( " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null ) AND " +
//id
" ( " +
(
(_lng_id > -1)
? (nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "=@id ")
: " 1 = 1 "
) +
" ) AND " +
//Vencimiento
" ( " +
(
(!str_Vencimiento_Padre_Opcion.Equals("") && lng_Vencimiento_Padre_id > -1)
? nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=@idVencimiento "
: " 1 = 1 "
) +
" ) AND " +
//estado
" ( " +
(
(str_Estado.Trim().Length > 0)
? nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.estado) + "<>@estado "
: " 1 = 1 "
) +
" ) and " +
//Ejercicio
" ( " +
(
bol_FiltrarEjercicio == true
? (nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + " <=@TemporadaFin AND " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + " >=@TemporadaInicio ")
: " 1 = 1 "
) +
" ) ";
//Parametros
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
if (_lng_id > -1)
{
lst_Parametros.Add(new SqlParameter("@id", _lng_id));
}
if (str_Estado.Trim().Length > 0)
{
lst_Parametros.Add(new SqlParameter("@estado", str_Estado));
}
if (!str_Vencimiento_Padre_Opcion.Equals("") && lng_Vencimiento_Padre_id > -1)
{
lst_Parametros.Add(new SqlParameter("@idVencimiento", lng_Vencimiento_Padre_id));
}
if (bol_FiltrarEjercicio)
{
lst_Parametros.Add(new SqlParameter("@TemporadaFin", dtt_TemporadaFin.Value));
lst_Parametros.Add(new SqlParameter("@TemporadaInicio", dtt_TemporadaInicio.Value));
}
object[] arr_Parametros = lst_Parametros.ToArray();
//Rellenar el Modelo
g_lst_INTERNO_VTA_Cobros_Listado_Modelo = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_VTA_Cobros_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
//Añadir los Ejercicios
if (g_lst_INTERNO_VTA_Cobros_Listado_Modelo != null && g_lst_INTERNO_VTA_Cobros_Listado_Modelo.Count > 0)
{
Agregar_Ejercicios(_lng_idEmpresaSeleccionada);
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(ConsultaRellenar_Listado), true);
}
}
private void Agregar_Ejercicios(long _lng_idEmpresaSeleccionada)
{
try
{
List<GEN_EjerciciosActivos_Empresa> lst_GEN_EjerciciosActivos_Empresa = Datos_Generales.GEN_EjerciciosActivos_Empresa_Obtener_Listado_Por_Empresa(_lng_idEmpresaSeleccionada);
if (lst_GEN_EjerciciosActivos_Empresa != null)
{
//Rellenar el Listado
foreach (INTERNO_VTA_Cobros_Listado_Modelo mdl_INTERNO_VTA_Cobros_Listado_Modelo in g_lst_INTERNO_VTA_Cobros_Listado_Modelo)
{
mdl_INTERNO_VTA_Cobros_Listado_Modelo.Ejercicios_Empresa = lst_GEN_EjerciciosActivos_Empresa.Where(m => m.temporadaFechaFin >= mdl_INTERNO_VTA_Cobros_Listado_Modelo.fecha &&
m.temporadaFechaInicio <= mdl_INTERNO_VTA_Cobros_Listado_Modelo.fecha)
.FirstOrDefault();
}
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Agregar_Ejercicios), true);
}
}
#endregion
#region Listado Secundario
private List<INTERNO_VTA_Cobros_Listado_Modelo> g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO = null;
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)
{
Exferia_Entities obj_Exferia_Entities = null;
List<dynamic> lst_VTA = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
// Consulta .....................................................
ConsultaRellenar_Listado_Secundario(obj_Exferia_Entities, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(VTA_Cobros).Name), _lst_CamposConRelacionABuscar, -1, null, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO != null) && (g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO.Count() > 0))
{
lst_VTA = g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_Listado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lst_VTA;
}
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)
{
Exferia_Entities obj_Exferia_Entities = null;
dynamic dnm_VTA = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
// Consulta .....................................................
ConsultaRellenar_Listado_Secundario(obj_Exferia_Entities, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(VTA_Cobros).Name), _lst_CamposConRelacionABuscar, _lng_id, _lst_ids, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO != null) && (g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO.Count() > 0))
{
dnm_VTA = g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_RegistroListado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return dnm_VTA;
}
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)
{
string str_Filtro_IDS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(VTA_Cobros),
nameof(VTA_Cobros.id),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.AND_FIN,
_lst_ids);
//Datos del Padre si los tuviera .........................
bool bol_FiltrarEjercicio = false;
DateTime? dtt_TemporadaInicio = null;
DateTime? dtt_TemporadaFin = null;
long lng_idCliente = -1;
string str_Opcion_Cliente = "";
if (_lst_INTERNO_Filtro_OpcionPadre_Modelo != null && _lst_INTERNO_Filtro_OpcionPadre_Modelo.Count > 0)
{
foreach (INTERNO_Filtro_OpcionPadre_Modelo mdl_INTERNO_Filtro_OpcionPadre_Modelo in _lst_INTERNO_Filtro_OpcionPadre_Modelo)
{
//Ejercicio
if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(nameof(INTERNO_VTA_Cobros_Listado_Modelo.idEjercicio)))
{
//Buscar el Modelo de Ejercicio
GEN_EjerciciosActivos_Empresa mdl_GEN_EjerciciosActivos_Empresa = Datos_Generales.GEN_EjerciciosActivos_Empresa_Obtener_Por_Id(mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR);
if (mdl_GEN_EjerciciosActivos_Empresa != null)
{
bol_FiltrarEjercicio = true;
dtt_TemporadaInicio = mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaInicio;
dtt_TemporadaFin = mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaFin;
}
}
//CLIENTE
else if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(Variables.G_STR_OPCION_MAE_CLIENTE))
{
lng_idCliente = mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR;
str_Opcion_Cliente = mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO;
}
}
}
string str_SQL =
" SELECT " +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.id) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idVencimiento) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.fecha) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.codigo) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idTesoreria) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTesoreria) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.comision) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.comision) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.correo) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.correo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.porcentajeComision) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.porcentajeComision) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.importeComision) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.importeComision) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.observaciones) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.observaciones) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.fechaVencimientoTalon) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaVencimientoTalon) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.confirmado) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.confirmado) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.efecto) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.efecto) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idTipoPago) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTipoPago) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idVendedor) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVendedor) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idClaveAnalitica) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idClaveAnalitica) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idPredefinidoCabecera_Cobro) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idPredefinidoCabecera_Negociacion) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.importe) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.importe) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.estado) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.estado) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.mantenerPendiente) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.mantenerPendiente) + "," +
//ids
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idCliente) + " = " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idCliente) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idEmpresa) + " = " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idEmpresa) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.idSocio) + " = " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idSocio) + "," +
//Tesoreria
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Codigo) + " = " + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Descripcion) + " =" + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_FechaBorrado) + " =" + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria_FechaBorrado) + " = NULL, "
)
) +
//FacturaCabecera
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_NumeroFactura) + "= " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.numeroFactura) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Fecha) + "= " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.fecha) + "," +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Codigo) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Descripcion) + " =" + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_FechaBorrado) + " =" + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa_FechaBorrado) + " = NULL, "
)
) +
//Cliente
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_Codigo) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_RazonSocial) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.razonSocial) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_FechaBorrado) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_RazonSocial) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente_FechaBorrado) + " = NULL, "
)
) +
//Socio
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Codigo) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Descripcion) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.razonSocial) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_FechaBorrado) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio_FechaBorrado) + " = NULL, "
)
) +
//Vencimiento
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vencimiento_Codigo) + " = " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vencimiento_Descripcion) + " = " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.observaciones) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vencimiento_FechaBorrado) + " = " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.fechaBorrado) + "," +
//TipoPago
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Codigo) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Descripcion) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_FechaBorrado) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago_FechaBorrado) + " = NULL, "
)
) +
//Vendedor
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Codigo) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Nombre) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.nombre) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_FechaBorrado) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_Nombre) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor_FechaBorrado) + " = NULL, "
)
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Codigo) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Descripcion) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = NULL, "
)
) +
//PredefinidoCabecera(Cobro)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Codigo) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Descripcion) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_FechaBorrado) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro_FechaBorrado) + " = NULL, "
)
) +
//PredefinidoCabecera(Negociacion)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion)))
?
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Codigo) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Descripcion) + " =" + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_FechaBorrado) + " =" + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ""
)
:
(
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Codigo) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_Descripcion) + " = ''," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion_FechaBorrado) + " = NULL "
)
) +
" FROM " + nameof(VTA_Cobros) +
" INNER JOIN " + nameof(VTA_Vencimientos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=" + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) +
" INNER JOIN " + nameof(VTA_FacturasCabecera) + " ON " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.idFacturaCabecera) + "=" + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.id) +
//Tesoreria
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Tesoreria)))
?
(
" LEFT JOIN " + nameof(MAE_Tesorerias) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTesoreria) + " = " + nameof(MAE_Tesorerias) + "." + nameof(MAE_Tesorerias.id)
)
: ("")
) +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Empresa)))
?
(
" LEFT JOIN " + nameof(GEN_Empresas) + " ON " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idEmpresa) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.id)
)
: ("")
) +
//Cliente
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Cliente)))
?
(
" LEFT JOIN " + nameof(MAE_Clientes) + " ON " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idCliente) + " = " + nameof(MAE_Clientes) + "." + nameof(MAE_Clientes.id)
)
: ("")
) +
//Socio
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.FacturaCabecera_Socio)))
?
(
" LEFT JOIN " + nameof(GTT_Socios) + " ON " + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idSocio) + " = " + nameof(GTT_Socios) + "." + nameof(GTT_Socios.id)
)
: ("")
) +
//TipoPago
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.TipoPago)))
?
(
" LEFT JOIN " + nameof(MAE_TiposPagos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTipoPago) + " = " + nameof(MAE_TiposPagos) + "." + nameof(MAE_TiposPagos.id)
)
: ("")
) +
//Vendedor
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.Vendedor)))
?
(
" LEFT JOIN " + nameof(MAE_Vendedores) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVendedor) + " = " + nameof(MAE_Vendedores) + "." + nameof(MAE_Vendedores.id)
)
: ("")
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.ClaveAnalitica)))
?
(
" LEFT JOIN " + nameof(CTA_ClavesAnaliticas) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idClaveAnalitica) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.id)
)
: ("")
) +
//PredefinidoCabecera(Cobro)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Cobro)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1 ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_1." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabecera(Negociacion)
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_VTA_Cobros_Listado_Modelo.PredefinidoCabecera_Negociacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS " + nameof(CTA_PredefinidosCabeceras) + "_AUX_2 ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + " = " + nameof(CTA_PredefinidosCabeceras) + "_AUX_2." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
" WHERE " +
//fechaBorrado
" ( " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null ) AND " +
//id
" ( " +
(
(_lng_id > -1)
? (nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "=@id ")
: " 1 = 1 "
) +
" ) AND " +
//ids
str_Filtro_IDS +
//Cliente
" ( " +
(
(str_Opcion_Cliente != "")
? (nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.idCliente) + "=@idCliente ")
: " 1 = 1 "
) +
" ) AND " +
//Ejercicio
" ( " +
(
bol_FiltrarEjercicio == true
? (nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + " <=@TemporadaFin AND " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + " >=@TemporadaInicio ")
: " 1 = 1 "
) +
" ) ";
//Parametros
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
if (_lng_id > -1)
{
lst_Parametros.Add(new SqlParameter("@id", _lng_id));
}
if (str_Opcion_Cliente != "")
{
lst_Parametros.Add(new SqlParameter("@idCliente", lng_idCliente));
}
if (bol_FiltrarEjercicio)
{
lst_Parametros.Add(new SqlParameter("@TemporadaFin", dtt_TemporadaFin.Value));
lst_Parametros.Add(new SqlParameter("@TemporadaInicio", dtt_TemporadaInicio.Value));
}
object[] arr_Parametros = lst_Parametros.ToArray();
//Rellenar el Modelo
g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_VTA_Cobros_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
//Añadir los Ejercicios
if (g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO != null && g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO.Count > 0)
{
Agregar_Ejercicios_ListadoSecundario(_lng_idEmpresaSeleccionada);
}
}
private void Agregar_Ejercicios_ListadoSecundario(long _lng_idEmpresaSeleccionada)
{
try
{
List<GEN_EjerciciosActivos_Empresa> lst_GEN_EjerciciosActivos_Empresa = Datos_Generales.GEN_EjerciciosActivos_Empresa_Obtener_Listado_Por_Empresa(_lng_idEmpresaSeleccionada);
if (lst_GEN_EjerciciosActivos_Empresa != null)
{
//Rellenar el Listado
foreach (INTERNO_VTA_Cobros_Listado_Modelo mdl_INTERNO_VTA_Cobros_Listado_Modelo in g_lst_INTERNO_VTA_Cobros_Listado_Modelo_LISTADOSECUNDARIO)
{
mdl_INTERNO_VTA_Cobros_Listado_Modelo.Ejercicios_Empresa = lst_GEN_EjerciciosActivos_Empresa.Where(m => m.temporadaFechaFin >= mdl_INTERNO_VTA_Cobros_Listado_Modelo.fecha &&
m.temporadaFechaInicio <= mdl_INTERNO_VTA_Cobros_Listado_Modelo.fecha)
.FirstOrDefault();
}
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Agregar_Ejercicios_ListadoSecundario), true);
}
}
#endregion
#region F3
private INTERNO_VTA_Cobros_Listado_Modelo g_mdl_INTERNO_VTA_Cobros_Listado_Modelo_F3 = 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(VTA_Cobros_Datos).Name), _str_CampoBusqueda, _str_filtro, -1, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if (g_mdl_INTERNO_VTA_Cobros_Listado_Modelo_F3 != null)
{
dnm_MAE = g_mdl_INTERNO_VTA_Cobros_Listado_Modelo_F3;
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_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;
//Conuslta ......................................................
ConsultaRellenar_F3(obj_Exferia_Entities, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(VTA_Cobros_Datos).Name), "", "", _lng_id, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if (g_mdl_INTERNO_VTA_Cobros_Listado_Modelo_F3 != null)
{
dnm_MAE = g_mdl_INTERNO_VTA_Cobros_Listado_Modelo_F3;
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_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_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)
{
try
{
var arr_idEmpresasRelacionas = _lst_idEmpresasRelacionadas.ToArray();
//Filtros de Opciones
//Datos del Padre si los tuviera .........................
long lng_Vencimiento_Padre_id = -1;
string str_Vencimiento_Padre_Opcion = "";
bool bol_FiltrarEjercicio = false;
DateTime? dtt_TemporadaInicio = null;
DateTime? dtt_TemporadaFin = null;
string str_Estado = "";
if (_lst_INTERNO_Filtro_OpcionPadre_Modelo != null && _lst_INTERNO_Filtro_OpcionPadre_Modelo.Count > 0)
{
foreach (INTERNO_Filtro_OpcionPadre_Modelo mdl_INTERNO_Filtro_OpcionPadre_Modelo in _lst_INTERNO_Filtro_OpcionPadre_Modelo)
{
//Ejercicio
if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(nameof(INTERNO_VTA_Cobros_Listado_Modelo.idEjercicio)))
{
//Buscar el Modelo de Ejercicio
GEN_EjerciciosActivos_Empresa mdl_GEN_EjerciciosActivos_Empresa = Datos_Generales.GEN_EjerciciosActivos_Empresa_Obtener_Por_Id(mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR);
if (mdl_GEN_EjerciciosActivos_Empresa != null)
{
bol_FiltrarEjercicio = true;
dtt_TemporadaInicio = mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaInicio;
dtt_TemporadaFin = mdl_GEN_EjerciciosActivos_Empresa.temporadaFechaFin;
}
}
//Estado
else if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(nameof(INTERNO_VTA_Cobros_Listado_Modelo.estado)))
{
str_Estado = (string)mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR_AUXILIAR;
}
else if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(Variables.G_STR_OPCION_VTA_VENCIMIENTO) ||
mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(Variables.G_STR_OPCION_VTA_VENCIMIENTO_AUX_1))
{
lng_Vencimiento_Padre_id = mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR;
str_Vencimiento_Padre_Opcion = mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO;
}
}
}
long lng_Filtro = long.Parse(_str_Filtro);
string str_SQL =
" SELECT distinct " +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.id) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "," +
nameof(INTERNO_VTA_Cobros_Listado_Modelo.codigo) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.codigo) +
" FROM " + nameof(VTA_Cobros) +
" INNER JOIN " + nameof(VTA_Vencimientos) + " on " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=" + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) +
" WHERE " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " IS null AND " +
" ( " +
(
_lng_id > -1
? (nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + " = " + _lng_id)
: (nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.codigo) + " = " + lng_Filtro)
) +
" ) AND " +
//Vencimiento
" ( " +
(
(!str_Vencimiento_Padre_Opcion.Equals("") && lng_Vencimiento_Padre_id > -1)
? nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=@idVencimiento "
: " 1 = 1 "
) +
" ) AND " +
//estado
" ( " +
(
(str_Estado.Trim().Length > 0)
? nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.estado) + "<>@estado "
: " 1 = 1 "
) +
" ) and " +
//Ejercicio
" ( " +
(
bol_FiltrarEjercicio == true
? (nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + " <=@TemporadaFin AND " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + " >=@TemporadaInicio ")
: " 1 = 1 "
) +
" ) ";
//Parametros
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
if (str_Estado.Trim().Length > 0)
{
lst_Parametros.Add(new SqlParameter("@estado", str_Estado));
}
if (!str_Vencimiento_Padre_Opcion.Equals("") && lng_Vencimiento_Padre_id > -1)
{
lst_Parametros.Add(new SqlParameter("@idVencimiento", lng_Vencimiento_Padre_id));
}
if (bol_FiltrarEjercicio)
{
lst_Parametros.Add(new SqlParameter("@TemporadaFin", dtt_TemporadaFin.Value));
lst_Parametros.Add(new SqlParameter("@TemporadaInicio", dtt_TemporadaInicio.Value));
}
object[] arr_Parametros = lst_Parametros.ToArray();
//Rellenar el Modelo
g_mdl_INTERNO_VTA_Cobros_Listado_Modelo_F3 = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_VTA_Cobros_Listado_Modelo>(str_SQL, arr_Parametros).FirstOrDefault();
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_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 = 9;
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(VTA_Cobros.id) + "," +
nameof(VTA_Cobros.codigo) + "," +
nameof(VTA_Cobros.idVencimiento) + "," +
nameof(VTA_Cobros.fecha) + "," +
nameof(VTA_Cobros.idTesoreria) + "," +
nameof(VTA_Cobros.comision) + "," +
nameof(VTA_Cobros.correo) + "," +
nameof(VTA_Cobros.porcentajeComision) + "," +
nameof(VTA_Cobros.importeComision) + "," +
nameof(VTA_Cobros.observaciones) + "," +
nameof(VTA_Cobros.fechaVencimientoTalon) + "," +
nameof(VTA_Cobros.efecto) + "," +
nameof(VTA_Cobros.idTipoPago) + "," +
nameof(VTA_Cobros.idVendedor) + "," +
nameof(VTA_Cobros.idClaveAnalitica) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "," +
nameof(VTA_Cobros.importe) + "," +
nameof(VTA_Cobros.idRemesaLinea) + "," +
nameof(VTA_Cobros.estado) + "," +
nameof(VTA_Cobros.fechaBorrado) + "," +
nameof(VTA_Cobros.confirmado) + "," +
nameof(VTA_Cobros.mantenerPendiente) +
" FROM " + nameof(VTA_Cobros) +
" WHERE " + nameof(VTA_Cobros.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<VTA_Cobros>(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;
}
//VTA_Vencimientos ##########################################################################################
ThreadStart obj_ThreadStart_VENCIMIENTO = new ThreadStart(Obtener_Vencimiento_Modelo_OBTENER);
Thread obj_Thread_VENCIMIENTO = new Thread(obj_ThreadStart_VENCIMIENTO);
obj_Thread_VENCIMIENTO.Start();
//MAE_Tesorerias ##########################################################################################
if (g_dnm_Modelo_Obtener.idTesoreria != null)
{
ThreadStart obj_ThreadStart_TESORERIA = new ThreadStart(Obtener_Tesoreria_Modelo_OBTENER);
Thread obj_Thread_TESORERIA = new Thread(obj_ThreadStart_TESORERIA);
obj_Thread_TESORERIA.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[1] = true;
}
//MAE_Vendedores ##########################################################################################
if (g_dnm_Modelo_Obtener.idVendedor != null)
{
ThreadStart obj_ThreadStart_VENDEDOR = new ThreadStart(Obtener_Vendedor_Modelo_OBTENER);
Thread obj_Thread_VENDEDOR = new Thread(obj_ThreadStart_VENDEDOR);
obj_Thread_VENDEDOR.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[2] = true;
}
//MAE_TiposPagos ##########################################################################################
if (g_dnm_Modelo_Obtener.idTipoPago != null)
{
ThreadStart obj_ThreadStart_TIPOPAGO = new ThreadStart(Obtener_TipoPago_Modelo_OBTENER);
Thread obj_Thread_TIPOPAGO = new Thread(obj_ThreadStart_TIPOPAGO);
obj_Thread_TIPOPAGO.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[3] = true;
}
//CTA_ClavesAnaliticas ##########################################################################################
if (g_dnm_Modelo_Obtener.idClaveAnalitica != null)
{
ThreadStart obj_ThreadStart_CLAVEANALITICA = new ThreadStart(Obtener_ClaveAnalitica_Modelo_OBTENER);
Thread obj_Thread_CLAVEANALITICA = new Thread(obj_ThreadStart_CLAVEANALITICA);
obj_Thread_CLAVEANALITICA.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[4] = true;
}
//CTA_PredefinidosCabeceras(Cobro) ##########################################################################################
if (g_dnm_Modelo_Obtener.idPredefinidoCabecera_Cobro != null)
{
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERACOBRO = new ThreadStart(Obtener_PredefinidoCabeceraCobro_Modelo_OBTENER);
Thread obj_Thread_PREDEFINIDOCABECERACOBRO = new Thread(obj_ThreadStart_PREDEFINIDOCABECERACOBRO);
obj_Thread_PREDEFINIDOCABECERACOBRO.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[5] = true;
}
//CTA_PredefinidosCabeceras(Negociacion) ##########################################################################################
if (g_dnm_Modelo_Obtener.idPredefinidoCabecera_Negociacion != null)
{
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERANEGOCIACION = new ThreadStart(Obtener_PredefinidoCabeceraNegociacion_Modelo_OBTENER);
Thread obj_Thread_PREDEFINIDOCABECERANEGOCIACION = new Thread(obj_ThreadStart_PREDEFINIDOCABECERANEGOCIACION);
obj_Thread_PREDEFINIDOCABECERANEGOCIACION.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[6] = true;
}
//VTA_RemesasLinea ##########################################################################################
if (g_dnm_Modelo_Obtener.idRemesaLinea != null)
{
ThreadStart obj_ThreadStart_REMESALINEA = new ThreadStart(Obtener_RemesaLinea_Modelo_OBTENER);
Thread obj_Thread_REMESALINEA = new Thread(obj_ThreadStart_REMESALINEA);
obj_Thread_REMESALINEA.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[7] = true;
}
//VTA_DevolucionesCobros ##########################################################################################
ThreadStart obj_ThreadStart_DEVOLUCIONES = new ThreadStart(Obtener_Devoluciones_Modelo_OBTENER);
Thread obj_Thread_DEVOLUCIONES = new Thread(obj_ThreadStart_DEVOLUCIONES);
obj_Thread_DEVOLUCIONES.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(VTA_Cobros_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_Vencimiento_Modelo_OBTENER()
{
try
{
VTA_Vencimientos_Datos obj_VTA_Vencimientos_Datos = new VTA_Vencimientos_Datos();
g_dnm_Modelo_Obtener.VTA_Vencimientos = obj_VTA_Vencimientos_Datos.Obtener_Modelo_Por_Id(g_dnm_Modelo_Obtener.idVencimiento, false);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[0] = true;
}
}
private void Obtener_Tesoreria_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_MAETESORERIAS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
//Obtener valores
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idTesoreria };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.MAE_Tesorerias = (MAE_Tesorerias)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[1] = true;
}
}
private void Obtener_Vendedor_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_MAEVENDEDORES_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
//Obtener valores
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idVendedor };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.MAE_Vendedores = (MAE_Vendedores)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[2] = true;
}
}
private void Obtener_TipoPago_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_MAETIPOSPAGOS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
//Obtener valores
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idTipoPago };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.MAE_TiposPagos = (MAE_TiposPagos)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[3] = true;
}
}
private void Obtener_ClaveAnalitica_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_CTACLAVESANALITICAS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
//Obtener valores
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idClaveAnalitica };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.CTA_ClavesAnaliticas = (CTA_ClavesAnaliticas)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
finally
{
g_bol_Hilos_Terminados_Obtener[4] = true;
}
}
private void Obtener_PredefinidoCabeceraCobro_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_Cobro };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.CTA_PredefinidosCabeceras = (CTA_PredefinidosCabeceras)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
finally
{
g_bol_Hilos_Terminados_Obtener[5] = true;
}
}
private void Obtener_PredefinidoCabeceraNegociacion_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_Negociacion };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.CTA_PredefinidosCabeceras1 = (CTA_PredefinidosCabeceras)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
finally
{
g_bol_Hilos_Terminados_Obtener[6] = true;
}
}
private void Obtener_RemesaLinea_Modelo_OBTENER()
{
try
{
VTA_RemesasLinea_Datos obj_VTA_RemesasLinea_Datos = new VTA_RemesasLinea_Datos();
g_dnm_Modelo_Obtener.VTA_RemesasLinea = obj_VTA_RemesasLinea_Datos.Obtener_Modelo_Por_Id(g_dnm_Modelo_Obtener.idRemesaLinea, true);
}
finally
{
g_bol_Hilos_Terminados_Obtener[7] = true;
}
}
private void Obtener_Devoluciones_Modelo_OBTENER()
{
try
{
VTA_DevolucionesCobros_Datos obj_VTA_DevolucionesCobros_Datos = new VTA_DevolucionesCobros_Datos();
g_dnm_Modelo_Obtener.VTA_DevolucionesCobros = obj_VTA_DevolucionesCobros_Datos.Obtener_ModeloListado_Por_Cobro(g_dnm_Modelo_Obtener.id);
}
finally
{
g_bol_Hilos_Terminados_Obtener[8] = 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 Para Volcado
private INTERNO_VTA_Cobros_Volcado_Modelo g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo = null;
private static int g_int_TotalHilos_Obtener_PARAVOLCADO = 2;
private bool[] g_bol_Hilos_Terminados_Obtener_PARAVOLCADO = new bool[g_int_TotalHilos_Obtener_PARAVOLCADO];
public INTERNO_VTA_Cobros_Volcado_Modelo Obtener_Volcado(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_VTA_Cobros_Volcado_Modelo.id) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.codigo) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.codigo) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idVencimiento) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.fecha) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fecha) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idTesoreria) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTesoreria) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.comision) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.comision) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.correo) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.correo) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.porcentajeComision) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.porcentajeComision) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.importeComision) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.importeComision) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.observaciones) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.observaciones) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.fechaVencimientoTalon) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaVencimientoTalon) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.confirmado) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.confirmado) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.efecto) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.efecto) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.estado) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.estado) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idTipoPago) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idTipoPago) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idVendedor) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVendedor) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idClaveAnalitica) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idClaveAnalitica) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idPredefinidoCabecera_Cobro) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idPredefinidoCabecera_Negociacion) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.importe) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.importe) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.idRemesaLinea) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idRemesaLinea) + "," +
nameof(INTERNO_VTA_Cobros_Volcado_Modelo.fechaBorrado) + "=" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) +
" FROM " + nameof(VTA_Cobros) +
" WHERE " + nameof(VTA_Cobros.id) + "=@id ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@id", _lng_id)
};
//Rellenar el Modelo
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo = obj_Exferia_Entities.Database.SqlQuery<INTERNO_VTA_Cobros_Volcado_Modelo>(str_SQL, arr_Parametros).FirstOrDefault();
#region Rellenar Tablas Relacionadas
if (g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo != null)
{
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_Obtener_PARAVOLCADO; int_Contador++)
{
g_bol_Hilos_Terminados_Obtener_PARAVOLCADO[int_Contador] = false;
}
//VTA_Cobros ##########################################################################################
ThreadStart obj_ThreadStart_VENCIMIENTO = new ThreadStart(Obtener_Vencimiento_Modelo_PARAVOLCADO);
Thread obj_Thread_VENCIMIENTO = new Thread(obj_ThreadStart_VENCIMIENTO);
obj_Thread_VENCIMIENTO.Start();
//MAE_Tesorerias ##########################################################################################
if (g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.idTesoreria != null)
{
ThreadStart obj_ThreadStart_TESORERIA = new ThreadStart(Obtener_Tesoreria_Modelo_PARAVOLCADO);
Thread obj_Thread_TESORERIA = new Thread(obj_ThreadStart_TESORERIA);
obj_Thread_TESORERIA.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener_PARAVOLCADO[1] = 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_Obtener_PARAVOLCADO)
{
if (bol_Termino_Hilo == false)
{
bol_Termino = false;
break;
}
}
Thread.Sleep(10);
}
//.................................................................................
//FacturaCabcera
if (g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos != null &&
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera != null)
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.FacturaCabecera = g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera;
//Cliente
if (g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera.MAE_Clientes != null)
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.Cliente = g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera.MAE_Clientes;
}
else
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.Cliente = null;
}
//Socio
if (g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera.GTT_Socios != null)
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.Socio = g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera.GTT_Socios;
}
else
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.Socio = null;
}
//Delegacion
if (g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera.GEN_Delegaciones != null)
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.Delegacion = g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos.VTA_FacturasCabecera.GEN_Delegaciones;
}
else
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.Delegacion = null;
}
}
else
{
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.FacturaCabecera = null;
}
}
#endregion
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_Volcado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo;
}
#region Tablas Relacionadas
private void Obtener_Vencimiento_Modelo_PARAVOLCADO()
{
try
{
VTA_Vencimientos_Datos obj_VTA_Vencimientos_Datos = new VTA_Vencimientos_Datos();
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.VTA_Vencimientos = obj_VTA_Vencimientos_Datos.Obtener_Modelo_Por_Id(g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.idVencimiento, true);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener_PARAVOLCADO[0] = true;
}
}
private void Obtener_Tesoreria_Modelo_PARAVOLCADO()
{
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_MAETESORERIAS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
//Obtener valores
object[] arr_Parametros = { g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.idTesoreria.Value };
//Pasamos los parametros al metodo y lo ejecutamos
g_mdl_INTERNO_VTA_Cobros_Volcado_Modelo.MAE_Tesorerias = (MAE_Tesorerias)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener_PARAVOLCADO[1] = 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(VTA_Cobros.estado) +
" FROM " + nameof(VTA_Cobros) +
" WHERE " +
nameof(VTA_Cobros.fechaBorrado) + " is null and " +
nameof(VTA_Cobros.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();
if (str_Estado == null)
{
str_Estado = "";
}
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_Estado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return str_Estado;
}
#region Obtener Importe Total
public decimal Obtener_ImporteTotal_Por_Vencimiento(long _lng_idVencimiento)
{
Exferia_Entities obj_Exferia_Entities = null;
decimal dcm_ImporteTotal = 0m;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_SQL =
" SELECT " +
" sum(" + nameof(VTA_Cobros.importe) + ") " +
" FROM " + nameof(VTA_Cobros) +
" WHERE " +
nameof(VTA_Cobros.fechaBorrado) + " is null and " +
nameof(VTA_Cobros.idVencimiento) + "=@idVencimiento ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@idVencimiento", _lng_idVencimiento)
};
//Rellenar el modelo
decimal? dcm_ImporteTotal_AUX = obj_Exferia_Entities.Database.SqlQuery<decimal?>(str_SQL, arr_Parametros).FirstOrDefault();
if (dcm_ImporteTotal_AUX != null)
{
dcm_ImporteTotal = dcm_ImporteTotal_AUX.Value;
}
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_ImporteTotal_Por_Vencimiento), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return dcm_ImporteTotal;
}
public List<INTERNO_ImporteTotalVencimientos_Modelo> Obtener_ImporteTotal_Por_Vencimientos(List<long> _lst_idVencimiento)
{
Exferia_Entities obj_Exferia_Entities = null;
List<INTERNO_ImporteTotalVencimientos_Modelo> lst_INTERNO_ImporteTotalVencimientos_Modelo = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_Filtro_Vencimientos = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(VTA_Cobros),
nameof(VTA_Cobros.idVencimiento),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.NADA,
_lst_idVencimiento);
string str_SQL =
" SELECT " +
nameof(INTERNO_ImporteTotalVencimientos_Modelo.IdVencimiento) + "=" + nameof(VTA_Cobros.idVencimiento) + "," +
nameof(INTERNO_ImporteTotalVencimientos_Modelo.ImporteTotal) + "= sum(" + nameof(VTA_Cobros.importe) + ") " +
" FROM " + nameof(VTA_Cobros) +
" WHERE " +
nameof(VTA_Cobros.fechaBorrado) + " is null and " +
str_Filtro_Vencimientos +
" GROUP BY " +
nameof(VTA_Cobros.idVencimiento);
//Rellenar el modelo
lst_INTERNO_ImporteTotalVencimientos_Modelo = obj_Exferia_Entities.Database.SqlQuery<INTERNO_ImporteTotalVencimientos_Modelo>(str_SQL, new object[] { }).ToList();
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_ImporteTotal_Por_Vencimientos), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lst_INTERNO_ImporteTotalVencimientos_Modelo;
}
public decimal Obtener_ImporteTotal_Por_FacturaCabecera(long _lng_idFacturaCabecera)
{
Exferia_Entities obj_Exferia_Entities = null;
decimal dcm_ImporteTotal = 0m;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_SQL =
" SELECT " +
" sum(" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.importe) + ") " +
" FROM " + nameof(VTA_Cobros) +
" INNER JOIN " + nameof(VTA_Vencimientos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=" + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) +
" WHERE " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null and " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.fechaBorrado) + " is null and " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.idFacturaCabecera) + "=@idFacturaCabecera ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@idFacturaCabecera", _lng_idFacturaCabecera)
};
//Rellenar el modelo
decimal? dcm_ImporteTotal_AUX = obj_Exferia_Entities.Database.SqlQuery<decimal?>(str_SQL, arr_Parametros).FirstOrDefault();
if (dcm_ImporteTotal_AUX != null)
{
dcm_ImporteTotal = dcm_ImporteTotal_AUX.Value;
}
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_ImporteTotal_Por_FacturaCabecera), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return dcm_ImporteTotal;
}
#endregion
public bool Existen_Cobros_De_Facturas(long _lng_idFacturaCabecera)
{
Exferia_Entities obj_Exferia_Entities = null;
bool bol_ExistenCobros = false;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_SQL =
" SELECT count(" + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + ") as Total " +
" FROM " + nameof(VTA_Vencimientos) +
" INNER JOIN " + nameof(VTA_Cobros) + " on " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) + " = " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) +
" WHERE " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.idFacturaCabecera) + " =@idFacturaCabecera AND " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.fechaBorrado) + " is null and " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@idFacturaCabecera", _lng_idFacturaCabecera)
};
//Rellenar el modelo
int? int_Total = obj_Exferia_Entities.Database.SqlQuery<int>(str_SQL, arr_Parametros).FirstOrDefault();
if (int_Total != null && int_Total.Value > 0)
{
bol_ExistenCobros = true;
}
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Existen_Cobros_De_Facturas), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return bol_ExistenCobros;
}
public int TotalFacturas_Con_Cobros(List<long> _lst_idFacturaCabecera)
{
Exferia_Entities obj_Exferia_Entities = null;
int int_Total = 0;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
if (_lst_idFacturaCabecera != null && _lst_idFacturaCabecera.Count > 0)
{
string str_idFacturaCabecera = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(VTA_FacturasCabecera),
nameof(VTA_FacturasCabecera.id),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.NADA,
_lst_idFacturaCabecera);
string str_SQL =
" SELECT COUNT(*) " +
" FROM " +
" ( " +
" SELECT distinct " +
nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.id) +
" FROM " + nameof(VTA_Cobros) +
" INNER JOIN " + nameof(VTA_Vencimientos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=" + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) +
" INNER JOIN " + nameof(VTA_FacturasCabecera) + " ON " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.idFacturaCabecera) + "=" + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.id) +
" WHERE " +
nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.fechaBorrado) + " is null and " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.fechaBorrado) + " is null and " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null and " +
str_idFacturaCabecera +
" ) as P";
//Rellenar el modelo
int_Total = obj_Exferia_Entities.Database.SqlQuery<int>(str_SQL, new object[] { }).FirstOrDefault();
}
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(TotalFacturas_Con_Cobros), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return int_Total;
}
public List<long> Facturas_Con_Cobros(List<long> _lst_idFacturaCabecera)
{
Exferia_Entities obj_Exferia_Entities = null;
List<long> lst_idFactura = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
if (_lst_idFacturaCabecera != null && _lst_idFacturaCabecera.Count > 0)
{
string str_idFacturaCabecera = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(VTA_FacturasCabecera),
nameof(VTA_FacturasCabecera.id),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.NADA,
_lst_idFacturaCabecera);
string str_SQL =
" SELECT distinct " +
nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.id) +
" FROM " + nameof(VTA_Cobros) +
" INNER JOIN " + nameof(VTA_Vencimientos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=" + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) +
" INNER JOIN " + nameof(VTA_FacturasCabecera) + " ON " + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.idFacturaCabecera) + "=" + nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.id) +
" WHERE " +
nameof(VTA_FacturasCabecera) + "." + nameof(VTA_FacturasCabecera.fechaBorrado) + " is null and " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.fechaBorrado) + " is null and " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null and " +
str_idFacturaCabecera;
//Rellenar el modelo
lst_idFactura = obj_Exferia_Entities.Database.SqlQuery<long>(str_SQL, new object[] { }).ToList();
}
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Facturas_Con_Cobros), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lst_idFactura;
}
public long Obtener_IdFacturaCabecera(long _lng_id)
{
Exferia_Entities obj_Exferia_Entities = null;
long lng_id = -1;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_SQL =
" SELECT " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.idFacturaCabecera) +
" FROM " + nameof(VTA_Cobros) +
" INNER JOIN " + nameof(VTA_Vencimientos) + " ON " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=" + nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.id) +
" WHERE " +
nameof(VTA_Vencimientos) + "." + nameof(VTA_Vencimientos.fechaBorrado) + " is null and " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "=@id ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@id", _lng_id)
};
//Rellenar el modelo
lng_id = obj_Exferia_Entities.Database.SqlQuery<long>(str_SQL, arr_Parametros).FirstOrDefault();
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_IdFacturaCabecera), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lng_id;
}
#endregion
#region MODELOS
#region Modelo Simple
private VTA_Cobros g_mdl_VTA_Cobros = null;
public VTA_Cobros Obtener_Modelo_Por_Id(long _lng_id,
bool _bol_Cargar_Vencimiento)
{
try
{
string str_SQL = Obtener_Consulta_Modelo() +
//WHERE
" WHERE " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.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,
_bol_Cargar_Vencimiento);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_Modelo_Por_Id), true);
}
return g_mdl_VTA_Cobros;
}
#region Ejecutar Consulta Modelo
private static int g_int_TotalHilos_Modelo = 1;
private bool[] g_bol_Hilos_Terminados_Modelo = new bool[g_int_TotalHilos_Modelo];
private void Ejecutar_Consulta_Modelo(string _str_SQL,
object[] _arr_Parametros,
bool _bol_Cargar_Vencimiento)
{
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_VTA_Cobros = obj_Exferia_Entities.Database.SqlQuery<VTA_Cobros>(_str_SQL, _arr_Parametros).FirstOrDefault();
#region Rellenar Tablas Relacionadas
if (g_mdl_VTA_Cobros != null)
{
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_Modelo; int_Contador++)
{
g_bol_Hilos_Terminados_Modelo[int_Contador] = false;
}
//VTA_Vencimientos ##########################################################################################
if (_bol_Cargar_Vencimiento)
{
ThreadStart obj_ThreadStart_VECIMIENTO = new ThreadStart(Obtener_Vencimiento_Modelo);
Thread obj_Thread_VECIMIENTO = new Thread(obj_ThreadStart_VECIMIENTO);
obj_Thread_VECIMIENTO.Start();
}
else
{
g_bol_Hilos_Terminados_Modelo[0] = 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_Modelo)
{
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(VTA_Cobros_Datos) + "/" + nameof(Ejecutar_Consulta_Modelo), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
}
#region Tablas Relacionadas
private void Obtener_Vencimiento_Modelo()
{
try
{
VTA_Vencimientos_Datos obj_VTA_Vencimientos = new VTA_Vencimientos_Datos();
g_mdl_VTA_Cobros.VTA_Vencimientos = obj_VTA_Vencimientos.Obtener_Modelo_Por_Id(g_mdl_VTA_Cobros.idVencimiento, true);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Modelo[0] = true;
}
}
#endregion
#endregion
#endregion
#region Modelo Listado
private List<VTA_Cobros> g_lst_VTA_Cobros = null;
public List<VTA_Cobros> Obtener_ModeloListado_Por_RemesaLinea(long _lng_idRemesaLinea)
{
try
{
//Consulta
string str_SQL = Obtener_Consulta_Modelo() +
//WHERE
" WHERE " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null and " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idRemesaLinea) + "=@idRemesaLinea ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@idRemesaLinea", _lng_idRemesaLinea)
};
//Ejecutar y rellenar el listado
Ejecutar_Consulta_Modelo_Listado(str_SQL,
arr_Parametros,
false);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_ModeloListado_Por_RemesaLinea), true);
}
return g_lst_VTA_Cobros;
}
public List<VTA_Cobros> Obtener_ModeloListado_Por_Vencimiento(long _lng_idVencimiento)
{
try
{
//Consulta
string str_SQL = Obtener_Consulta_Modelo() +
//WHERE
" WHERE " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null and " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=@idVencimiento ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@idVencimiento", _lng_idVencimiento)
};
//Ejecutar y rellenar el listado
Ejecutar_Consulta_Modelo_Listado(str_SQL,
arr_Parametros,
false);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_ModeloListado_Por_Vencimiento), true);
}
return g_lst_VTA_Cobros;
}
public List<VTA_Cobros> Obtener_ModeloListado_Por_VencimientoCobro(long _lng_idVencimiento, long? _lng_idCobro)
{
try
{
//Consulta
string str_SQL = Obtener_Consulta_Modelo() +
//WHERE
" WHERE " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null and " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.idVencimiento) + "=@idVencimiento " +
(
_lng_idCobro != null
? " and " + nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.id) + "<>" + _lng_idCobro.Value
: ""
);
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@idVencimiento", _lng_idVencimiento)
};
//Ejecutar y rellenar el listado
Ejecutar_Consulta_Modelo_Listado(str_SQL,
arr_Parametros,
true);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_ModeloListado_Por_Vencimiento), true);
}
return g_lst_VTA_Cobros;
}
public List<VTA_Cobros> Obtener_ModeloListado_Por_Vencimientos(List<long> _lst_idVencimiento)
{
try
{
string str_Filtro_VENCIMIENTOS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(VTA_Cobros),
nameof(VTA_Cobros.idVencimiento),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.NADA,
_lst_idVencimiento);
//Consulta
string str_SQL = Obtener_Consulta_Modelo() +
//WHERE
" WHERE " +
nameof(VTA_Cobros) + "." + nameof(VTA_Cobros.fechaBorrado) + " is null and " +
str_Filtro_VENCIMIENTOS;
//Ejecutar y rellenar el listado
Ejecutar_Consulta_Modelo_Listado(str_SQL,
new object[] { },
true);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Obtener_ModeloListado_Por_Vencimientos), true);
}
return g_lst_VTA_Cobros;
}
#region Ejecutar Consulta
//Listado de modelos Relacionados
private List<VTA_DevolucionesCobros> g_lst_VTA_DevolucionesCobros = null;
//Hilos
private static int g_int_TotalHilos_Modelo_Listado = 1;
private bool[] g_bol_Hilos_Terminados_Modelo_Listado = new bool[g_int_TotalHilos_Modelo_Listado];
private void Ejecutar_Consulta_Modelo_Listado(string _str_SQL,
object[] _arr_Parametros,
bool _bol_Cargar_Devoluciones)
{
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_VTA_Cobros = obj_Exferia_Entities.Database.SqlQuery<VTA_Cobros>(_str_SQL, _arr_Parametros).ToList();
#region Rellenar tablas Relacionadas
if (g_lst_VTA_Cobros != null && g_lst_VTA_Cobros.Count > 0)
{
if (_bol_Cargar_Devoluciones)
{
#region PRIMERO BUSCO LOS DATOS DE LAS TABLAS RELACIONADAS
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_Modelo_Listado; int_Contador++)
{
g_bol_Hilos_Terminados_Modelo_Listado[int_Contador] = false;
}
//VTA_DevolucionesCobros #############################################
if (_bol_Cargar_Devoluciones)
{
ThreadStart obj_ThreadStart_DEVOLUCIONES = new ThreadStart(Obtener_Devoluciones_Modelo_Listado);
Thread obj_Thread_DEVOLUCIONES = new Thread(obj_ThreadStart_DEVOLUCIONES);
obj_Thread_DEVOLUCIONES.Start();
}
else
{
g_bol_Hilos_Terminados_Modelo_Listado[0] = 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_Modelo_Listado)
{
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 (VTA_Cobros mdl_VTA_Cobros in g_lst_VTA_Cobros)
{
//VTA_DevolucionesCobros #############################################
if (_bol_Cargar_Devoluciones &&
g_lst_VTA_DevolucionesCobros != null &&
g_lst_VTA_DevolucionesCobros.Count > 0)
{
mdl_VTA_Cobros.VTA_DevolucionesCobros = g_lst_VTA_DevolucionesCobros.Where(m => m.idCobro == mdl_VTA_Cobros.id).ToList();
}
}
#endregion
}
}
#endregion
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Ejecutar_Consulta_Modelo_Listado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
}
#region TablasRelacionadas
private void Obtener_Devoluciones_Modelo_Listado()
{
try
{
VTA_DevolucionesCobros_Datos obj_VTA_DevolucionesCobros_Datos = new VTA_DevolucionesCobros_Datos();
g_lst_VTA_DevolucionesCobros = obj_VTA_DevolucionesCobros_Datos.Obtener_ModeloListado_Por_Cobros(g_lst_VTA_Cobros.Select(m => m.id).ToList());
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Modelo_Listado[0] = true;
}
}
#endregion
#endregion
#endregion
private string Obtener_Consulta_Modelo()
{
return
" SELECT " +
nameof(VTA_Cobros.id) + "," +
nameof(VTA_Cobros.codigo) + "," +
nameof(VTA_Cobros.idVencimiento) + "," +
nameof(VTA_Cobros.fecha) + "," +
nameof(VTA_Cobros.idTesoreria) + "," +
nameof(VTA_Cobros.comision) + "," +
nameof(VTA_Cobros.correo) + "," +
nameof(VTA_Cobros.porcentajeComision) + "," +
nameof(VTA_Cobros.importeComision) + "," +
nameof(VTA_Cobros.observaciones) + "," +
nameof(VTA_Cobros.fechaVencimientoTalon) + "," +
nameof(VTA_Cobros.efecto) + "," +
nameof(VTA_Cobros.idTipoPago) + "," +
nameof(VTA_Cobros.idVendedor) + "," +
nameof(VTA_Cobros.idClaveAnalitica) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "," +
nameof(VTA_Cobros.importe) + "," +
nameof(VTA_Cobros.idRemesaLinea) + "," +
nameof(VTA_Cobros.estado) + "," +
nameof(VTA_Cobros.fechaBorrado) + "," +
nameof(VTA_Cobros.confirmado) + "," +
nameof(VTA_Cobros.mantenerPendiente) +
" FROM " + nameof(VTA_Cobros);
}
#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;
VTA_Cobros mdl_VTA_Cobros_AGrabar = (VTA_Cobros)_mdl_obj;
VTA_Cobros mdl_VTA_Cobros_DatosViejos = new VTA_Cobros();
// Ver si existe ######################################################################
VTA_Cobros mdl_VTA_Cobros_Final = Obtener_Modelo_Por_Id(mdl_VTA_Cobros_AGrabar.id, false);
//#####################################################################################
//UPDATE
if (mdl_VTA_Cobros_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_VTA_Cobros_Final, mdl_VTA_Cobros_DatosViejos, false, false);
// Cargar los Datos Nuevos del Modelo
Funciones.CopiarPropiedadesObjetos(mdl_VTA_Cobros_AGrabar, mdl_VTA_Cobros_Final, false, false);
#region Update
string str_SQL_Update = " UPDATE " + nameof(VTA_Cobros) +
" SET " +
nameof(VTA_Cobros.codigo) + "=@codigo," +
nameof(VTA_Cobros.idVencimiento) + "=@idVencimiento," +
nameof(VTA_Cobros.fecha) + "=@fecha," +
nameof(VTA_Cobros.idTesoreria) + "=@idTesoreria," +
nameof(VTA_Cobros.comision) + "=@comision," +
nameof(VTA_Cobros.correo) + "=@correo," +
nameof(VTA_Cobros.porcentajeComision) + "=@porcentajeComision," +
nameof(VTA_Cobros.importeComision) + "=@importeComision," +
nameof(VTA_Cobros.observaciones) + "=@observaciones," +
nameof(VTA_Cobros.fechaVencimientoTalon) + "=@fechaVencimientoTalon," +
nameof(VTA_Cobros.efecto) + "=@efecto," +
nameof(VTA_Cobros.idTipoPago) + "=@idTipoPago," +
nameof(VTA_Cobros.idVendedor) + "=@idVendedor," +
nameof(VTA_Cobros.idClaveAnalitica) + "=@idClaveAnalitica," +
nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "=@idPredefinidoCabecera_Cobro," +
nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "=@idPredefinidoCabecera_Negociacion," +
nameof(VTA_Cobros.importe) + "=@importe," +
nameof(VTA_Cobros.idRemesaLinea) + "=@idRemesaLinea," +
nameof(VTA_Cobros.estado) + "=@estado," +
nameof(VTA_Cobros.fechaBorrado) + "=@fechaBorrado," +
nameof(VTA_Cobros.confirmado) + "=@confirmado," +
nameof(VTA_Cobros.mantenerPendiente) + "=@mantenerPendiente" +
" WHERE " +
nameof(VTA_Cobros.id) + "=@id";
//Parametros
object[] arr_Parametros_Update = new object[]
{
new SqlParameter("@codigo", mdl_VTA_Cobros_Final.codigo),
new SqlParameter("@idVencimiento", mdl_VTA_Cobros_Final.idVencimiento),
new SqlParameter("@fecha", mdl_VTA_Cobros_Final.fecha),
mdl_VTA_Cobros_Final.idTesoreria != null
? new SqlParameter("@idTesoreria", mdl_VTA_Cobros_Final.idTesoreria)
: new SqlParameter("@idTesoreria", DBNull.Value),
mdl_VTA_Cobros_Final.comision != null
? new SqlParameter("@comision", mdl_VTA_Cobros_Final.comision)
: new SqlParameter("@comision", DBNull.Value),
mdl_VTA_Cobros_Final.correo != null
? new SqlParameter("@correo", mdl_VTA_Cobros_Final.correo)
: new SqlParameter("@correo", DBNull.Value),
mdl_VTA_Cobros_Final.porcentajeComision != null
? new SqlParameter("@porcentajeComision", mdl_VTA_Cobros_Final.porcentajeComision)
: new SqlParameter("@porcentajeComision", DBNull.Value),
mdl_VTA_Cobros_Final.importeComision != null
? new SqlParameter("@importeComision", mdl_VTA_Cobros_Final.importeComision)
: new SqlParameter("@importeComision", DBNull.Value),
mdl_VTA_Cobros_Final.observaciones != null
? new SqlParameter("@observaciones", mdl_VTA_Cobros_Final.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
mdl_VTA_Cobros_Final.fechaVencimientoTalon != null
? new SqlParameter("@fechaVencimientoTalon", mdl_VTA_Cobros_Final.fechaVencimientoTalon)
: new SqlParameter("@fechaVencimientoTalon", DBNull.Value),
mdl_VTA_Cobros_Final.efecto != null
? new SqlParameter("@efecto", mdl_VTA_Cobros_Final.efecto)
: new SqlParameter("@efecto", DBNull.Value),
mdl_VTA_Cobros_Final.idTipoPago != null
? new SqlParameter("@idTipoPago", mdl_VTA_Cobros_Final.idTipoPago)
: new SqlParameter("@idTipoPago", DBNull.Value),
mdl_VTA_Cobros_Final.idVendedor != null
? new SqlParameter("@idVendedor", mdl_VTA_Cobros_Final.idVendedor)
: new SqlParameter("@idVendedor", DBNull.Value),
mdl_VTA_Cobros_Final.idClaveAnalitica != null
? new SqlParameter("@idClaveAnalitica", mdl_VTA_Cobros_Final.idClaveAnalitica)
: new SqlParameter("@idClaveAnalitica", DBNull.Value),
mdl_VTA_Cobros_Final.idPredefinidoCabecera_Cobro != null
? new SqlParameter("@idPredefinidoCabecera_Cobro", mdl_VTA_Cobros_Final.idPredefinidoCabecera_Cobro)
: new SqlParameter("@idPredefinidoCabecera_Cobro", DBNull.Value),
mdl_VTA_Cobros_Final.idPredefinidoCabecera_Negociacion != null
? new SqlParameter("@idPredefinidoCabecera_Negociacion", mdl_VTA_Cobros_Final.idPredefinidoCabecera_Negociacion)
: new SqlParameter("@idPredefinidoCabecera_Negociacion", DBNull.Value),
new SqlParameter("@importe", mdl_VTA_Cobros_Final.importe),
mdl_VTA_Cobros_Final.idRemesaLinea != null
? new SqlParameter("@idRemesaLinea", mdl_VTA_Cobros_Final.idRemesaLinea)
: new SqlParameter("@idRemesaLinea", DBNull.Value),
new SqlParameter("@estado", mdl_VTA_Cobros_Final.estado),
mdl_VTA_Cobros_Final.fechaBorrado != null
? new SqlParameter("@fechaBorrado", mdl_VTA_Cobros_Final.fechaBorrado)
: new SqlParameter("@fechaBorrado", DBNull.Value),
mdl_VTA_Cobros_Final.confirmado != null
? new SqlParameter("@confirmado", mdl_VTA_Cobros_Final.confirmado)
: new SqlParameter("@confirmado", DBNull.Value),
mdl_VTA_Cobros_Final.mantenerPendiente != null
? new SqlParameter("@mantenerPendiente", mdl_VTA_Cobros_Final.mantenerPendiente.Value)
: new SqlParameter("@mantenerPendiente", DBNull.Value),
new SqlParameter("@id", mdl_VTA_Cobros_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_VTA_Cobros_Final.id;
}
//INSERT
else
{
mdl_VTA_Cobros_Final = new VTA_Cobros();
//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_VTA_Cobros_AGrabar, mdl_VTA_Cobros_Final, false, false);
#region INSERT
string str_SQL_Insert = " INSERT INTO " + nameof(VTA_Cobros) +
" (" +
nameof(VTA_Cobros.codigo) + "," +
nameof(VTA_Cobros.idVencimiento) + "," +
nameof(VTA_Cobros.fecha) + "," +
nameof(VTA_Cobros.idTesoreria) + "," +
nameof(VTA_Cobros.comision) + "," +
nameof(VTA_Cobros.correo) + "," +
nameof(VTA_Cobros.porcentajeComision) + "," +
nameof(VTA_Cobros.importeComision) + "," +
nameof(VTA_Cobros.observaciones) + "," +
nameof(VTA_Cobros.fechaVencimientoTalon) + "," +
nameof(VTA_Cobros.efecto) + "," +
nameof(VTA_Cobros.idTipoPago) + "," +
nameof(VTA_Cobros.idVendedor) + "," +
nameof(VTA_Cobros.idClaveAnalitica) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "," +
nameof(VTA_Cobros.importe) + "," +
nameof(VTA_Cobros.idRemesaLinea) + "," +
nameof(VTA_Cobros.estado) + "," +
nameof(VTA_Cobros.fechaBorrado) + "," +
nameof(VTA_Cobros.confirmado) + "," +
nameof(VTA_Cobros.mantenerPendiente) +
" ) " +
" OUTPUT INSERTED." + nameof(VTA_Cobros.id) +
" VALUES " +
" ( " +
"@codigo," +
"@idVencimiento," +
"@fecha," +
"@idTesoreria," +
"@comision," +
"@correo," +
"@porcentajeComision," +
"@importeComision," +
"@observaciones," +
"@fechaVencimientoTalon," +
"@efecto," +
"@idTipoPago," +
"@idVendedor," +
"@idClaveAnalitica," +
"@idPredefinidoCabecera_Cobro," +
"@idPredefinidoCabecera_Negociacion," +
"@importe," +
"@idRemesaLinea," +
"@estado," +
"@fechaBorrado," +
"@confirmado," +
"@mantenerPendiente" +
" ) ";
//Parametros
object[] arr_Parametros_Insert = new object[]
{
new SqlParameter("@codigo", mdl_VTA_Cobros_Final.codigo),
new SqlParameter("@idVencimiento", mdl_VTA_Cobros_Final.idVencimiento),
new SqlParameter("@fecha", mdl_VTA_Cobros_Final.fecha),
mdl_VTA_Cobros_Final.idTesoreria != null
? new SqlParameter("@idTesoreria", mdl_VTA_Cobros_Final.idTesoreria)
: new SqlParameter("@idTesoreria", DBNull.Value),
mdl_VTA_Cobros_Final.comision != null
? new SqlParameter("@comision", mdl_VTA_Cobros_Final.comision)
: new SqlParameter("@comision", DBNull.Value),
mdl_VTA_Cobros_Final.correo != null
? new SqlParameter("@correo", mdl_VTA_Cobros_Final.correo)
: new SqlParameter("@correo", DBNull.Value),
mdl_VTA_Cobros_Final.porcentajeComision != null
? new SqlParameter("@porcentajeComision", mdl_VTA_Cobros_Final.porcentajeComision)
: new SqlParameter("@porcentajeComision", DBNull.Value),
mdl_VTA_Cobros_Final.importeComision != null
? new SqlParameter("@importeComision", mdl_VTA_Cobros_Final.importeComision)
: new SqlParameter("@importeComision", DBNull.Value),
mdl_VTA_Cobros_Final.observaciones != null
? new SqlParameter("@observaciones", mdl_VTA_Cobros_Final.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
mdl_VTA_Cobros_Final.fechaVencimientoTalon != null
? new SqlParameter("@fechaVencimientoTalon", mdl_VTA_Cobros_Final.fechaVencimientoTalon)
: new SqlParameter("@fechaVencimientoTalon", DBNull.Value),
mdl_VTA_Cobros_Final.efecto != null
? new SqlParameter("@efecto", mdl_VTA_Cobros_Final.efecto)
: new SqlParameter("@efecto", DBNull.Value),
mdl_VTA_Cobros_Final.idTipoPago != null
? new SqlParameter("@idTipoPago", mdl_VTA_Cobros_Final.idTipoPago)
: new SqlParameter("@idTipoPago", DBNull.Value),
mdl_VTA_Cobros_Final.idVendedor != null
? new SqlParameter("@idVendedor", mdl_VTA_Cobros_Final.idVendedor)
: new SqlParameter("@idVendedor", DBNull.Value),
mdl_VTA_Cobros_Final.idClaveAnalitica != null
? new SqlParameter("@idClaveAnalitica", mdl_VTA_Cobros_Final.idClaveAnalitica)
: new SqlParameter("@idClaveAnalitica", DBNull.Value),
mdl_VTA_Cobros_Final.idPredefinidoCabecera_Cobro != null
? new SqlParameter("@idPredefinidoCabecera_Cobro", mdl_VTA_Cobros_Final.idPredefinidoCabecera_Cobro)
: new SqlParameter("@idPredefinidoCabecera_Cobro", DBNull.Value),
mdl_VTA_Cobros_Final.idPredefinidoCabecera_Negociacion != null
? new SqlParameter("@idPredefinidoCabecera_Negociacion", mdl_VTA_Cobros_Final.idPredefinidoCabecera_Negociacion)
: new SqlParameter("@idPredefinidoCabecera_Negociacion", DBNull.Value),
new SqlParameter("@importe", mdl_VTA_Cobros_Final.importe),
mdl_VTA_Cobros_Final.idRemesaLinea != null
? new SqlParameter("@idRemesaLinea", mdl_VTA_Cobros_Final.idRemesaLinea)
: new SqlParameter("@idRemesaLinea", DBNull.Value),
new SqlParameter("@estado", mdl_VTA_Cobros_Final.estado),
mdl_VTA_Cobros_Final.fechaBorrado != null
? new SqlParameter("@fechaBorrado", mdl_VTA_Cobros_Final.fechaBorrado)
: new SqlParameter("@fechaBorrado", DBNull.Value),
mdl_VTA_Cobros_Final.confirmado != null
? new SqlParameter("@confirmado", mdl_VTA_Cobros_Final.confirmado)
: new SqlParameter("@confirmado", DBNull.Value),
mdl_VTA_Cobros_Final.mantenerPendiente != null
? new SqlParameter("@mantenerPendiente", mdl_VTA_Cobros_Final.mantenerPendiente.Value)
: new SqlParameter("@mantenerPendiente", 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(VTA_Cobros), mdl_VTA_Cobros_DatosViejos, mdl_VTA_Cobros_Final, mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion, obj_Exferia_Entities);
#region Actualizar la situacion en facturas
VTA_FacturasCabecera_Datos obj_VTA_FacturasCabecera_Datos = new VTA_FacturasCabecera_Datos();
obj_VTA_FacturasCabecera_Datos.Actualizar_SituacionPago(null, null, mdl_INTERNO_ValorDevuelto_Modelo.Id, null);
#endregion
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Grabar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_INTERNO_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Insertar(VTA_Cobros _mdl_VTA_Cobros)
{
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;
//Tipo de Accion que se va a realizar
mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion = G_ENUM_TIPOACCION.INT_INSERTAR;
#region INSERT
string str_SQL_Insert = " INSERT INTO " + nameof(VTA_Cobros) +
" (" +
nameof(VTA_Cobros.codigo) + "," +
nameof(VTA_Cobros.idVencimiento) + "," +
nameof(VTA_Cobros.fecha) + "," +
nameof(VTA_Cobros.idTesoreria) + "," +
nameof(VTA_Cobros.comision) + "," +
nameof(VTA_Cobros.correo) + "," +
nameof(VTA_Cobros.porcentajeComision) + "," +
nameof(VTA_Cobros.importeComision) + "," +
nameof(VTA_Cobros.observaciones) + "," +
nameof(VTA_Cobros.fechaVencimientoTalon) + "," +
nameof(VTA_Cobros.efecto) + "," +
nameof(VTA_Cobros.idTipoPago) + "," +
nameof(VTA_Cobros.idVendedor) + "," +
nameof(VTA_Cobros.idClaveAnalitica) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Cobro) + "," +
nameof(VTA_Cobros.idPredefinidoCabecera_Negociacion) + "," +
nameof(VTA_Cobros.importe) + "," +
nameof(VTA_Cobros.idRemesaLinea) + "," +
nameof(VTA_Cobros.estado) + "," +
nameof(VTA_Cobros.fechaBorrado) + "," +
nameof(VTA_Cobros.confirmado) + "," +
nameof(VTA_Cobros.mantenerPendiente) +
" ) " +
" OUTPUT INSERTED." + nameof(VTA_Cobros.id) +
" VALUES " +
" ( " +
"@codigo," +
"@idVencimiento," +
"@fecha," +
"@idTesoreria," +
"@comision," +
"@correo," +
"@porcentajeComision," +
"@importeComision," +
"@observaciones," +
"@fechaVencimientoTalon," +
"@efecto," +
"@idTipoPago," +
"@idVendedor," +
"@idClaveAnalitica," +
"@idPredefinidoCabecera_Cobro," +
"@idPredefinidoCabecera_Negociacion," +
"@importe," +
"@idRemesaLinea," +
"@estado," +
"@fechaBorrado," +
"@confirmado," +
"@mantenerPendiente" +
" ) ";
//Parametros
object[] arr_Parametros_Insert = new object[]
{
new SqlParameter("@codigo", _mdl_VTA_Cobros.codigo),
new SqlParameter("@idVencimiento", _mdl_VTA_Cobros.idVencimiento),
new SqlParameter("@fecha", _mdl_VTA_Cobros.fecha),
_mdl_VTA_Cobros.idTesoreria != null
? new SqlParameter("@idTesoreria", _mdl_VTA_Cobros.idTesoreria)
: new SqlParameter("@idTesoreria", DBNull.Value),
_mdl_VTA_Cobros.comision != null
? new SqlParameter("@comision", _mdl_VTA_Cobros.comision)
: new SqlParameter("@comision", DBNull.Value),
_mdl_VTA_Cobros.correo != null
? new SqlParameter("@correo", _mdl_VTA_Cobros.correo)
: new SqlParameter("@correo", DBNull.Value),
_mdl_VTA_Cobros.porcentajeComision != null
? new SqlParameter("@porcentajeComision", _mdl_VTA_Cobros.porcentajeComision)
: new SqlParameter("@porcentajeComision", DBNull.Value),
_mdl_VTA_Cobros.importeComision != null
? new SqlParameter("@importeComision", _mdl_VTA_Cobros.importeComision)
: new SqlParameter("@importeComision", DBNull.Value),
_mdl_VTA_Cobros.observaciones != null
? new SqlParameter("@observaciones", _mdl_VTA_Cobros.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
_mdl_VTA_Cobros.fechaVencimientoTalon != null
? new SqlParameter("@fechaVencimientoTalon", _mdl_VTA_Cobros.fechaVencimientoTalon)
: new SqlParameter("@fechaVencimientoTalon", DBNull.Value),
_mdl_VTA_Cobros.efecto != null
? new SqlParameter("@efecto", _mdl_VTA_Cobros.efecto)
: new SqlParameter("@efecto", DBNull.Value),
_mdl_VTA_Cobros.idTipoPago != null
? new SqlParameter("@idTipoPago", _mdl_VTA_Cobros.idTipoPago)
: new SqlParameter("@idTipoPago", DBNull.Value),
_mdl_VTA_Cobros.idVendedor != null
? new SqlParameter("@idVendedor", _mdl_VTA_Cobros.idVendedor)
: new SqlParameter("@idVendedor", DBNull.Value),
_mdl_VTA_Cobros.idClaveAnalitica != null
? new SqlParameter("@idClaveAnalitica", _mdl_VTA_Cobros.idClaveAnalitica)
: new SqlParameter("@idClaveAnalitica", DBNull.Value),
_mdl_VTA_Cobros.idPredefinidoCabecera_Cobro != null
? new SqlParameter("@idPredefinidoCabecera_Cobro", _mdl_VTA_Cobros.idPredefinidoCabecera_Cobro)
: new SqlParameter("@idPredefinidoCabecera_Cobro", DBNull.Value),
_mdl_VTA_Cobros.idPredefinidoCabecera_Negociacion != null
? new SqlParameter("@idPredefinidoCabecera_Negociacion", _mdl_VTA_Cobros.idPredefinidoCabecera_Negociacion)
: new SqlParameter("@idPredefinidoCabecera_Negociacion", DBNull.Value),
new SqlParameter("@importe", _mdl_VTA_Cobros.importe),
_mdl_VTA_Cobros.idRemesaLinea != null
? new SqlParameter("@idRemesaLinea", _mdl_VTA_Cobros.idRemesaLinea)
: new SqlParameter("@idRemesaLinea", DBNull.Value),
new SqlParameter("@estado", _mdl_VTA_Cobros.estado),
_mdl_VTA_Cobros.fechaBorrado != null
? new SqlParameter("@fechaBorrado", _mdl_VTA_Cobros.fechaBorrado)
: new SqlParameter("@fechaBorrado", DBNull.Value),
_mdl_VTA_Cobros.confirmado != null
? new SqlParameter("@confirmado", _mdl_VTA_Cobros.confirmado)
: new SqlParameter("@confirmado", DBNull.Value),
_mdl_VTA_Cobros.mantenerPendiente != null
? new SqlParameter("@mantenerPendiente", _mdl_VTA_Cobros.mantenerPendiente.Value)
: new SqlParameter("@mantenerPendiente", 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();
#region Actualizar la situacion en facturas
VTA_FacturasCabecera_Datos obj_VTA_FacturasCabecera_Datos = new VTA_FacturasCabecera_Datos();
obj_VTA_FacturasCabecera_Datos.Actualizar_SituacionPago(null, null, mdl_INTERNO_ValorDevuelto_Modelo.Id, null);
#endregion
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Insertar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_INTERNO_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Actualizar_Confirmacion(List<long> _lst_id, DateTime? _dtt_FechaConfirmacion)
{
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;
if (_lst_id != null && _lst_id.Count > 0)
{
string str_Actualizacion = "";
if (_dtt_FechaConfirmacion != null)
{
str_Actualizacion = " SET " + nameof(VTA_Cobros.confirmado) + "='" + _dtt_FechaConfirmacion.Value.ToString("dd/MM/yyyy") + "'";
}
else
{
str_Actualizacion = " SET " + nameof(VTA_Cobros.confirmado) + " = null ";
}
string str_Filtro_Cobros = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(VTA_Cobros),
nameof(VTA_Cobros.id),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.NADA,
_lst_id);
string str_SQL = " UPDATE " +
nameof(VTA_Cobros) +
str_Actualizacion +
" WHERE " +
str_Filtro_Cobros;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL, new object[] { });
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Actualizar_Confirmacion), 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_INTERNO_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = true;
//Tipo de Accion que se va a realizar
mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion = G_ENUM_TIPOACCION.INT_ELIMINAR;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
// Ver si existe ######################################################################
VTA_Cobros mdl_VTA_Cobros_Final = Obtener_Modelo_Por_Id(_lng_id, false);
//######################################################################################
if (mdl_VTA_Cobros_Final != null)
{
//Se intenta borrar, si diera un error porque esta relacaionado se graba la fecha de baja
try
{
string str_SQL = " DELETE FROM " + nameof(VTA_Cobros) +
" WHERE " + nameof(VTA_Cobros.id) + " = " + mdl_VTA_Cobros_Final.id;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL);
// Grabar un registro de trazabilidad con los datos de la transaccion realizada.
Datos_Generales.USR_Trazabilidad_Grabar(typeof(VTA_Cobros), null, mdl_VTA_Cobros_Final, G_ENUM_TIPOACCION.INT_ELIMINAR, obj_Exferia_Entities);
// Devolver también el Objeto
mdl_INTERNO_ValorDevuelto_Modelo.Id = mdl_VTA_Cobros_Final.id;
#region Actualizar la situacion en facturas
VTA_FacturasCabecera_Datos obj_VTA_FacturasCabecera_Datos = new VTA_FacturasCabecera_Datos();
obj_VTA_FacturasCabecera_Datos.Actualizar_SituacionPago(null, null, _lng_id, null);
#endregion
}
catch (Exception ex)
{
var sqlException = ex.GetBaseException() as SqlException;
if (sqlException != null)
{
if (sqlException.Errors.Count > 0)
{
switch (sqlException.Errors[0].Number)
{
case Control_Errores.G_INT_ERRORCONTROLADO_BORRAR_CONFLICTO_CLAVEFORANEA: // Foreign Key violation
{
//Buscar el devolucion por si diera error, poder poner los datos del mensaje
INTERNO_OpcionesDetalle_Modelo mld_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_VTA_DEVOLUCIONCOBRO);
mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto = false;
mdl_INTERNO_ValorDevuelto_Modelo.Mensaje = Mensajes.G_STR_MENSAJES_NOSEPUEDEBORRAR_DATOSRELACIONADOS(mld_INTERNO_OpcionesDetalle_Modelo.descripcion_Plural);
break;
}
default:
throw;
}
}
}
else
{
throw;
}
}
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Borrar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_INTERNO_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;
}
public INTERNO_ValorDevuelto_Modelo Borrar_Por_RemesasLineas(List<long> _lst_idRemesaLinea)
{
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;
if (_lst_idRemesaLinea != null && _lst_idRemesaLinea.Count > 0)
{
#region Update
string str_Filtros_IDs = Funciones.Formar_ContenidoIN_ParaConsultaWhere(_lst_idRemesaLinea);
string str_SQL_Update = " UPDATE " + nameof(VTA_Cobros) +
" set " + nameof(VTA_Cobros.fechaBorrado) + "=@fechaBorrado " +
" WHERE " + nameof(VTA_Cobros.idRemesaLinea) + " in (" + str_Filtros_IDs + ")";
//Parametros
object[] arr_Parametros_Delete = new object[]
{
new SqlParameter("@fechaBorrado", DateTime.Now)
};
#endregion
//Delete
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update, arr_Parametros_Delete);
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_Cobros_Datos) + "/" + nameof(Borrar_Por_RemesasLineas), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
#endregion
#region Obtener declaraciones
public List<INTERNO_ResultadoDeclaracion> ObtenerDeclaracionClientes(DateTime dtm_FechaDesde, DateTime dtm_FechaHasta)
{
Exferia_Entities obj_Exferia_Entities = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_SQL = $@"
SELECT
c.{nameof(VTA_Cobros.fecha)}
, c.{nameof(VTA_Cobros.importe)} as totalFinal
, cl.{nameof(MAE_Clientes.id)} as idCliente
, cl.{nameof(MAE_Clientes.cif)}
, pro.{nameof(GEN_Provincias.codigo)} as codigoProvincia
, pa.{nameof(GEN_Paises.codigo_ISO2D)} as codigoPais
FROM {nameof(VTA_Cobros)} as c
LEFT JOIN {nameof(MAE_Tesorerias)} as t ON c.{nameof(VTA_Cobros.idTesoreria)} = t.{nameof(MAE_Tesorerias.id)}
LEFT JOIN {nameof(VTA_Vencimientos)} as v ON c.{nameof(VTA_Cobros.idVencimiento)} = v.{nameof(VTA_Vencimientos.id)}
LEFT JOIN {nameof(VTA_FacturasCabecera)} as fc ON v.{nameof(VTA_Vencimientos.idFacturaCabecera)} = fc.{nameof(VTA_FacturasCabecera.id)}
LEFT JOIN {nameof(MAE_Clientes)} as cl ON fc.{nameof(VTA_FacturasCabecera.idCliente)} = cl.{nameof(MAE_Clientes.id)}
LEFT JOIN {nameof(GEN_Direcciones)} as dir ON dir.{nameof(GEN_Direcciones.idCliente)} = cl.{nameof(MAE_Clientes.id)}
LEFT JOIN {nameof(GEN_Paises)} as pa ON dir.{nameof(GEN_Direcciones.idPais)} = pa.{nameof(GEN_Paises.id)}
LEFT JOIN {nameof(GEN_Provincias)} as pro ON dir.{nameof(GEN_Direcciones.idProvincia)} = pro.{nameof(GEN_Provincias.id)}
WHERE
t.{nameof(MAE_Tesorerias.efectivo)} = 1
AND c.{nameof(VTA_Cobros.estado)} = 'A'
AND c.{nameof(VTA_Cobros.fechaBorrado)} IS NULL
AND dir.{nameof(GEN_Direcciones.tipoDireccion)} = 2
AND fc.{nameof(VTA_FacturasCabecera.fecha)} BETWEEN @fechaDesde AND @fechaHasta";
object[] arr_Parametros = new object[]
{
new SqlParameter("@fechaDesde", dtm_FechaDesde),
new SqlParameter("@fechaHasta", dtm_FechaHasta),
};
return obj_Exferia_Entities.Database.SqlQuery<INTERNO_ResultadoDeclaracion>(str_SQL, arr_Parametros)?.ToList();
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(VTA_FacturasCabecera_Datos) + "/" + nameof(ObtenerDeclaracionClientes), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
}
#endregion Obtener declaraciones
}
}