Exferia/Exferia_Compras/Exferia_Compras/1_Datos/COM_PedidosComprasCabecera_...

3885 lines
275 KiB
C#

using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Herencia.Capas;
using Exferia_Aplicacion.Modelos_Listado_Filtros;
using Exferia_Compras._0_Modelos;
using Exferia_Compras._3_Vistas.Listados;
using Exferia_EntityFramework;
using Exferia_General;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Transactions;
using static Exferia_Aplicacion.General.Enumerados;
namespace Exferia_Compras._1_Datos
{
public class COM_PedidosComprasCabecera_Datos : ABS_Datos
{
#region Listado
private List<INTERNO_COM_PedidosComprasCabecera_Listado_Modelo> g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo = null;
//Listado de modelos Relacionados
private List<COM_PedidosComprasCabecera_Anexos> g_lst_COM_PedidosComprasCabecera_Anexos_Listado = null;
//Hilos
private static int g_int_TotalHilos_Listado = 1;
private bool[] g_bol_Hilos_Terminados_Listado = new bool[g_int_TotalHilos_Listado];
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(COM_PedidosComprasCabecera).Name), _lst_CamposConRelacionABuscar, -1, null, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo != null) && (g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Count() > 0))
{
lst_MAE = g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_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(COM_PedidosComprasCabecera).Name), _lst_CamposConRelacionABuscar, _lng_id, _lst_ids, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo != null) && (g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Count() > 0))
{
dnm_MAE = g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_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_idEmpresasRelacionas, List<string> _lst_CamposConRelacionABuscar, long _lng_id, List<long> _lst_ids, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
try
{
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
string str_Filtro_IDS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(_lst_ids);
bool bol_FiltrarEjercicio = false;
DateTime? dtt_TemporadaInicio = null;
DateTime? dtt_TemporadaFin = null;
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_COM_PedidosComprasCabecera_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;
}
}
}
}
string str_SQL =
" SELECT " +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.id) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Seleccionar) + " = convert(bit,0)," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.numeroDocumento) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descripcion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fecha) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.estado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.situacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descuentoProntoPago) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descuentoFinalFactura) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.referencia) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fechaPrevista) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.recargo) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.autorizado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_baseImponible) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_bruto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_descuentoFinalFactura) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_descuentoProntoPago) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_impuesto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_recargo) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_recargo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Bolsa) + " = (CASE WHEN COM_PedidosComprasCabecera_Bolsa_Filtrado." + nameof(COM_PedidosComprasCabecera_Bolsa.id) + " > -1 THEN convert(bit,1) ELSE convert(bit,0) END)," +
//ids
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idEmpresa) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idDelegacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idProveedor) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idMoneda) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idImpuestoCabecera) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idEmpleado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Pedido) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Cancelacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Anulacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idClaveAnalitica) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "," +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Codigo) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Descripcion) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_FechaBorrado) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_FechaBorrado) + " = NULL ,"
)
) +
//Delegacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Codigo) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Descripcion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_FechaBorrado) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_FechaBorrado) + " = NULL ,"
)
) +
//Proveedor_Codigo
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.codigo) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo) + " = '',"
)
) +
//Proveedor_RazonSocial
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.razonSocial) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial) + " = '',"
)
) +
//Proveedor_NombreComercial
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.nombreComercial) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial) + " = '',"
)
) +
//Moneda
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Codigo) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.moneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Descripcion) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_FechaBorrado) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_FechaBorrado) + " = NULL ,"
)
) +
//ImpuestoCabecera
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Codigo) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Descripcion) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_FechaBorrado) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_FechaBorrado) + " = NULL ,"
)
) +
//Empleado
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Codigo) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Nombre) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.nombre) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_FechaBorrado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Nombre) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraPedido
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Codigo) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Descripcion) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_FechaBorrado) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraCancelacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Codigo) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Descripcion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_FechaBorrado) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraAnulacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Codigo) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Descripcion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_FechaBorrado) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_FechaBorrado) + " = NULL ,"
)
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Codigo) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Descripcion) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.fechaBorrado)
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = NULL "
)
) +
" FROM " + nameof(COM_PedidosComprasCabecera) +
//PedidosComprasCabecera_Bolsa
" LEFT JOIN ( " +
"SELECT " +
nameof(COM_PedidosComprasCabecera_Bolsa) + "." + nameof(COM_PedidosComprasCabecera_Bolsa.id) + "," +
nameof(COM_PedidosComprasCabecera_Bolsa) + "." + nameof(COM_PedidosComprasCabecera_Bolsa.idUsuario) + "," +
nameof(COM_PedidosComprasCabecera_Bolsa) + "." + nameof(COM_PedidosComprasCabecera_Bolsa.idPedidoCompraCabecera) +
" FROM " + nameof(COM_PedidosComprasCabecera_Bolsa) +
" WHERE " + nameof(COM_PedidosComprasCabecera_Bolsa) + "." + nameof(COM_PedidosComprasCabecera_Bolsa.idUsuario) + "=" + Variables.G_MDL_USUARIOVALIDADO_MODELO.id +
" ) AS COM_PedidosComprasCabecera_Bolsa_Filtrado ON COM_PedidosComprasCabecera_Bolsa_Filtrado." + nameof(COM_PedidosComprasCabecera_Bolsa.idPedidoCompraCabecera) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa)))
?
(
" LEFT JOIN " + nameof(GEN_Empresas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.id)
)
: ("")
) +
//Delegacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion)))
?
(
" LEFT JOIN " + nameof(GEN_Delegaciones) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.id)
)
: ("")
) +
//Proveedor
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo)) ||
_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial)) ||
_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial)))
?
(
" LEFT JOIN " + nameof(MAE_Proveedores) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.id)
)
: ("")
) +
//Moneda
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda)))
?
(
" LEFT JOIN " + nameof(GEN_Monedas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.id)
)
: ("")
) +
//ImpuestoCabecera
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera)))
?
(
" LEFT JOIN " + nameof(GEN_ImpuestosCabecera) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.id)
)
: ("")
) +
//Empleado
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado)))
?
(
" LEFT JOIN " + nameof(MAE_Empleados) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.id)
)
: ("")
) +
//PredefinidoCabeceraPedido
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX1 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabeceraCancelacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX2 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabeceraAnulacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX3 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica)))
?
(
" LEFT JOIN " + nameof(CTA_ClavesAnaliticas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.id)
)
: ("")
) +
" WHERE " +
//fechaBorrado
" ( " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " is null ) AND " +
//id
" ( " +
(
(_lng_id > -1)
? (nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "=@id ")
: " 1 = 1 "
) +
" ) AND " +
//ids
" ( " +
(
(_lst_ids!=null && _lst_ids.Count > 0)
? (nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + " in ( " + str_Filtro_IDS + ")")
: " 1 = 1 "
) +
" ) AND " +
//Ejercicio
" ( " +
(
bol_FiltrarEjercicio == true
? (nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + " <=@TemporadaFin AND " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + " >=@TemporadaInicio ")
: " 1 = 1 "
) +
" ) ";
//Parametros
if (_lng_id > -1)
{
lst_Parametros.Add(new SqlParameter("@id", _lng_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_COM_PedidosComprasCabecera_Listado_Modelo = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_COM_PedidosComprasCabecera_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
#region Rellenar Tablas Relacionadas
if (g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo != null && g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Count > 0)
{
//Añadir los Ejercicios
Agregar_Ejercicios(_lng_idEmpresaSeleccionada);
#region PRIMERO BUSCO LOS DATOS DE LAS TABLAS RELACIONADAS
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_Listado; int_Contador++)
{
g_bol_Hilos_Terminados_Listado[int_Contador] = false;
}
//COM_PedidosComprasCabecera_Anexos #######################################################
ThreadStart obj_ThreadStart_ANEXOS = new ThreadStart(Obtener_Anexos_Modelo_Obtener_Listado);
Thread obj_Thread_ANEXOS = new Thread(obj_ThreadStart_ANEXOS);
obj_Thread_ANEXOS.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_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 (INTERNO_COM_PedidosComprasCabecera_Listado_Modelo mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo in g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo)
{
//MAE_Emabaljes(Principal) #############################################
if (g_lst_COM_PedidosComprasCabecera_Anexos_Listado != null &&
g_lst_COM_PedidosComprasCabecera_Anexos_Listado.Count > 0)
{
mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.COM_PedidosComprasCabecera_Anexos = g_lst_COM_PedidosComprasCabecera_Anexos_Listado.Where(m => m.idPedidoCompraCabecera == mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.id).ToList();
}
}
#endregion
}
#endregion
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_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_COM_PedidosComprasCabecera_Listado_Modelo mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo in g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo)
{
mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Ejercicios_Empresa = lst_GEN_EjerciciosActivos_Empresa.Where(m => m.temporadaFechaFin >= mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fecha &&
m.temporadaFechaInicio <= mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fecha)
.FirstOrDefault();
}
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Agregar_Ejercicios), true);
}
}
#region Tablas Relacionadas
private void Obtener_Anexos_Modelo_Obtener_Listado()
{
try
{
COM_PedidosComprasCabecera_Anexos_Datos obj_COM_PedidosComprasCabecera_Anexos_Datos = new COM_PedidosComprasCabecera_Anexos_Datos();
g_lst_COM_PedidosComprasCabecera_Anexos_Listado = obj_COM_PedidosComprasCabecera_Anexos_Datos.Obtener_ModeloListado_Por_IdsPedidoCompraCabecera(g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Select(x => x.id).ToList());
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Listado[0] = true;
}
}
#endregion
#endregion
#region Listado Secundario
private List<INTERNO_COM_PedidosComprasCabecera_Listado_Modelo> g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO = null;
//Listado de modelos Relacionados
private List<COM_PedidosComprasCabecera_Anexos> g_lst_COM_PedidosComprasCabecera_Anexos_ListadoSecundario = null;
//Hilos
private static int g_int_TotalHilos_ListadoSecundario = 1;
private bool[] g_bol_Hilos_Terminados_ListadoSecundario = new bool[g_int_TotalHilos_ListadoSecundario];
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_COM = 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(COM_PedidosComprasCabecera).Name), _lst_CamposConRelacionABuscar, -1, null, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO != null) && (g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO.Count() > 0))
{
lst_COM = g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Obtener_Listado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lst_COM;
}
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_COM = 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(COM_PedidosComprasCabecera).Name), _lst_CamposConRelacionABuscar, _lng_id, _lst_ids, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
// ..............................................................
if ((g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO != null) && (g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO.Count() > 0))
{
dnm_COM = g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO.Cast<dynamic>().ToList();
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Obtener_RegistroListado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return dnm_COM;
}
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(COM_PedidosComprasCabecera),
nameof(COM_PedidosComprasCabecera.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_idProveedor = -1;
string str_Opcion_Proveedor = "";
long lng_idArticulo = -1;
string str_Opcion_Articulo = "";
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_COM_PedidosComprasCabecera_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;
}
}
//PROVEEDOR
else if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(Variables.G_STR_OPCION_MAE_PROVEEDOR))
{
lng_idProveedor = mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR;
str_Opcion_Proveedor = mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO;
}
//ARTICULO
else if (mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO.Equals(Variables.G_STR_OPCION_MAE_ARTICULO))
{
lng_idArticulo = mdl_INTERNO_Filtro_OpcionPadre_Modelo.VALOR;
str_Opcion_Articulo = mdl_INTERNO_Filtro_OpcionPadre_Modelo.NOMBRE_CAMPO;
}
}
}
#region Articulo
List<long> lst_idsPedidosComprasCabecera_PorArticulo = null;
if (lng_idArticulo > -1)
{
COM_PedidosComprasLineas_Datos obj_COM_PedidosComprasLineas_Datos = new COM_PedidosComprasLineas_Datos();
lst_idsPedidosComprasCabecera_PorArticulo = obj_COM_PedidosComprasLineas_Datos.Obtener_IdsPedidosComprasCabecera_PorIdArticulo(lng_idArticulo);
}
string str_Filtro_PorArticulo = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(COM_PedidosComprasCabecera),
nameof(COM_PedidosComprasCabecera.id),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.NADA,
lst_idsPedidosComprasCabecera_PorArticulo);
#endregion
string str_SQL =
" SELECT " +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.id) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Seleccionar) + " = convert(bit,0)," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.numeroDocumento) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descripcion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fecha) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.estado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.situacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descuentoProntoPago) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descuentoFinalFactura) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.referencia) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fechaPrevista) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.recargo) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.autorizado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_baseImponible) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_bruto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_descuentoFinalFactura) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_descuentoProntoPago) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_impuesto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_recargo) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_recargo) + "," +
//ids
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idEmpresa) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idDelegacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idProveedor) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idMoneda) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idImpuestoCabecera) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idEmpleado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Pedido) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Cancelacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Anulacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idClaveAnalitica) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "," +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Codigo) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Descripcion) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_FechaBorrado) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_FechaBorrado) + " = NULL ,"
)
) +
//Delegacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Codigo) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Descripcion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_FechaBorrado) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_FechaBorrado) + " = NULL ,"
)
) +
//Proveedor_Codigo
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.codigo) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo) + " = '',"
)
) +
//Proveedor_RazonSocial
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.razonSocial) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial) + " = '',"
)
) +
//Proveedor_NombreComercial
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.nombreComercial) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial) + " = '',"
)
) +
//Moneda
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Codigo) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.moneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Descripcion) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_FechaBorrado) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_FechaBorrado) + " = NULL ,"
)
) +
//ImpuestoCabecera
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Codigo) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Descripcion) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_FechaBorrado) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_FechaBorrado) + " = NULL ,"
)
) +
//Empleado
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Codigo) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Nombre) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.nombre) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_FechaBorrado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Nombre) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraPedido
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Codigo) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Descripcion) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_FechaBorrado) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraCancelacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Codigo) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Descripcion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_FechaBorrado) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraAnulacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Codigo) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Descripcion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_FechaBorrado) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_FechaBorrado) + " = NULL ,"
)
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Codigo) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Descripcion) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.fechaBorrado)
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = NULL "
)
) +
" FROM " + nameof(COM_PedidosComprasCabecera) +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa)))
?
(
" LEFT JOIN " + nameof(GEN_Empresas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.id)
)
: ("")
) +
//Delegacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion)))
?
(
" LEFT JOIN " + nameof(GEN_Delegaciones) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.id)
)
: ("")
) +
//Proveedor
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo)) ||
_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial)) ||
_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial)))
?
(
" LEFT JOIN " + nameof(MAE_Proveedores) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.id)
)
: ("")
) +
//Moneda
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda)))
?
(
" LEFT JOIN " + nameof(GEN_Monedas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.id)
)
: ("")
) +
//ImpuestoCabecera
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera)))
?
(
" LEFT JOIN " + nameof(GEN_ImpuestosCabecera) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.id)
)
: ("")
) +
//Empleado
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado)))
?
(
" LEFT JOIN " + nameof(MAE_Empleados) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.id)
)
: ("")
) +
//PredefinidoCabeceraPedido
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX1 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabeceraCancelacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX2 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabeceraAnulacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX3 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica)))
?
(
" LEFT JOIN " + nameof(CTA_ClavesAnaliticas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.id)
)
: ("")
) +
" WHERE " +
//fechaBorrado
" ( " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " is null ) AND " +
//id
" ( " +
(
(_lng_id > -1)
? (nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "=@id ")
: " 1 = 1 "
) +
" ) AND " +
//ids
str_Filtro_IDS +
//Proveedor
" ( " +
(
(str_Opcion_Proveedor != "")
? (nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "=@idProveedor ")
: " 1 = 1 "
) +
" ) AND " +
//Articulo
" ( " +
(
(str_Opcion_Articulo != "")
? (lst_idsPedidosComprasCabecera_PorArticulo != null && lst_idsPedidosComprasCabecera_PorArticulo.Count > 0)
? str_Filtro_PorArticulo
: " 1 <> 1 "
: " 1 = 1 "
) +
" ) AND " +
//Ejercicio
" ( " +
(
bol_FiltrarEjercicio == true
? (nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + " <=@TemporadaFin AND " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.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_Proveedor != "")
{
lst_Parametros.Add(new SqlParameter("@idProveedor", lng_idProveedor));
}
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_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO = _obj_Exferia_Entities.Database.SqlQuery<INTERNO_COM_PedidosComprasCabecera_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
#region Rellenar Tablas Relacionadas
if (g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO != null && g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO.Count > 0)
{
//Añadir los Ejercicios
Agregar_Ejercicios_ListadoSecundario(_lng_idEmpresaSeleccionada);
#region PRIMERO BUSCO LOS DATOS DE LAS TABLAS RELACIONADAS
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_ListadoSecundario; int_Contador++)
{
g_bol_Hilos_Terminados_ListadoSecundario[int_Contador] = false;
}
//COM_PedidosComprasCabecera_Anexos #######################################################
ThreadStart obj_ThreadStart_ANEXOS = new ThreadStart(Obtener_Anexos_Modelo_Obtener_ListadoSecundario);
Thread obj_Thread_ANEXOS = new Thread(obj_ThreadStart_ANEXOS);
obj_Thread_ANEXOS.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_ListadoSecundario)
{
if (bol_Termino_Hilo == false)
{
bol_Termino = false;
break;
}
}
Thread.Sleep(10);
}
//.................................................................................
#endregion
#region DESPUES SE LO VOY ASIGNANDO A LOS REGISTRO UNO A UNO
foreach (INTERNO_COM_PedidosComprasCabecera_Listado_Modelo mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo in g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO)
{
//MAE_Emabaljes(Principal) #############################################
if (g_lst_COM_PedidosComprasCabecera_Anexos_ListadoSecundario != null &&
g_lst_COM_PedidosComprasCabecera_Anexos_ListadoSecundario.Count > 0)
{
mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.COM_PedidosComprasCabecera_Anexos = g_lst_COM_PedidosComprasCabecera_Anexos_ListadoSecundario.Where(m => m.idPedidoCompraCabecera == mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.id).ToList();
}
}
#endregion
}
#endregion
}
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_COM_PedidosComprasCabecera_Listado_Modelo mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo in g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO)
{
mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Ejercicios_Empresa = lst_GEN_EjerciciosActivos_Empresa.Where(m => m.temporadaFechaFin >= mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fecha &&
m.temporadaFechaInicio <= mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fecha)
.FirstOrDefault();
}
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Agregar_Ejercicios_ListadoSecundario), true);
}
}
#region Tablas Relacionadas
private void Obtener_Anexos_Modelo_Obtener_ListadoSecundario()
{
try
{
COM_PedidosComprasCabecera_Anexos_Datos obj_COM_PedidosComprasCabecera_Anexos_Datos = new COM_PedidosComprasCabecera_Anexos_Datos();
g_lst_COM_PedidosComprasCabecera_Anexos_ListadoSecundario = obj_COM_PedidosComprasCabecera_Anexos_Datos.Obtener_ModeloListado_Por_IdsPedidoCompraCabecera(g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_LISTADOSECUNDARIO.Select(x => x.id).ToList());
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_ListadoSecundario[0] = true;
}
}
#endregion
#endregion
#region F3
public override dynamic Obtener_F3(string _str_filtro, string _str_CampoBusqueda, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{
return null;
}
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)
{
return null;
}
protected override void ConsultaRellenar_F3(Exferia_Entities _obj_Exferia_Entities, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<long> _lst_idEmpresasRelacionadas, string _str_CampoBusqueda, string _str_Filtro, long _lng_id, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
{ }
#endregion
#region Obtener
#region Obtener Simple
private dynamic g_dnm_Modelo_Obtener = null;
private static int g_int_TotalHilos_Obtener = 12;
private bool[] g_bol_Hilos_Terminados_Obtener = new bool[g_int_TotalHilos_Obtener];
public override dynamic Obtener(long _lng_id)
{
Exferia_Entities obj_Exferia_Entities = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
string str_SQL =
" SELECT " +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.id) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.numeroDocumento) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.descripcion) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.fecha) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.estado) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.guid) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.guid) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.fechaBorrado) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.situacion) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.autorizado) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.descuentoProntoPago) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.descuentoFinalFactura) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.recargo) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.fechaPrevista) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.referencia) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.observaciones) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.observaciones) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.total) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.total_baseImponible) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.total_bruto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.total_descuentoFinalFactura) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.total_descuentoProntoPago) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.total_impuesto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.total_recargo) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_recargo) + "," +
//ids
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idProveedor) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idMoneda) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idImpuestoCabecera) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idDelegacion) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idEmpresa) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idEmpleado) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idPredefinidoCabecera_Pedido) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idPredefinidoCabecera_Cancelacion) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idPredefinidoCabecera_Anulacion) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Modelo.idClaveAnalitica) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) +
" FROM " + nameof(COM_PedidosComprasCabecera) +
" WHERE " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " IS null AND " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "=@id ";
//Parametros
object[] arr_Parametros = new object[]
{
new SqlParameter("@id", _lng_id)
};
//Rellenar el Modelo
g_dnm_Modelo_Obtener = obj_Exferia_Entities.Database.SqlQuery<INTERNO_COM_PedidosComprasCabecera_Modelo>(str_SQL, arr_Parametros).FirstOrDefault();
#region Rellenar Tablas Relacionadas
if (g_dnm_Modelo_Obtener != null)
{
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_Obtener; int_Contador++)
{
g_bol_Hilos_Terminados_Obtener[int_Contador] = false;
}
//GEN_Delegaciones ##########################################################################################
if (g_dnm_Modelo_Obtener.idDelegacion != null)
{
ThreadStart obj_ThreadStart_DELEGACION = new ThreadStart(Obtener_Delegacion_Modelo_Obtener);
Thread obj_Thread_DELEGACION = new Thread(obj_ThreadStart_DELEGACION);
obj_Thread_DELEGACION.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[0] = true;
}
//MAE_Proveedores ##########################################################################################
if (g_dnm_Modelo_Obtener.idProveedor != null)
{
ThreadStart obj_ThreadStart_PROVEEDOR = new ThreadStart(Obtener_Proveedor_Modelo_Obtener);
Thread obj_Thread_PROVEEDOR = new Thread(obj_ThreadStart_PROVEEDOR);
obj_Thread_PROVEEDOR.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[1] = true;
}
//GEN_Monedas ##########################################################################################
if (g_dnm_Modelo_Obtener.idMoneda != null)
{
ThreadStart obj_ThreadStart_MONEDA = new ThreadStart(Obtener_Moneda_Modelo_Obtener);
Thread obj_Thread_MONEDA = new Thread(obj_ThreadStart_MONEDA);
obj_Thread_MONEDA.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[2] = true;
}
//GEN_ImpuestosCabecera ##########################################################################################
if (g_dnm_Modelo_Obtener.idImpuestoCabecera != null)
{
ThreadStart obj_ThreadStart_IMPUESTOCABECERA = new ThreadStart(Obtener_ImpuestoCabecera_Modelo_Obtener);
Thread obj_Thread_IMPUESTOCABECERA = new Thread(obj_ThreadStart_IMPUESTOCABECERA);
obj_Thread_IMPUESTOCABECERA.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[3] = true;
}
//MAE_Empleados ##########################################################################################
if (g_dnm_Modelo_Obtener.idEmpleado != null)
{
ThreadStart obj_ThreadStart_EMPLEADO = new ThreadStart(Obtener_Empleado_Modelo_Obtener);
Thread obj_Thread_EMPLEADO = new Thread(obj_ThreadStart_EMPLEADO);
obj_Thread_EMPLEADO.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[4] = true;
}
//CTA_PredefinidosCabeceras (Pedidos) ##########################################################################################
if (g_dnm_Modelo_Obtener.idPredefinidoCabecera_Pedido != null)
{
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERAPEDIDO = new ThreadStart(Obtener_PredefinidoCabeceraPedido_Modelo_Obtener);
Thread obj_Thread_PREDEFINIDOCABECERAPEDIDO = new Thread(obj_ThreadStart_PREDEFINIDOCABECERAPEDIDO);
obj_Thread_PREDEFINIDOCABECERAPEDIDO.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[5] = true;
}
//CTA_PredefinidosCabeceras (Cancelacion) ##########################################################################################
if (g_dnm_Modelo_Obtener.idPredefinidoCabecera_Cancelacion != null)
{
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERACANCELACION = new ThreadStart(Obtener_PredefinidoCabeceraCancelacion_Modelo_Obtener);
Thread obj_Thread_PREDEFINIDOCABECERACANCELACION = new Thread(obj_ThreadStart_PREDEFINIDOCABECERACANCELACION);
obj_Thread_PREDEFINIDOCABECERACANCELACION.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[6] = true;
}
//CTA_PredefinidosCabeceras (Anulacion) ##########################################################################################
if (g_dnm_Modelo_Obtener.idPredefinidoCabecera_Anulacion != null)
{
ThreadStart obj_ThreadStart_PREDEFINIDOCABECERAANULACION = new ThreadStart(Obtener_PredefinidoCabeceraAnulacion_Modelo_Obtener);
Thread obj_Thread_PREDEFINIDOCABECERAANULACION = new Thread(obj_ThreadStart_PREDEFINIDOCABECERAANULACION);
obj_Thread_PREDEFINIDOCABECERAANULACION.Start();
}
else
{
g_bol_Hilos_Terminados_Obtener[7] = 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[8] = true;
}
//COM_PedidosComprasLineas ##########################################################################################
ThreadStart obj_ThreadStart_LINEAS = new ThreadStart(Obtener_Lineas_Modelo_Obtener);
Thread obj_Thread_LINEAS = new Thread(obj_ThreadStart_LINEAS);
obj_Thread_LINEAS.Start();
//COM_PedidosComprasCabecera_Anexos ##########################################################################################
ThreadStart obj_ThreadStart_ANEXOS = new ThreadStart(Obtener_Anexos_Modelo_Obtener);
Thread obj_Thread_ANEXOS = new Thread(obj_ThreadStart_ANEXOS);
obj_Thread_ANEXOS.Start();
//COM_PedidosComprasCabecera_Resumen ##########################################################################################
ThreadStart obj_ThreadStart_RESUMEN = new ThreadStart(Obtener_Resumen_Modelo_Obtener);
Thread obj_Thread_RESUMEN = new Thread(obj_ThreadStart_RESUMEN);
obj_Thread_RESUMEN.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(COM_PedidosComprasCabecera_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_Delegacion_Modelo_Obtener()
{
try
{
g_dnm_Modelo_Obtener.GEN_Delegaciones = Datos_Generales.GEN_Delegaciones_Obtener_Modelo_Por_Id(g_dnm_Modelo_Obtener.idDelegacion);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[0] = true;
}
}
private void Obtener_Proveedor_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_MAEPROVEEDORES_OBTENERMODELO_POR_ID_AUX1, BindingFlags.Instance | BindingFlags.NonPublic);
//Obtener valores
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idProveedor, true, true, true, true, true, true ,true};
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.MAE_Proveedores = (MAE_Proveedores)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[1] = true;
}
}
private void Obtener_Moneda_Modelo_Obtener()
{
try
{
g_dnm_Modelo_Obtener.GEN_Monedas = Datos_Generales.GEN_Monedas_Obtener_Modelo_Por_Id(g_dnm_Modelo_Obtener.idMoneda);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[2] = true;
}
}
private void Obtener_ImpuestoCabecera_Modelo_Obtener()
{
try
{
g_dnm_Modelo_Obtener.GEN_ImpuestosCabecera = Datos_Generales.GEN_ImpuestosCabecera_Obtener_Modelo_Por_Id(g_dnm_Modelo_Obtener.idImpuestoCabecera);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[3] = true;
}
}
private void Obtener_Empleado_Modelo_Obtener()
{
try
{
//Cargamos el ensamblado
Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_MAESTROS + ".dll");
//Obtenemos el tipo de la clase
Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_MAESTROS + "." + Variables.G_STR_LIBRERIA_DATOSMAESTROS);
//creamos la instancia
var obj_Clase = Activator.CreateInstance(m_type);
//Cargamos el metodo solicitado
MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSMAESTROS_PROCEDIMIENTO_MAEEMPLEADOS_OBTENERMODELO_POR_ID, BindingFlags.Instance | BindingFlags.NonPublic);
//Obtener valores
object[] arr_Parametros = { g_dnm_Modelo_Obtener.idEmpleado };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.MAE_Empleados = (MAE_Empleados)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[4] = true;
}
}
private void Obtener_PredefinidoCabeceraPedido_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_Pedido};
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.CTA_PredefinidosCabeceras = (CTA_PredefinidosCabeceras)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[5] = true;
}
}
private void Obtener_PredefinidoCabeceraCancelacion_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_Cancelacion };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.CTA_PredefinidosCabeceras1 = (CTA_PredefinidosCabeceras)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[6] = true;
}
}
private void Obtener_PredefinidoCabeceraAnulacion_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_Anulacion };
//Pasamos los parametros al metodo y lo ejecutamos
g_dnm_Modelo_Obtener.CTA_PredefinidosCabeceras2 = (CTA_PredefinidosCabeceras)obj_MethodInfo.Invoke(obj_Clase, arr_Parametros);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[7] = 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);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[8] = true;
}
}
private void Obtener_Lineas_Modelo_Obtener()
{
try
{
COM_PedidosComprasLineas_Datos obj_COM_PedidosComprasLineas_Datos = new COM_PedidosComprasLineas_Datos();
g_dnm_Modelo_Obtener.PedidoComprasLineas = obj_COM_PedidosComprasLineas_Datos.Obtener_PedidoCompraLinea_PorCabecera(g_dnm_Modelo_Obtener.id);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[9] = true;
}
}
private void Obtener_Anexos_Modelo_Obtener()
{
try
{
COM_PedidosComprasCabecera_Anexos_Datos obj_COM_PedidosComprasCabecera_Anexos_Datos = new COM_PedidosComprasCabecera_Anexos_Datos();
g_dnm_Modelo_Obtener.COM_PedidosComprasCabecera_Anexos = obj_COM_PedidosComprasCabecera_Anexos_Datos.Obtener_ModeloListado_Por_IdPedidoCompraCabecera(g_dnm_Modelo_Obtener.id);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[10] = true;
}
}
private void Obtener_Resumen_Modelo_Obtener()
{
try
{
COM_PedidosComprasCabecera_Resumen_Datos obj_COM_PedidosComprasCabecera_Resumen_Datos = new COM_PedidosComprasCabecera_Resumen_Datos();
g_dnm_Modelo_Obtener.COM_PedidosComprasCabecera_Resumen = obj_COM_PedidosComprasCabecera_Resumen_Datos.Obtener_ModeloListado_Por_IdPedidoCompraCabecera(g_dnm_Modelo_Obtener.id, true);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener[11] = true;
}
}
#endregion
#endregion
public override dynamic Obtener_Registro_PorCampo(string _str_Filtro, string _str_CampoBusqueda, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual)
{
throw new NotImplementedException();
}
public List<INTERNO_Listado_Simple_Modelo> Buscar_Datos_Filtros_Relacionados(string _str_Where)
{
Exferia_Entities obj_Exferia_Entities = null;
List<INTERNO_Listado_Simple_Modelo> lst_INTERNO_Listado_Simple_Modelo = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
if (_str_Where.Trim().Length > 0)
{
_str_Where = " WHERE " + _str_Where;
}
//Formar Consulta SQLServer ....................................................
string str_SQL =
" SELECT " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + " as " + nameof(INTERNO_Listado_Simple_Modelo.ID) + "," +
" (convert(varchar(12), " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + ") + '/' + " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.codigo) + ") as " + nameof(INTERNO_Listado_Simple_Modelo.CODIGO) + "," +
" convert(varchar(10)," + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + ",103) as " + nameof(INTERNO_Listado_Simple_Modelo.DESCRIPCION) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " as " + nameof(INTERNO_Listado_Simple_Modelo.FECHABORRADO) + "," +
"( '(' + " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.codigo) + " + ') ' + " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.razonSocial) + ") as " + nameof(INTERNO_Listado_Simple_Modelo.AUXILIAR_1) + " " +
" FROM " + nameof(COM_PedidosComprasCabecera) +
" INNER JOIN " + nameof(GEN_Delegaciones) + " on " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.id) + " " +
" INNER JOIN " + nameof(MAE_Proveedores) + " on " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.id) + " "
+ _str_Where;
//Ejecutar Consulta
lst_INTERNO_Listado_Simple_Modelo = obj_Exferia_Entities.Database.SqlQuery<INTERNO_Listado_Simple_Modelo>(str_SQL).ToList();
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Buscar_Datos_Filtros_Relacionados), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lst_INTERNO_Listado_Simple_Modelo;
}
#region OBTENER LISTADO PARA AGREGAR EN ENTRADA MERCANCIA
List<dynamic> g_lst_ListadoDinamico = null;
List<INTERNO_COM_PedidosComprasCabecera_Listado_Modelo> g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar = null;
//Listado de modelos Relacionados
private List<COM_PedidosComprasCabecera_Anexos> g_lst_COM_PedidosComprasCabecera_Anexos_ParaAgregar = null;
//Hilos
private static int g_int_TotalHilos_ParaAgregar = 1;
private bool[] g_bol_Hilos_Terminados_ParaAgregar = new bool[g_int_TotalHilos_ParaAgregar];
public List<dynamic> Obtener_Listado_ParaAgregar_EnEntradaMercancia(long _lng_idProveedor,long _lng_idEmpresa,List<long> _lst_idsPedidosCompraLinea_YaUtilizadas)
{
Exferia_Entities obj_Exferia_Entities = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
//Situacion de los pedidos de compra que se pueden coger
int int_Situacion_Pendiente = int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOCOMPRA_PENDIENTE.Codigo);
int int_Situacion_PartePendiente = int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOCOMPRA_PARTEPENDIENTE.Codigo);
//Todos los Ejercicio
List<GEN_EjerciciosActivos_Empresa> lst_GEN_EjerciciosActivos_Empresa = Datos_Generales.GEN_EjerciciosActivos_Empresa_Obtener_Listado_Por_Empresa(_lng_idEmpresa);
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
string str_Filtro_IDS = "";
if (_lst_idsPedidosCompraLinea_YaUtilizadas != null && _lst_idsPedidosCompraLinea_YaUtilizadas.Count > 0)
{
str_Filtro_IDS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(_lst_idsPedidosCompraLinea_YaUtilizadas);
}
//Parametros
lst_Parametros.Add(new SqlParameter("@idProveedor", _lng_idProveedor));
lst_Parametros.Add(new SqlParameter("@idEmpresa", _lng_idEmpresa));
lst_Parametros.Add(new SqlParameter("@estado_CERRADO", Variables.G_STR_ESTADO_CONTABILIDAD_CERRADO));
lst_Parametros.Add(new SqlParameter("@estado_VOLCADO", Variables.G_STR_ESTADO_CONTABILIDAD_VOLCADO));
lst_Parametros.Add(new SqlParameter("@situacion_PENDIENTE", int_Situacion_Pendiente));
lst_Parametros.Add(new SqlParameter("@situacion_PARTEPENDIENTE", int_Situacion_PartePendiente));
object[] arr_Parametros = lst_Parametros.ToArray();
//Obtener PedidosCompraCabecera segun las lineas
List<long> lst_idsPedidosCompraCabecera_YAutilizadas = new List<long>();
if (_lst_idsPedidosCompraLinea_YaUtilizadas != null && _lst_idsPedidosCompraLinea_YaUtilizadas.Count > 0)
{
string str_SQL_Consulta1 =
" SELECT " +
nameof(COM_PedidosComprasLineas) + "." + nameof(COM_PedidosComprasLineas.idPedidoCompraCabecera) +
" FROM " + nameof(COM_PedidosComprasLineas) +
" WHERE " + nameof(COM_PedidosComprasLineas) + "." + nameof(COM_PedidosComprasLineas.fechaBorrado) + " IS null AND " +
nameof(COM_PedidosComprasLineas) + "." + nameof(COM_PedidosComprasLineas.id) + " in ( " + str_Filtro_IDS + " ) ";
lst_idsPedidosCompraCabecera_YAutilizadas = obj_Exferia_Entities.Database.SqlQuery<long>(str_SQL_Consulta1, arr_Parametros).ToList();
}
string str_SQL_Consulta2 =
" SELECT " +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.id) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Seleccionar) + " = convert(bit,0)," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.numeroDocumento) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descripcion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fecha) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.estado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.situacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descuentoProntoPago) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.descuentoFinalFactura) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.referencia) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.fechaPrevista) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.recargo) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.autorizado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_baseImponible) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_bruto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_descuentoFinalFactura) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_descuentoProntoPago) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_impuesto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.total_recargo) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_recargo) + "," +
//ids
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idEmpresa) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idDelegacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idProveedor) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idMoneda) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idImpuestoCabecera) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idEmpleado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Pedido) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Cancelacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idPredefinidoCabecera_Anulacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.idClaveAnalitica) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "," +
//Empresa
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Codigo) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_Descripcion) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa_FechaBorrado) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.fechaBorrado) + "," +
//Delegacion
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Codigo) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_Descripcion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion_FechaBorrado) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.fechaBorrado) + "," +
//Proveedor_Codigo
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.codigo) + "," +
//Proveedor_RazonSocial
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.razonSocial) + "," +
//Proveedor_NombreComercial
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.nombreComercial) + "," +
//Moneda
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Codigo) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.moneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_Descripcion) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda_FechaBorrado) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.fechaBorrado) + "," +
//ImpuestoCabecera
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Codigo) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_Descripcion) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera_FechaBorrado) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.fechaBorrado) + "," +
//Empleado
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Codigo) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_Nombre) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.nombre) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado_FechaBorrado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.fechaBorrado) + "," +
//PredefinidoCabeceraPedido
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Codigo) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_Descripcion) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido_FechaBorrado) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + "," +
//PredefinidoCabeceraCancelacion
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Codigo) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_Descripcion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion_FechaBorrado) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + "," +
//PredefinidoCabeceraAnulacion
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Codigo) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_Descripcion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion_FechaBorrado) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + "," +
//ClaveAnalitica
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Codigo) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_Descripcion) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.fechaBorrado) +
" FROM " + nameof(COM_PedidosComprasCabecera) +
//Empresa
" LEFT JOIN " + nameof(GEN_Empresas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.id) +
//Delegacion
" LEFT JOIN " + nameof(GEN_Delegaciones) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.id) +
//Proveedor
" LEFT JOIN " + nameof(MAE_Proveedores) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.id) +
//Moneda
" LEFT JOIN " + nameof(GEN_Monedas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.id) +
//ImpuestoCabecera
" LEFT JOIN " + nameof(GEN_ImpuestosCabecera) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.id) +
//Empleado
" LEFT JOIN " + nameof(MAE_Empleados) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.id) +
//PredefinidoCabeceraPedido
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX1 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.id) +
//PredefinidoCabeceraCancelacion
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX2 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.id) +
//PredefinidoCabeceraAnulacion
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX3 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.id) +
//ClaveAnalitica
" LEFT JOIN " + nameof(CTA_ClavesAnaliticas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.id) +
" WHERE " +
//fechaBorrado
" ( " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " is null ) AND " +
//idProveedor
" ( " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "=@idProveedor) AND " +
//idEmpresa
" ( " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "=@idEmpresa) AND " +
//PedidosCompraCabecera ya Utiliadas
" ( " +
(
(lst_idsPedidosCompraCabecera_YAutilizadas.Count > 0)
? (nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + " in ( " + str_Filtro_IDS + ")")
: " 1 = 1 "
) +
" ) AND " +
//Estado cerrado o volcado
" ( " +
(
(nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "=@estado_CERRADO") +
" OR " +
(nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "=@estado_VOLCADO")
) +
" ) AND " +
//Autorizado
" ( " +
(
" ( NOT " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + " IS NULL ) AND " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + "=convert(bit,1) "
) +
" ) AND " +
//Estado cerrado o volcado
" ( " +
(
(nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "=@situacion_PENDIENTE") +
" OR " +
(nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "=@situacion_PARTEPENDIENTE")
) +
" ) ";
g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar = obj_Exferia_Entities.Database.SqlQuery<INTERNO_COM_PedidosComprasCabecera_Listado_Modelo>(str_SQL_Consulta2, arr_Parametros).ToList();
g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar.ForEach(m => m.Ejercicios_Empresa = lst_GEN_EjerciciosActivos_Empresa.Where(x => x.temporadaFechaInicio <= m.fecha &&
x.temporadaFechaFin >= m.fecha).FirstOrDefault());
#region Rellenar Tablas Relacionadas
if (g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar != null && g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar.Count > 0)
{
#region PRIMERO BUSCO LOS DATOS DE LAS TABLAS RELACIONADAS
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_ParaAgregar; int_Contador++)
{
g_bol_Hilos_Terminados_ParaAgregar[int_Contador] = false;
}
//COM_PedidosComprasCabecera_Anexos #######################################################
ThreadStart obj_ThreadStart_ANEXOS = new ThreadStart(Obtener_Anexos_Modelo_Obtener_ParaAgregar);
Thread obj_Thread_ANEXOS = new Thread(obj_ThreadStart_ANEXOS);
obj_Thread_ANEXOS.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_ParaAgregar)
{
if (bol_Termino_Hilo == false)
{
bol_Termino = false;
break;
}
}
Thread.Sleep(10);
}
//.................................................................................
#endregion
#region DESPUES SE LO VOY ASIGNANDO A LOS REGISTRO UNO A UNO
foreach (INTERNO_COM_PedidosComprasCabecera_Listado_Modelo mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo in g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar)
{
//MAE_Emabaljes(Principal) #############################################
if (g_lst_COM_PedidosComprasCabecera_Anexos_ParaAgregar != null &&
g_lst_COM_PedidosComprasCabecera_Anexos_ParaAgregar.Count > 0)
{
mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.COM_PedidosComprasCabecera_Anexos = g_lst_COM_PedidosComprasCabecera_Anexos_ParaAgregar.Where(m => m.idPedidoCompraCabecera == mdl_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.id).ToList();
}
}
#endregion
}
#endregion
//Convertir a Dynamic
g_lst_ListadoDinamico = g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar.Cast<dynamic>().ToList();
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Obtener_Listado_ParaAgregar_EnEntradaMercancia), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return g_lst_ListadoDinamico;
}
#region TablasRelacionadas
private void Obtener_Anexos_Modelo_Obtener_ParaAgregar()
{
try
{
COM_PedidosComprasCabecera_Anexos_Datos obj_COM_PedidosComprasCabecera_Anexos_Datos = new COM_PedidosComprasCabecera_Anexos_Datos();
g_lst_COM_PedidosComprasCabecera_Anexos_ParaAgregar = obj_COM_PedidosComprasCabecera_Anexos_Datos.Obtener_ModeloListado_Por_IdsPedidoCompraCabecera(g_lst_INTERNO_COM_PedidosComprasCabecera_Listado_Modelo_ParaAgregar.Select(x => x.id).ToList());
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_ParaAgregar[0] = true;
}
}
#endregion
#endregion
#region OBTENER SEGUNLISTADOPEDIDOSCOMPRALINEAS
List<COM_PedidosComprasCabecera> g_lst_COM_PedidosComprasCabecera_SegunListado_PedidoCompraLinea = null;
//Listado de modelos Relacionados
private List<COM_PedidosComprasLineas> g_lst_COM_PedidosComprasLineas = null;
//Hilos
private static int g_int_TotalHilos_PedidoCompraLinea = 1;
private bool[] g_bol_Hilos_Terminados_PedidoCompraLinea = new bool[g_int_TotalHilos_PedidoCompraLinea];
public List<COM_PedidosComprasCabecera> Obtener_Por_PedidosCompraLineas(List<long> _lst_idPedidoCommpraLinea)
{
Exferia_Entities obj_Exferia_Entities = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
//Situaciones a no tener en cuenta el los pedidos de compra
List<int> lst_Situaciones_NoContemplar = new List<int>();
lst_Situaciones_NoContemplar.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOCOMPRA_ANULADO.Codigo));
lst_Situaciones_NoContemplar.Add(int.Parse(Variables.G_MDL_TIPOSITUACION_PEDIDOCOMPRA_CANCELADO.Codigo));
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
string str_Filtros_Situacion = Funciones.Formar_ContenidoIN_ParaConsultaWhere(lst_Situaciones_NoContemplar);
string str_Filtros_PedidoCompraLinea = Funciones.Formar_ContenidoIN_ParaConsultaWhere(_lst_idPedidoCommpraLinea);
//Parametros
object[] arr_Parametros = lst_Parametros.ToArray();
string str_SQL_Consulta1 =
" SELECT Distinct " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) +
" FROM " + nameof(COM_PedidosComprasCabecera) +
" INNER JOIN " + nameof(COM_PedidosComprasLineas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "=" + nameof(COM_PedidosComprasLineas) + "." + nameof(COM_PedidosComprasLineas.idPedidoCompraCabecera) +
" WHERE " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " IS null AND " +
" ( NOT " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + " in ( " + str_Filtros_Situacion + ")) AND " +
nameof(COM_PedidosComprasLineas) + "." + nameof(COM_PedidosComprasLineas.id) + " in ( " + str_Filtros_PedidoCompraLinea + " ) ";
List<long> lst_IdsPedidosCabecera = obj_Exferia_Entities.Database.SqlQuery<long>(str_SQL_Consulta1, arr_Parametros).ToList();
if (lst_IdsPedidosCabecera != null && lst_IdsPedidosCabecera.Count() > 0)
{
string str_Filtros = Funciones.Formar_ContenidoIN_ParaConsultaWhere(lst_IdsPedidosCabecera);
string str_SQL_Consulta2 =
" SELECT " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.guid) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.observaciones) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_recargo) + "," +
//ids
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) +
" FROM " + nameof(COM_PedidosComprasCabecera) +
" WHERE " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + " in ( " + str_Filtros + " ) ";
g_lst_COM_PedidosComprasCabecera_SegunListado_PedidoCompraLinea = obj_Exferia_Entities.Database.SqlQuery<COM_PedidosComprasCabecera>(str_SQL_Consulta2, arr_Parametros).ToList();
#region Rellenar tablas Relacionadas
if (g_lst_COM_PedidosComprasCabecera_SegunListado_PedidoCompraLinea != null && g_lst_COM_PedidosComprasCabecera_SegunListado_PedidoCompraLinea.Count > 0)
{
#region PRIMERO BUSCO LOS DATOS DE LAS TABLAS RELACIONADAS
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_PedidoCompraLinea; int_Contador++)
{
g_bol_Hilos_Terminados_PedidoCompraLinea[int_Contador] = false;
}
//COM_PedidosComprasLineas #############################################
ThreadStart obj_ThreadStart_PEDIDOSCOMPRALINEA = new ThreadStart(Obtener_PedidoCompraLinea_Modelo_Listado);
Thread obj_Thread_PEDIDOSCOMPRALINEA = new Thread(obj_ThreadStart_PEDIDOSCOMPRALINEA);
obj_Thread_PEDIDOSCOMPRALINEA.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_PedidoCompraLinea)
{
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 (COM_PedidosComprasCabecera mdl_COM_PedidosComprasCabecera in g_lst_COM_PedidosComprasCabecera_SegunListado_PedidoCompraLinea)
{
//CTA_MAYOR(CuentaContable) #############################################
if (g_lst_COM_PedidosComprasLineas != null &&
g_lst_COM_PedidosComprasLineas.Count > 0)
{
mdl_COM_PedidosComprasCabecera.COM_PedidosComprasLineas = g_lst_COM_PedidosComprasLineas.Where(m => m.idPedidoCompraCabecera == mdl_COM_PedidosComprasCabecera.id).ToList();
}
}
#endregion
}
#endregion
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Obtener_Por_PedidosCompraLineas), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return g_lst_COM_PedidosComprasCabecera_SegunListado_PedidoCompraLinea;
}
#region TAblas Relacionadas
private void Obtener_PedidoCompraLinea_Modelo_Listado()
{
try
{
COM_PedidosComprasLineas_Datos obj_COM_PedidosComprasLineas_Datos = new COM_PedidosComprasLineas_Datos();
g_lst_COM_PedidosComprasLineas = obj_COM_PedidosComprasLineas_Datos.Obtener_PedidoCompraLinea_PorCabecera_Simple(g_lst_COM_PedidosComprasCabecera_SegunListado_PedidoCompraLinea.Select(x => x.id).ToList());
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_PedidoCompraLinea[0] = true;
}
}
#endregion
#endregion
#region Para Bolsa
public List<long> Obtener_Registros_Para_Bolsa(long _lng_idEmpresaSeleccionada,
long _lng_idEjercicioActual,
List<string> _lst_CamposConRelacionABuscar,
Dictionary<string, object> _dct_ListadoFiltros)
{
List<long> lst_listado_ids = null;
List<INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo> lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo = null;
Exferia_Entities obj_Exferia_Entities = null;
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
//Empresas
List<long> lst_idEmpresa = Datos_Generales.GEN_Empresas_Devolver_EmpresasCompartidas_SegunFichero(_lng_idEmpresaSeleccionada, typeof(COM_PedidosComprasCabecera).Name);
string str_Filtros_Empresas = Funciones.Formar_ContenidoIN_ParaConsultaWhere(lst_idEmpresa);
string str_SQL =
" SELECT " +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.id) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Seleccionar) + " = convert(bit,0)," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.numeroDocumento) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.descripcion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.fecha) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.estado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.situacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.descuentoProntoPago) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.descuentoFinalFactura) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.referencia) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.fechaPrevista) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.recargo) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.autorizado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.total) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.total_baseImponible) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.total_bruto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.total_descuentoFinalFactura) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.total_descuentoProntoPago) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.total_impuesto) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.total_recargo) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total_recargo) + "," +
//ids
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idEmpresa) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idDelegacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idProveedor) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idMoneda) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idImpuestoCabecera) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idEmpleado) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idPredefinidoCabecera_Pedido) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idPredefinidoCabecera_Cancelacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idPredefinidoCabecera_Anulacion) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.idClaveAnalitica) + " = " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "," +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empresa)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empresa_Codigo) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empresa_Descripcion) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empresa_FechaBorrado) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empresa_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empresa_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empresa_FechaBorrado) + " = NULL ,"
)
) +
//Delegacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Delegacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Delegacion_Codigo) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Delegacion_Descripcion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Delegacion_FechaBorrado) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Delegacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Delegacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Delegacion_FechaBorrado) + " = NULL ,"
)
) +
//Proveedor_Codigo
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_Codigo)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_Codigo) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.codigo) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_Codigo) + " = '',"
)
) +
//Proveedor_RazonSocial
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_RazonSocial)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_RazonSocial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.razonSocial) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_RazonSocial) + " = '',"
)
) +
//Proveedor_NombreComercial
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_NombreComercial)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_NombreComercial) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.nombreComercial) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Proveedor_NombreComercial) + " = '',"
)
) +
//Moneda
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Moneda)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Moneda_Codigo) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.moneda) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Moneda_Descripcion) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Moneda_FechaBorrado) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Moneda_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Moneda_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Moneda_FechaBorrado) + " = NULL ,"
)
) +
//ImpuestoCabecera
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ImpuestoCabecera)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ImpuestoCabecera_Codigo) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ImpuestoCabecera_Descripcion) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ImpuestoCabecera_FechaBorrado) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ImpuestoCabecera_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ImpuestoCabecera_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ImpuestoCabecera_FechaBorrado) + " = NULL ,"
)
) +
//Empleado
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empleado)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empleado_Codigo) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empleado_Nombre) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.nombre) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empleado_FechaBorrado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empleado_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empleado_Nombre) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Empleado_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraPedido
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraPedido)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraPedido_Codigo) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraPedido_Descripcion) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraPedido_FechaBorrado) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraPedido_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraPedido_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraPedido_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraCancelacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraCancelacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraCancelacion_Codigo) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraCancelacion_Descripcion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraCancelacion_FechaBorrado) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraCancelacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraCancelacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraCancelacion_FechaBorrado) + " = NULL ,"
)
) +
//PredefinidoCabeceraAnulacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraAnulacion)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraAnulacion_Codigo) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraAnulacion_Descripcion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraAnulacion_FechaBorrado) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.fechaBorrado) + ","
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraAnulacion_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraAnulacion_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.PredefinidoCabeceraAnulacion_FechaBorrado) + " = NULL ,"
)
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ClaveAnalitica)))
?
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ClaveAnalitica_Codigo) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.codigo) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ClaveAnalitica_Descripcion) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.descripcion) + "," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.fechaBorrado)
)
:
(
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ClaveAnalitica_Codigo) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ClaveAnalitica_Descripcion) + " = ''," +
nameof(INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.ClaveAnalitica_FechaBorrado) + " = NULL "
)
) +
" FROM " + nameof(COM_PedidosComprasCabecera) +
//Empresa
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empresa)))
?
(
" LEFT JOIN " + nameof(GEN_Empresas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + " = " + nameof(GEN_Empresas) + "." + nameof(GEN_Empresas.id)
)
: ("")
) +
//Delegacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Delegacion)))
?
(
" LEFT JOIN " + nameof(GEN_Delegaciones) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idDelegacion) + " = " + nameof(GEN_Delegaciones) + "." + nameof(GEN_Delegaciones.id)
)
: ("")
) +
//Proveedor
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_Codigo)) ||
_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_RazonSocial)) ||
_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Proveedor_NombreComercial)))
?
(
" LEFT JOIN " + nameof(MAE_Proveedores) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idProveedor) + " = " + nameof(MAE_Proveedores) + "." + nameof(MAE_Proveedores.id)
)
: ("")
) +
//Moneda
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Moneda)))
?
(
" LEFT JOIN " + nameof(GEN_Monedas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idMoneda) + " = " + nameof(GEN_Monedas) + "." + nameof(GEN_Monedas.id)
)
: ("")
) +
//ImpuestoCabecera
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ImpuestoCabecera)))
?
(
" LEFT JOIN " + nameof(GEN_ImpuestosCabecera) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + " = " + nameof(GEN_ImpuestosCabecera) + "." + nameof(GEN_ImpuestosCabecera.id)
)
: ("")
) +
//Empleado
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.Empleado)))
?
(
" LEFT JOIN " + nameof(MAE_Empleados) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpleado) + " = " + nameof(MAE_Empleados) + "." + nameof(MAE_Empleados.id)
)
: ("")
) +
//PredefinidoCabeceraPedido
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraPedido)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX1 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + " = AUX1." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabeceraCancelacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraCancelacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX2 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + " = AUX2." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//PredefinidoCabeceraAnulacion
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.PredefinidoCabeceraAnulacion)))
?
(
" LEFT JOIN " + nameof(CTA_PredefinidosCabeceras) + " AS AUX3 ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + " = AUX3." + nameof(CTA_PredefinidosCabeceras.id)
)
: ("")
) +
//ClaveAnalitica
(
(_lst_CamposConRelacionABuscar.Contains(nameof(INTERNO_COM_PedidosComprasCabecera_Listado_Modelo.ClaveAnalitica)))
?
(
" LEFT JOIN " + nameof(CTA_ClavesAnaliticas) + " ON " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + " = " + nameof(CTA_ClavesAnaliticas) + "." + nameof(CTA_ClavesAnaliticas.id)
)
: ("")
) +
" WHERE " +
//fechaBorrado
" ( " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " is null ) AND " +
" ( " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "=@idEmpresa " +
(
(lst_idEmpresa != null && lst_idEmpresa.Count > 0)
? (" OR " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + " in (" + str_Filtros_Empresas + ") ")
: " "
) +
" ) ";
//Parametros
List<SqlParameter> lst_Parametros = new List<SqlParameter>();
lst_Parametros.Add(new SqlParameter("@idEmpresa", _lng_idEmpresaSeleccionada));
object[] arr_Parametros = lst_Parametros.ToArray();
//Rellenar el Modelo
lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo = obj_Exferia_Entities.Database.SqlQuery<INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo>(str_SQL, arr_Parametros).ToList();
//Añadir los Ejercicios
if (lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo != null && lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Count > 0)
{
Agregar_Ejercicios_Bolsa(_lng_idEmpresaSeleccionada, ref lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo);
//Filtro
var obj_Devuelto = lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.AsQueryable().Where(Funciones_Lambda.Formar_EmpresionLambda_Filtrado<INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo>(_dct_ListadoFiltros, new ABS_Listado_COM_PedidosComprasCabecera_Bolsa(_lng_idEmpresaSeleccionada)));
if (obj_Devuelto != null && obj_Devuelto.Count() > 0)
{
lst_listado_ids = obj_Devuelto.Select(m => m.id).ToList();
}
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Obtener_Registros_Para_Bolsa), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return lst_listado_ids;
}
private void Agregar_Ejercicios_Bolsa(long _lng_idEmpresaSeleccionada, ref List<INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo> _lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo)
{
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_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo mdl_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo in _lst_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo)
{
mdl_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.Ejercicios_Empresa = lst_GEN_EjerciciosActivos_Empresa.Where(m => m.temporadaFechaFin >= mdl_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.fecha &&
m.temporadaFechaInicio <= mdl_INTERNO_COM_PedidosComprasCabecera_Bolsa_Listado_Modelo.fecha)
.FirstOrDefault();
}
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Agregar_Ejercicios_Bolsa), true);
}
}
#endregion
#region OBTENER PARA PROCESOS CERRAR,ABRIR,ETC
#region Listado
List<INTERNO_AUX_Procesos_Modelo> g_lst_INTERNO_AUX_Procesos_Modelo = null;
private List<COM_PedidosComprasLineas> g_lst_COM_PedidosComprasLineas_PROCESOS = null;
//Hilos
private static int g_int_TotalHilos_Obtener_PROCESOS_LISTADO = 1;
private bool[] g_bol_Hilos_Terminados_Obtener_PROCESOS_LISTADO = new bool[g_int_TotalHilos_Obtener_PROCESOS_LISTADO];
public List<INTERNO_AUX_Procesos_Modelo> Obtener_Procesos_LISTADO(List<long> _lst_id, bool _bol_Bolsa)
{
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_AUX_Procesos_Modelo.Id) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(INTERNO_AUX_Procesos_Modelo.IdEmpresa) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(INTERNO_AUX_Procesos_Modelo.Estado) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(INTERNO_AUX_Procesos_Modelo.Codigo_Long) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(INTERNO_AUX_Procesos_Modelo.Fecha) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(INTERNO_AUX_Procesos_Modelo.Situacion) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(INTERNO_AUX_Procesos_Modelo.Total_Consulta) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.total) +
" FROM " + nameof(COM_PedidosComprasCabecera);
bool bol_buscar = false;
//Bolsa
if (_bol_Bolsa)
{
str_SQL +=
" INNER JOIN " + nameof(COM_PedidosComprasCabecera_Bolsa) + " ON " + nameof(COM_PedidosComprasCabecera_Bolsa) + "." + nameof(COM_PedidosComprasCabecera_Bolsa.idPedidoCompraCabecera) + "=" + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.id) +
" WHERE " +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " IS null ";
bol_buscar = true;
}
//Listado Seleccionado
else
{
if (_lst_id != null && _lst_id.Count > 0)
{
string str_Filtro_IDS = Funciones.Formar_ContenidoIN_ParaConsultaWhere(nameof(COM_PedidosComprasCabecera),
nameof(COM_PedidosComprasCabecera.id),
G_ENUM_FORMARCONTENIDOIN_CONDICIONANTES.AND_FIN,
_lst_id);
str_SQL +=
" WHERE " +
str_Filtro_IDS +
nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.fechaBorrado) + " IS null ";
bol_buscar = true;
}
}
if (bol_buscar)
{
//Rellenar el Modelo
g_lst_INTERNO_AUX_Procesos_Modelo = obj_Exferia_Entities.Database.SqlQuery<INTERNO_AUX_Procesos_Modelo>(str_SQL).ToList();
#region Rellenar Tablas Relacionadas
if (g_lst_INTERNO_AUX_Procesos_Modelo != null && g_lst_INTERNO_AUX_Procesos_Modelo.Count > 0)
{
#region PRIMERO BUSCO LOS DATOS DE LAS TABLAS RELACIONADAS
//reiniciar Valores de los hilos
for (int int_Contador = 0; int_Contador < g_int_TotalHilos_Obtener_PROCESOS_LISTADO; int_Contador++)
{
g_bol_Hilos_Terminados_Obtener_PROCESOS_LISTADO[int_Contador] = false;
}
//COM_PedidosComprasLineas ##########################################################################################
ThreadStart obj_ThreadStart_PEDIDOSCOMPRALINEAS = new ThreadStart(Obtener_PedidosComprasLineas_Modelo_Obtener_PROCESOS_LISTADO);
Thread obj_Thread_PEDIDOSCOMPRALINEAS = new Thread(obj_ThreadStart_PEDIDOSCOMPRALINEAS);
obj_Thread_PEDIDOSCOMPRALINEAS.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_PROCESOS_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
List<COM_PedidosComprasLineas> lst_COM_PedidosComprasLineas = null;
foreach (INTERNO_AUX_Procesos_Modelo mdl_INTERNO_AUX_Procesos_Modelo in g_lst_INTERNO_AUX_Procesos_Modelo)
{
//TieneLineas #############################################
if (g_lst_COM_PedidosComprasLineas_PROCESOS != null &&
g_lst_COM_PedidosComprasLineas_PROCESOS.Count > 0)
{
lst_COM_PedidosComprasLineas = g_lst_COM_PedidosComprasLineas_PROCESOS.Where(m => m.idPedidoCompraCabecera == mdl_INTERNO_AUX_Procesos_Modelo.Id).ToList();
if (lst_COM_PedidosComprasLineas != null && lst_COM_PedidosComprasLineas.Count > 0)
{
mdl_INTERNO_AUX_Procesos_Modelo.TieneLineas = true;
}
else
{
mdl_INTERNO_AUX_Procesos_Modelo.TieneLineas = false;
}
}
else
{
mdl_INTERNO_AUX_Procesos_Modelo.TieneLineas = false;
}
}
#endregion
}
#endregion
}
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Obtener_Procesos_LISTADO), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return g_lst_INTERNO_AUX_Procesos_Modelo;
}
#region Tablas Relacionadas
private void Obtener_PedidosComprasLineas_Modelo_Obtener_PROCESOS_LISTADO()
{
try
{
COM_PedidosComprasLineas_Datos obj_COM_PedidosComprasLineas_Datos = new COM_PedidosComprasLineas_Datos();
g_lst_COM_PedidosComprasLineas_PROCESOS = obj_COM_PedidosComprasLineas_Datos.Obtener_ModeloListado_Por_IdsPedidoCompraCabecera(g_lst_INTERNO_AUX_Procesos_Modelo.Select(m => m.Id).ToList());
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Obtener_PROCESOS_LISTADO[0] = true;
}
}
#endregion
#endregion
#endregion
#endregion
#region MODELOS
#region Modelo Simple
private COM_PedidosComprasCabecera g_mdl_COM_PedidosComprasCabecera = null;
public COM_PedidosComprasCabecera Obtener_Modelo_Por_Id(long _lng_id,
bool _bol_Cargar_Delegacion)
{
try
{
string str_SQL = Obtener_Consulta_Modelo() +
//WHERE
" WHERE " + nameof(COM_PedidosComprasCabecera) + "." + nameof(COM_PedidosComprasCabecera.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_Delegacion);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Obtener_Modelo_Por_Id), true);
}
return g_mdl_COM_PedidosComprasCabecera;
}
#region Ejecutar Consulta
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_Delegacion)
{
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_COM_PedidosComprasCabecera = obj_Exferia_Entities.Database.SqlQuery<COM_PedidosComprasCabecera>(_str_SQL, _arr_Parametros).FirstOrDefault();
#region Rellenar Tablas Relacionadas
if (g_mdl_COM_PedidosComprasCabecera != 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;
}
//GEN_Delegaciones ##########################################################################################
if (_bol_Cargar_Delegacion)
{
ThreadStart obj_ThreadStart_DELEGACIONES = new ThreadStart(Obtener_Delegacion_Modelo);
Thread obj_Thread_DELEGACIONES = new Thread(obj_ThreadStart_DELEGACIONES);
obj_Thread_DELEGACIONES.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(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Ejecutar_Consulta_Modelo), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
}
#region Tablas Relacionadas
private void Obtener_Delegacion_Modelo()
{
try
{
g_mdl_COM_PedidosComprasCabecera.GEN_Delegaciones = Datos_Generales.GEN_Delegaciones_Obtener_Modelo_Por_Id(g_mdl_COM_PedidosComprasCabecera.idDelegacion);
}
catch (Control_Errores)
{ }
finally
{
g_bol_Hilos_Terminados_Modelo[0] = true;
}
}
#endregion
#endregion
#endregion
private string Obtener_Consulta_Modelo()
{
return
" SELECT " +
nameof(COM_PedidosComprasCabecera.id) + "," +
nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(COM_PedidosComprasCabecera.guid) + "," +
nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "," +
nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(COM_PedidosComprasCabecera.fechaBorrado) + "," +
nameof(COM_PedidosComprasCabecera.observaciones) + "," +
nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(COM_PedidosComprasCabecera.total_recargo) +
" FROM " + nameof(COM_PedidosComprasCabecera);
}
#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();
// dbcontext.Configuration.LazyLoadingEnabled = false;
COM_PedidosComprasCabecera mdl_COM_PedidosComprasCabecera_AGrabar = (COM_PedidosComprasCabecera)_mdl_obj;
COM_PedidosComprasCabecera mdl_COM_PedidosComprasCabecera_DatosViejos = new COM_PedidosComprasCabecera();
// Ver si existe ######################################################################
COM_PedidosComprasCabecera mdl_COM_PedidosComprasCabecera_Final = Obtener_Modelo_Por_Id(mdl_COM_PedidosComprasCabecera_AGrabar.id,false);
//######################################################################################
//UPDATE
if (mdl_COM_PedidosComprasCabecera_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_COM_PedidosComprasCabecera_Final, mdl_COM_PedidosComprasCabecera_DatosViejos, false, false);
// Cargar los Datos Nuevos del Modelo
Funciones.CopiarPropiedadesObjetos(mdl_COM_PedidosComprasCabecera_AGrabar, mdl_COM_PedidosComprasCabecera_Final, false, false);
#region Update
string str_SQL_Update = " UPDATE " + nameof(COM_PedidosComprasCabecera) +
" SET " +
nameof(COM_PedidosComprasCabecera.numeroDocumento) + "=@numeroDocumento," +
nameof(COM_PedidosComprasCabecera.descripcion) + "=@descripcion," +
nameof(COM_PedidosComprasCabecera.idDelegacion) + "=@idDelegacion," +
nameof(COM_PedidosComprasCabecera.idEmpresa) + "=@idEmpresa," +
nameof(COM_PedidosComprasCabecera.fecha) + "=@fecha," +
nameof(COM_PedidosComprasCabecera.guid) + "=@guid," +
nameof(COM_PedidosComprasCabecera.estado) + "=@estado," +
nameof(COM_PedidosComprasCabecera.idProveedor) + "=@idProveedor," +
nameof(COM_PedidosComprasCabecera.idMoneda) + "=@idMoneda," +
nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "=@idImpuestoCabecera," +
nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "=@descuentoProntoPago," +
nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "=@descuentoFinalFactura," +
nameof(COM_PedidosComprasCabecera.idEmpleado) + "=@idEmpleado," +
nameof(COM_PedidosComprasCabecera.referencia) + "=@referencia," +
nameof(COM_PedidosComprasCabecera.fechaPrevista) + "=@fechaPrevista," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "=@idPredefinidoCabecera_Pedido," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "=@idPredefinidoCabecera_Cancelacion," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "=@idPredefinidoCabecera_Anulacion," +
nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "=@idClaveAnalitica," +
nameof(COM_PedidosComprasCabecera.recargo) + "=@recargo," +
nameof(COM_PedidosComprasCabecera.situacion) + "=@situacion," +
nameof(COM_PedidosComprasCabecera.autorizado) + "=@autorizado," +
nameof(COM_PedidosComprasCabecera.fechaBorrado) + "=@fechaBorrado," +
nameof(COM_PedidosComprasCabecera.observaciones) + "=@observaciones," +
nameof(COM_PedidosComprasCabecera.total) + "=@total," +
nameof(COM_PedidosComprasCabecera.total_baseImponible) + "=@total_baseImponible," +
nameof(COM_PedidosComprasCabecera.total_bruto) + "=@total_bruto," +
nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "=@total_descuentoFinalFactura," +
nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "=@total_descuentoProntoPago," +
nameof(COM_PedidosComprasCabecera.total_impuesto) + "=@total_impuesto," +
nameof(COM_PedidosComprasCabecera.total_recargo) + "=@total_recargo" +
" WHERE " +
nameof(COM_PedidosComprasCabecera.id) + "=@id";
//Parametros
object[] arr_Parametros_Update = new object[]
{
new SqlParameter("@numeroDocumento", mdl_COM_PedidosComprasCabecera_Final.numeroDocumento),
new SqlParameter("@descripcion", mdl_COM_PedidosComprasCabecera_Final.descripcion),
new SqlParameter("@idDelegacion", mdl_COM_PedidosComprasCabecera_Final.idDelegacion),
new SqlParameter("@idEmpresa", mdl_COM_PedidosComprasCabecera_Final.idEmpresa),
new SqlParameter("@fecha", mdl_COM_PedidosComprasCabecera_Final.fecha),
mdl_COM_PedidosComprasCabecera_Final.guid!=null
? new SqlParameter("@guid", mdl_COM_PedidosComprasCabecera_Final.guid)
: new SqlParameter("@guid", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.estado!=null
? new SqlParameter("@estado", mdl_COM_PedidosComprasCabecera_Final.estado)
: new SqlParameter("@estado", DBNull.Value),
new SqlParameter("@idProveedor", mdl_COM_PedidosComprasCabecera_Final.idProveedor),
new SqlParameter("@idMoneda", mdl_COM_PedidosComprasCabecera_Final.idMoneda),
new SqlParameter("@idImpuestoCabecera", mdl_COM_PedidosComprasCabecera_Final.idImpuestoCabecera),
mdl_COM_PedidosComprasCabecera_Final.descuentoProntoPago!=null
? new SqlParameter("@descuentoProntoPago", mdl_COM_PedidosComprasCabecera_Final.descuentoProntoPago.Value)
: new SqlParameter("@descuentoProntoPago", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.descuentoFinalFactura!=null
? new SqlParameter("@descuentoFinalFactura", mdl_COM_PedidosComprasCabecera_Final.descuentoFinalFactura.Value)
: new SqlParameter("@descuentoFinalFactura", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idEmpleado!=null
? new SqlParameter("@idEmpleado", mdl_COM_PedidosComprasCabecera_Final.idEmpleado.Value)
: new SqlParameter("@idEmpleado", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.referencia!=null
? new SqlParameter("@referencia", mdl_COM_PedidosComprasCabecera_Final.referencia)
: new SqlParameter("@referencia", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.fechaPrevista!=null
? new SqlParameter("@fechaPrevista", mdl_COM_PedidosComprasCabecera_Final.fechaPrevista.Value)
: new SqlParameter("@fechaPrevista", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Pedido!=null
? new SqlParameter("@idPredefinidoCabecera_Pedido", mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Pedido.Value)
: new SqlParameter("@idPredefinidoCabecera_Pedido", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Cancelacion!=null
? new SqlParameter("@idPredefinidoCabecera_Cancelacion", mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Cancelacion.Value)
: new SqlParameter("@idPredefinidoCabecera_Cancelacion", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Anulacion!=null
? new SqlParameter("@idPredefinidoCabecera_Anulacion", mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Anulacion.Value)
: new SqlParameter("@idPredefinidoCabecera_Anulacion", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idClaveAnalitica!=null
? new SqlParameter("@idClaveAnalitica", mdl_COM_PedidosComprasCabecera_Final.idClaveAnalitica.Value)
: new SqlParameter("@idClaveAnalitica", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.recargo!=null
? new SqlParameter("@recargo", mdl_COM_PedidosComprasCabecera_Final.recargo.Value)
: new SqlParameter("@recargo", DBNull.Value),
new SqlParameter("@situacion", mdl_COM_PedidosComprasCabecera_Final.situacion),
mdl_COM_PedidosComprasCabecera_Final.autorizado!=null
? new SqlParameter("@autorizado", mdl_COM_PedidosComprasCabecera_Final.autorizado.Value)
: new SqlParameter("@autorizado", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.fechaBorrado!=null
? new SqlParameter("@fechaBorrado", mdl_COM_PedidosComprasCabecera_Final.fechaBorrado.Value)
: new SqlParameter("@fechaBorrado", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.observaciones!=null
? new SqlParameter("@observaciones", mdl_COM_PedidosComprasCabecera_Final.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total!=null
? new SqlParameter("@total", mdl_COM_PedidosComprasCabecera_Final.total.Value)
: new SqlParameter("@total", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_baseImponible!=null
? new SqlParameter("@total_baseImponible", mdl_COM_PedidosComprasCabecera_Final.total_baseImponible.Value)
: new SqlParameter("@total_baseImponible", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_bruto!=null
? new SqlParameter("@total_bruto", mdl_COM_PedidosComprasCabecera_Final.total_bruto.Value)
: new SqlParameter("@total_bruto", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_descuentoFinalFactura!=null
? new SqlParameter("@total_descuentoFinalFactura", mdl_COM_PedidosComprasCabecera_Final.total_descuentoFinalFactura.Value)
: new SqlParameter("@total_descuentoFinalFactura", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_descuentoProntoPago!=null
? new SqlParameter("@total_descuentoProntoPago", mdl_COM_PedidosComprasCabecera_Final.total_descuentoProntoPago.Value)
: new SqlParameter("@total_descuentoProntoPago", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_impuesto!=null
? new SqlParameter("@total_impuesto", mdl_COM_PedidosComprasCabecera_Final.total_impuesto.Value)
: new SqlParameter("@total_impuesto", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_recargo!=null
? new SqlParameter("@total_recargo", mdl_COM_PedidosComprasCabecera_Final.total_recargo.Value)
: new SqlParameter("@total_recargo", DBNull.Value),
new SqlParameter("@id", mdl_COM_PedidosComprasCabecera_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_COM_PedidosComprasCabecera_Final.id;
}
//INSERT
else
{
mdl_COM_PedidosComprasCabecera_Final = new COM_PedidosComprasCabecera();
//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_COM_PedidosComprasCabecera_AGrabar, mdl_COM_PedidosComprasCabecera_Final, false, false);
#region INSERT
string str_SQL_Insert = " INSERT INTO " + nameof(COM_PedidosComprasCabecera) +
" (" +
nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(COM_PedidosComprasCabecera.guid) + "," +
nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "," +
nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(COM_PedidosComprasCabecera.fechaBorrado) + "," +
nameof(COM_PedidosComprasCabecera.observaciones) + "," +
nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(COM_PedidosComprasCabecera.total_recargo) +
" ) " +
" OUTPUT INSERTED." + nameof(COM_PedidosComprasCabecera.id) +
" VALUES " +
" ( " +
"@numeroDocumento," +
"@descripcion," +
"@idDelegacion," +
"@idEmpresa," +
"@fecha," +
"@guid," +
"@estado," +
"@idProveedor," +
"@idMoneda," +
"@idImpuestoCabecera," +
"@descuentoProntoPago," +
"@descuentoFinalFactura," +
"@idEmpleado," +
"@referencia," +
"@fechaPrevista," +
"@idPredefinidoCabecera_Pedido," +
"@idPredefinidoCabecera_Cancelacion," +
"@idPredefinidoCabecera_Anulacion," +
"@idClaveAnalitica," +
"@recargo," +
"@situacion," +
"@autorizado," +
"@fechaBorrado," +
"@observaciones," +
"@total," +
"@total_baseImponible," +
"@total_bruto," +
"@total_descuentoFinalFactura," +
"@total_descuentoProntoPago," +
"@total_impuesto," +
"@total_recargo" +
" ) ";
//Parametros
object[] arr_Parametros_Insert = new object[]
{
new SqlParameter("@numeroDocumento", mdl_COM_PedidosComprasCabecera_Final.numeroDocumento),
new SqlParameter("@descripcion", mdl_COM_PedidosComprasCabecera_Final.descripcion),
new SqlParameter("@idDelegacion", mdl_COM_PedidosComprasCabecera_Final.idDelegacion),
new SqlParameter("@idEmpresa", mdl_COM_PedidosComprasCabecera_Final.idEmpresa),
new SqlParameter("@fecha", mdl_COM_PedidosComprasCabecera_Final.fecha),
mdl_COM_PedidosComprasCabecera_Final.guid!=null
? new SqlParameter("@guid", mdl_COM_PedidosComprasCabecera_Final.guid)
: new SqlParameter("@guid", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.estado!=null
? new SqlParameter("@estado", mdl_COM_PedidosComprasCabecera_Final.estado)
: new SqlParameter("@estado", DBNull.Value),
new SqlParameter("@idProveedor", mdl_COM_PedidosComprasCabecera_Final.idProveedor),
new SqlParameter("@idMoneda", mdl_COM_PedidosComprasCabecera_Final.idMoneda),
new SqlParameter("@idImpuestoCabecera", mdl_COM_PedidosComprasCabecera_Final.idImpuestoCabecera),
mdl_COM_PedidosComprasCabecera_Final.descuentoProntoPago!=null
? new SqlParameter("@descuentoProntoPago", mdl_COM_PedidosComprasCabecera_Final.descuentoProntoPago.Value)
: new SqlParameter("@descuentoProntoPago", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.descuentoFinalFactura!=null
? new SqlParameter("@descuentoFinalFactura", mdl_COM_PedidosComprasCabecera_Final.descuentoFinalFactura.Value)
: new SqlParameter("@descuentoFinalFactura", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idEmpleado!=null
? new SqlParameter("@idEmpleado", mdl_COM_PedidosComprasCabecera_Final.idEmpleado.Value)
: new SqlParameter("@idEmpleado", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.referencia!=null
? new SqlParameter("@referencia", mdl_COM_PedidosComprasCabecera_Final.referencia)
: new SqlParameter("@referencia", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.fechaPrevista!=null
? new SqlParameter("@fechaPrevista", mdl_COM_PedidosComprasCabecera_Final.fechaPrevista.Value)
: new SqlParameter("@fechaPrevista", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Pedido!=null
? new SqlParameter("@idPredefinidoCabecera_Pedido", mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Pedido.Value)
: new SqlParameter("@idPredefinidoCabecera_Pedido", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Cancelacion!=null
? new SqlParameter("@idPredefinidoCabecera_Cancelacion", mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Cancelacion.Value)
: new SqlParameter("@idPredefinidoCabecera_Cancelacion", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Anulacion!=null
? new SqlParameter("@idPredefinidoCabecera_Anulacion", mdl_COM_PedidosComprasCabecera_Final.idPredefinidoCabecera_Anulacion.Value)
: new SqlParameter("@idPredefinidoCabecera_Anulacion", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.idClaveAnalitica!=null
? new SqlParameter("@idClaveAnalitica", mdl_COM_PedidosComprasCabecera_Final.idClaveAnalitica.Value)
: new SqlParameter("@idClaveAnalitica", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.recargo!=null
? new SqlParameter("@recargo", mdl_COM_PedidosComprasCabecera_Final.recargo.Value)
: new SqlParameter("@recargo", DBNull.Value),
new SqlParameter("@situacion", mdl_COM_PedidosComprasCabecera_Final.situacion),
mdl_COM_PedidosComprasCabecera_Final.autorizado!=null
? new SqlParameter("@autorizado", mdl_COM_PedidosComprasCabecera_Final.autorizado.Value)
: new SqlParameter("@autorizado", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.fechaBorrado!=null
? new SqlParameter("@fechaBorrado", mdl_COM_PedidosComprasCabecera_Final.fechaBorrado.Value)
: new SqlParameter("@fechaBorrado", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.observaciones!=null
? new SqlParameter("@observaciones", mdl_COM_PedidosComprasCabecera_Final.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total!=null
? new SqlParameter("@total", mdl_COM_PedidosComprasCabecera_Final.total.Value)
: new SqlParameter("@total", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_baseImponible!=null
? new SqlParameter("@total_baseImponible", mdl_COM_PedidosComprasCabecera_Final.total_baseImponible.Value)
: new SqlParameter("@total_baseImponible", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_bruto!=null
? new SqlParameter("@total_bruto", mdl_COM_PedidosComprasCabecera_Final.total_bruto.Value)
: new SqlParameter("@total_bruto", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_descuentoFinalFactura!=null
? new SqlParameter("@total_descuentoFinalFactura", mdl_COM_PedidosComprasCabecera_Final.total_descuentoFinalFactura.Value)
: new SqlParameter("@total_descuentoFinalFactura", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_descuentoProntoPago!=null
? new SqlParameter("@total_descuentoProntoPago", mdl_COM_PedidosComprasCabecera_Final.total_descuentoProntoPago.Value)
: new SqlParameter("@total_descuentoProntoPago", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_impuesto!=null
? new SqlParameter("@total_impuesto", mdl_COM_PedidosComprasCabecera_Final.total_impuesto.Value)
: new SqlParameter("@total_impuesto", DBNull.Value),
mdl_COM_PedidosComprasCabecera_Final.total_recargo!=null
? new SqlParameter("@total_recargo", mdl_COM_PedidosComprasCabecera_Final.total_recargo.Value)
: new SqlParameter("@total_recargo", 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(COM_PedidosComprasCabecera), mdl_COM_PedidosComprasCabecera_DatosViejos, mdl_COM_PedidosComprasCabecera_Final, mdl_INTERNO_ValorDevuelto_Modelo.TipoAccion, obj_Exferia_Entities);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Grabar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_INTERNO_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Actualizar_Estado(long _lng_id, string _str_Estado)
{
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();
string str_SQL_Update =
" UPDATE " + nameof(COM_PedidosComprasCabecera) +
" set " + nameof(COM_PedidosComprasCabecera.estado) + "='" + _str_Estado + "' " +
" WHERE " + nameof(COM_PedidosComprasCabecera.id) + "=" + _lng_id;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Actualizar_Estado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Actualizar_Situacion(long _lng_id, int _int_Situacion)
{
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();
string str_SQL_Update =
" UPDATE " + nameof(COM_PedidosComprasCabecera) +
" set " + nameof(COM_PedidosComprasCabecera.situacion) + "=" + _int_Situacion + " " +
" WHERE " + nameof(COM_PedidosComprasCabecera.id) + "=" + _lng_id;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Actualizar_Situacion), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Actualizar_Autorizado(long _lng_id, bool _bol_Autorizado)
{
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();
string str_SQL_Update =
" UPDATE " + nameof(COM_PedidosComprasCabecera) +
" set " + nameof(COM_PedidosComprasCabecera.autorizado) + "=" + (_bol_Autorizado? 1 : 0) + " " +
" WHERE " + nameof(COM_PedidosComprasCabecera.id) + "=" + _lng_id;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Actualizar_Autorizado), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Actualizar_Fecha(long _lng_id, DateTime _dtt_Fecha)
{
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();
string str_SQL_Update =
" UPDATE " + nameof(COM_PedidosComprasCabecera) +
" set " +
nameof(COM_PedidosComprasCabecera.fecha) + "='" + _dtt_Fecha.ToString("dd/MM/yyyy") + "' " +
" WHERE " + nameof(COM_PedidosComprasCabecera.id) + "=" + _lng_id;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Actualizar_Fecha), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Actualizar_VariosCampos(long _lng_id, long _lng_idProveedor, long _lng_idImpuestoCabecera, long? _lng_idMoneda, DateTime _dtt_Fecha, decimal _dcm_DescuentoProntoPago, decimal _dcm_DescuentoFinalFactura, bool _bol_Recargo)
{
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();
string str_SQL_Update =
" UPDATE " + nameof(COM_PedidosComprasCabecera) +
" set " + nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "=" + _dcm_DescuentoProntoPago.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "=" + _dcm_DescuentoFinalFactura.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.idProveedor) + "=" + _lng_idProveedor + ", " +
nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "=" + _lng_idImpuestoCabecera + ", " +
nameof(COM_PedidosComprasCabecera.idMoneda) + "=" + (_lng_idMoneda != null ? _lng_idMoneda.Value.ToString() : " NULL ") + ", " +
nameof(COM_PedidosComprasCabecera.recargo) + "=" + (_bol_Recargo ? "1" : "0") + ", " +
nameof(COM_PedidosComprasCabecera.fecha) + "='" + _dtt_Fecha + "' " +
" WHERE " + nameof(COM_PedidosComprasCabecera.id) + "=" + _lng_id;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update);
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Actualizar_VariosCampos), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Actualizar_Totales(long _lng_id,
decimal _dcm_total_bruto,
decimal _dcm_total_descuentoProntoPago,
decimal _dcm_total_descuentoFinalFactura,
decimal _dcm_total_baseImponible,
decimal _dcm_total_impuesto,
decimal _dcm_total_recargo,
decimal _dcm_total)
{
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;
string str_SQL_Update =
" UPDATE " + nameof(COM_PedidosComprasCabecera) +
" set " + nameof(COM_PedidosComprasCabecera.total_bruto) + "=" + _dcm_total_bruto.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "=" + _dcm_total_descuentoProntoPago.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "=" + _dcm_total_descuentoFinalFactura.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.total_baseImponible) + "=" + _dcm_total_baseImponible.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.total_impuesto) + "=" + _dcm_total_impuesto.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.total_recargo) + "=" + _dcm_total_recargo.ToString().Replace(",", ".") + ", " +
nameof(COM_PedidosComprasCabecera.total) + "=" + _dcm_total.ToString().Replace(",", ".") +
" WHERE " + nameof(COM_PedidosComprasCabecera.id) + "=" + _lng_id;
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update);
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Actualizar_Totales), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_INTERNO_ValorDevuelto_Modelo;
}
public INTERNO_ValorDevuelto_Modelo Insertar(COM_PedidosComprasCabecera _mdl_COM_PedidosComprasCabecera)
{
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();
#region INSERT
string str_SQL_Insert = " INSERT INTO " + nameof(COM_PedidosComprasCabecera) +
" (" +
nameof(COM_PedidosComprasCabecera.numeroDocumento) + "," +
nameof(COM_PedidosComprasCabecera.descripcion) + "," +
nameof(COM_PedidosComprasCabecera.idDelegacion) + "," +
nameof(COM_PedidosComprasCabecera.idEmpresa) + "," +
nameof(COM_PedidosComprasCabecera.fecha) + "," +
nameof(COM_PedidosComprasCabecera.guid) + "," +
nameof(COM_PedidosComprasCabecera.estado) + "," +
nameof(COM_PedidosComprasCabecera.idProveedor) + "," +
nameof(COM_PedidosComprasCabecera.idMoneda) + "," +
nameof(COM_PedidosComprasCabecera.idImpuestoCabecera) + "," +
nameof(COM_PedidosComprasCabecera.descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera.descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera.idEmpleado) + "," +
nameof(COM_PedidosComprasCabecera.referencia) + "," +
nameof(COM_PedidosComprasCabecera.fechaPrevista) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion) + "," +
nameof(COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion) + "," +
nameof(COM_PedidosComprasCabecera.idClaveAnalitica) + "," +
nameof(COM_PedidosComprasCabecera.recargo) + "," +
nameof(COM_PedidosComprasCabecera.situacion) + "," +
nameof(COM_PedidosComprasCabecera.autorizado) + "," +
nameof(COM_PedidosComprasCabecera.fechaBorrado) + "," +
nameof(COM_PedidosComprasCabecera.observaciones) + "," +
nameof(COM_PedidosComprasCabecera.total) + "," +
nameof(COM_PedidosComprasCabecera.total_baseImponible) + "," +
nameof(COM_PedidosComprasCabecera.total_bruto) + "," +
nameof(COM_PedidosComprasCabecera.total_descuentoFinalFactura) + "," +
nameof(COM_PedidosComprasCabecera.total_descuentoProntoPago) + "," +
nameof(COM_PedidosComprasCabecera.total_impuesto) + "," +
nameof(COM_PedidosComprasCabecera.total_recargo) +
" ) " +
" OUTPUT INSERTED." + nameof(COM_PedidosComprasCabecera.id) +
" VALUES " +
" ( " +
"@numeroDocumento," +
"@descripcion," +
"@idDelegacion," +
"@idEmpresa," +
"@fecha," +
"@guid," +
"@estado," +
"@idProveedor," +
"@idMoneda," +
"@idImpuestoCabecera," +
"@descuentoProntoPago," +
"@descuentoFinalFactura," +
"@idEmpleado," +
"@referencia," +
"@fechaPrevista," +
"@idPredefinidoCabecera_Pedido," +
"@idPredefinidoCabecera_Cancelacion," +
"@idPredefinidoCabecera_Anulacion," +
"@idClaveAnalitica," +
"@recargo," +
"@situacion," +
"@autorizado," +
"@fechaBorrado," +
"@observaciones," +
"@total," +
"@total_baseImponible," +
"@total_bruto," +
"@total_descuentoFinalFactura," +
"@total_descuentoProntoPago," +
"@total_impuesto," +
"@total_recargo" +
" ) ";
//Parametros
object[] arr_Parametros_Insert = new object[]
{
new SqlParameter("@numeroDocumento", _mdl_COM_PedidosComprasCabecera.numeroDocumento),
new SqlParameter("@descripcion", _mdl_COM_PedidosComprasCabecera.descripcion),
new SqlParameter("@idDelegacion", _mdl_COM_PedidosComprasCabecera.idDelegacion),
new SqlParameter("@idEmpresa", _mdl_COM_PedidosComprasCabecera.idEmpresa),
new SqlParameter("@fecha", _mdl_COM_PedidosComprasCabecera.fecha),
_mdl_COM_PedidosComprasCabecera.guid!=null
? new SqlParameter("@guid", _mdl_COM_PedidosComprasCabecera.guid)
: new SqlParameter("@guid", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.estado!=null
? new SqlParameter("@estado", _mdl_COM_PedidosComprasCabecera.estado)
: new SqlParameter("@estado", DBNull.Value),
new SqlParameter("@idProveedor", _mdl_COM_PedidosComprasCabecera.idProveedor),
new SqlParameter("@idMoneda", _mdl_COM_PedidosComprasCabecera.idMoneda),
new SqlParameter("@idImpuestoCabecera", _mdl_COM_PedidosComprasCabecera.idImpuestoCabecera),
_mdl_COM_PedidosComprasCabecera.descuentoProntoPago!=null
? new SqlParameter("@descuentoProntoPago", _mdl_COM_PedidosComprasCabecera.descuentoProntoPago.Value)
: new SqlParameter("@descuentoProntoPago", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.descuentoFinalFactura!=null
? new SqlParameter("@descuentoFinalFactura", _mdl_COM_PedidosComprasCabecera.descuentoFinalFactura.Value)
: new SqlParameter("@descuentoFinalFactura", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.idEmpleado!=null
? new SqlParameter("@idEmpleado", _mdl_COM_PedidosComprasCabecera.idEmpleado.Value)
: new SqlParameter("@idEmpleado", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.referencia!=null
? new SqlParameter("@referencia", _mdl_COM_PedidosComprasCabecera.referencia)
: new SqlParameter("@referencia", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.fechaPrevista!=null
? new SqlParameter("@fechaPrevista", _mdl_COM_PedidosComprasCabecera.fechaPrevista.Value)
: new SqlParameter("@fechaPrevista", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido!=null
? new SqlParameter("@idPredefinidoCabecera_Pedido", _mdl_COM_PedidosComprasCabecera.idPredefinidoCabecera_Pedido.Value)
: new SqlParameter("@idPredefinidoCabecera_Pedido", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion!=null
? new SqlParameter("@idPredefinidoCabecera_Cancelacion", _mdl_COM_PedidosComprasCabecera.idPredefinidoCabecera_Cancelacion.Value)
: new SqlParameter("@idPredefinidoCabecera_Cancelacion", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion!=null
? new SqlParameter("@idPredefinidoCabecera_Anulacion", _mdl_COM_PedidosComprasCabecera.idPredefinidoCabecera_Anulacion.Value)
: new SqlParameter("@idPredefinidoCabecera_Anulacion", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.idClaveAnalitica!=null
? new SqlParameter("@idClaveAnalitica", _mdl_COM_PedidosComprasCabecera.idClaveAnalitica.Value)
: new SqlParameter("@idClaveAnalitica", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.recargo!=null
? new SqlParameter("@recargo", _mdl_COM_PedidosComprasCabecera.recargo.Value)
: new SqlParameter("@recargo", DBNull.Value),
new SqlParameter("@situacion", _mdl_COM_PedidosComprasCabecera.situacion),
_mdl_COM_PedidosComprasCabecera.autorizado!=null
? new SqlParameter("@autorizado", _mdl_COM_PedidosComprasCabecera.autorizado.Value)
: new SqlParameter("@autorizado", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.fechaBorrado!=null
? new SqlParameter("@fechaBorrado", _mdl_COM_PedidosComprasCabecera.fechaBorrado.Value)
: new SqlParameter("@fechaBorrado", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.observaciones!=null
? new SqlParameter("@observaciones", _mdl_COM_PedidosComprasCabecera.observaciones)
: new SqlParameter("@observaciones", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.total!=null
? new SqlParameter("@total", _mdl_COM_PedidosComprasCabecera.total.Value)
: new SqlParameter("@total", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.total_baseImponible!=null
? new SqlParameter("@total_baseImponible", _mdl_COM_PedidosComprasCabecera.total_baseImponible.Value)
: new SqlParameter("@total_baseImponible", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.total_bruto!=null
? new SqlParameter("@total_bruto", _mdl_COM_PedidosComprasCabecera.total_bruto.Value)
: new SqlParameter("@total_bruto", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.total_descuentoFinalFactura!=null
? new SqlParameter("@total_descuentoFinalFactura", _mdl_COM_PedidosComprasCabecera.total_descuentoFinalFactura.Value)
: new SqlParameter("@total_descuentoFinalFactura", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.total_descuentoProntoPago!=null
? new SqlParameter("@total_descuentoProntoPago", _mdl_COM_PedidosComprasCabecera.total_descuentoProntoPago.Value)
: new SqlParameter("@total_descuentoProntoPago", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.total_impuesto!=null
? new SqlParameter("@total_impuesto", _mdl_COM_PedidosComprasCabecera.total_impuesto.Value)
: new SqlParameter("@total_impuesto", DBNull.Value),
_mdl_COM_PedidosComprasCabecera.total_recargo!=null
? new SqlParameter("@total_recargo", _mdl_COM_PedidosComprasCabecera.total_recargo.Value)
: new SqlParameter("@total_recargo", 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 TABLAS RELACIONADAS
//ANEXOS
if (_mdl_COM_PedidosComprasCabecera.COM_PedidosComprasCabecera_Anexos != null && _mdl_COM_PedidosComprasCabecera.COM_PedidosComprasCabecera_Anexos.Count > 0)
{
COM_PedidosComprasCabecera_Anexos_Datos obj_COM_PedidosComprasCabecera_Anexos_Datos = new COM_PedidosComprasCabecera_Anexos_Datos();
foreach (COM_PedidosComprasCabecera_Anexos mdl_COM_PedidosComprasCabecera_Anexos in _mdl_COM_PedidosComprasCabecera.COM_PedidosComprasCabecera_Anexos)
{
//Añadir el idPedidoCabecera
mdl_COM_PedidosComprasCabecera_Anexos.idPedidoCompraCabecera = mdl_INTERNO_ValorDevuelto_Modelo.Id;
//Insertar
obj_COM_PedidosComprasCabecera_Anexos_Datos.Insertar(mdl_COM_PedidosComprasCabecera_Anexos);
}
}
//RESUMEN
if (_mdl_COM_PedidosComprasCabecera.COM_PedidosComprasCabecera_Resumen != null && _mdl_COM_PedidosComprasCabecera.COM_PedidosComprasCabecera_Resumen.Count > 0)
{
COM_PedidosComprasCabecera_Resumen_Datos obj_COM_PedidosComprasCabecera_Resumen_Datos = new COM_PedidosComprasCabecera_Resumen_Datos();
foreach (COM_PedidosComprasCabecera_Resumen mdl_COM_PedidosComprasCabecera_Resumen in _mdl_COM_PedidosComprasCabecera.COM_PedidosComprasCabecera_Resumen)
{
//Añadir el idPedidoCabecera
mdl_COM_PedidosComprasCabecera_Resumen.idPedidoCompraCabecera = mdl_INTERNO_ValorDevuelto_Modelo.Id;
//Insertar
obj_COM_PedidosComprasCabecera_Resumen_Datos.Insertar_Final(mdl_COM_PedidosComprasCabecera_Resumen);
}
}
//LINEAS
if (_mdl_COM_PedidosComprasCabecera.COM_PedidosComprasLineas != null && _mdl_COM_PedidosComprasCabecera.COM_PedidosComprasLineas.Count > 0)
{
COM_PedidosComprasLineas_Datos obj_COM_PedidosComprasLineas_Datos = new COM_PedidosComprasLineas_Datos();
foreach (COM_PedidosComprasLineas mdl_COM_PedidosComprasLineas in _mdl_COM_PedidosComprasCabecera.COM_PedidosComprasLineas)
{
//Añadir el idPedidoCabecera
mdl_COM_PedidosComprasLineas.idPedidoCompraCabecera = mdl_INTERNO_ValorDevuelto_Modelo.Id;
//Insertar
obj_COM_PedidosComprasLineas_Datos.Insertar(mdl_COM_PedidosComprasLineas);
}
}
#endregion
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Insertar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_INTERNO_ValorDevuelto_Modelo;
}
#endregion
#region Borrar
public override INTERNO_ValorDevuelto_Modelo Borrar(long _lng_id)
{
Exferia_Entities obj_Exferia_Entities = null;
INTERNO_ValorDevuelto_Modelo mdl_ValorDevuelto_Modelo = new INTERNO_ValorDevuelto_Modelo();
mdl_ValorDevuelto_Modelo.TodoCorrecto = true;
//Tipo de Accion que se va a realizar
mdl_ValorDevuelto_Modelo.TipoAccion = G_ENUM_TIPOACCION.INT_ELIMINAR;
bool bol_ActualizarFechaBorrado = false;//Este campo se utiliza por si no se puede borrar, que actualice la fecha de borrado
try
{
obj_Exferia_Entities = new Exferia_Entities();
obj_Exferia_Entities.Configuration.LazyLoadingEnabled = false;
// Ver si existe ######################################################################
COM_PedidosComprasCabecera mdl_COM_PedidosComprasCabecera_Final = Obtener_Modelo_Por_Id(_lng_id,false);
//######################################################################################
//Actualiazr primero COM_SolicitudesofertaCabecera para quitar la relacion, y cambiar la situacion a pendiente si estuviera relacionado
COM_SolicitudesOfertaCabecera_Datos obj_COM_SolicitudesOfertasCabecera_Datos = new COM_SolicitudesOfertaCabecera_Datos();
obj_COM_SolicitudesOfertasCabecera_Datos.QuitarRelacion_PedidoCompraCabecera(_lng_id, obj_Exferia_Entities);
if (mdl_COM_PedidosComprasCabecera_Final != null)
{
//Se intenta borrar, si diera un error porque esta relacaionado se graba la fecha de baja
try
{
#region Delete
string str_SQL_Delete = " DELETE FROM " + nameof(COM_PedidosComprasCabecera) +
" WHERE " +
nameof(COM_PedidosComprasCabecera.id) + "=@id";
//Parametros
object[] arr_Parametros_Delete = new object[]
{
new SqlParameter("@id", _lng_id)
};
#endregion
//Delete
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Delete, arr_Parametros_Delete);
// Grabar un registro de trazabilidad con los datos de la transaccion realizada.
Datos_Generales.USR_Trazabilidad_Grabar(typeof(COM_PedidosComprasCabecera), null, mdl_COM_PedidosComprasCabecera_Final, G_ENUM_TIPOACCION.INT_ELIMINAR, obj_Exferia_Entities);
}
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
bol_ActualizarFechaBorrado = true;
break;
default:
throw;
}
}
}
else
{
throw;
}
}
}
// Actualizar la fecha de baja , al no poder borrarlo por tener relaciones
if (bol_ActualizarFechaBorrado)
{
#region Update
string str_SQL_Update = " UPDATE " + nameof(COM_PedidosComprasCabecera) +
" SET " +
nameof(COM_PedidosComprasCabecera.fechaBorrado) + "=@fechaBorrado " +
" WHERE " +
nameof(COM_PedidosComprasCabecera.id) + "=@id";
//Parametros
object[] arr_Parametros_Update = new object[]
{
new SqlParameter("@fechaBorrado", DateTime.Now),
new SqlParameter("@id", _lng_id)
};
#endregion
//Update
obj_Exferia_Entities.Database.ExecuteSqlCommand(str_SQL_Update, arr_Parametros_Update);
//Grabar un registro de trazabilidad con los datos de la trasaccion realizada
Datos_Generales.USR_Trazabilidad_Grabar(typeof(COM_PedidosComprasCabecera), null, mdl_COM_PedidosComprasCabecera_Final, Enumerados.G_ENUM_TIPOACCION.INT_ELIMINAR, obj_Exferia_Entities);
}
// Devolver también el Objeto
mdl_ValorDevuelto_Modelo.Id = _lng_id;
}
catch (Control_Errores)
{
throw;
}
catch (Exception ex)
{
throw new Control_Errores("", ex, nameof(COM_PedidosComprasCabecera_Datos) + "/" + nameof(Borrar), true);
}
finally
{
obj_Exferia_Entities.Database.Connection.Close();
obj_Exferia_Entities.Dispose();
}
return mdl_ValorDevuelto_Modelo;
}
public override INTERNO_ValorDevuelto_Modelo Borrar(long _lng_id, long _lng_idAuxiliar)
{
return null;
}
public override INTERNO_ValorDevuelto_Modelo Borrar(object _mdl_obj)
{
return null;
}
#endregion
}
}