public List<CARGA_PRESTACIONES_ENCABEZADO> GetByFilterWithReferences(int? CARGA_PRESTACIONES_ESTADOId = null, int? TIPO_PRESTACIONId = null, System.DateTime? FECHA_CARGA = null, string ARCHIVO = "")
 {
     Init();
     try
     {
          using (LQCEEntities context = new LQCEEntities())
         {
             RepositorioCARGA_PRESTACIONES_ENCABEZADO repositorio = new RepositorioCARGA_PRESTACIONES_ENCABEZADO(context);
             return repositorio.GetByFilterWithReferences(CARGA_PRESTACIONES_ESTADOId, TIPO_PRESTACIONId, FECHA_CARGA, ARCHIVO).OrderBy(i => i.ID).ToList();
         }
     }
     catch (Exception ex)
     {
          ISException.RegisterExcepcion(ex);
         Error = ex.Message;
         throw ex;
     }
 }
        /// <summary>
        /// Obtiene listado de resumen de carga de prestaciones
        /// </summary>
        /// <param name="IdCargaPrestacionesEstado">(Opcional) Filtra por estado de carga</param>
        /// <returns>Listado de resumen de carga de prestaciones</returns>
        public List<DTO_RESUMEN_CARGA_PRESTACIONES> GetResumenCargaPrestaciones(int? IdCargaPrestacionesEstado, int? IdTipoPrestacion)
        {
            Init();
            try
            {
                using (LQCEEntities context = new LQCEEntities())
                {
                    RepositorioCARGA_PRESTACIONES_ENCABEZADO repositorio = new RepositorioCARGA_PRESTACIONES_ENCABEZADO(context);

                    int IdEstadoDetalleValidado = (int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.Validado;
                    int IdEstadoDetalleConError = (int)ENUM_CARGA_PRESTACIONES_DETALLE_ESTADO.ConError;

                    var q = from item in repositorio.GetByFilterWithReferences(IdCargaPrestacionesEstado,
                            IdTipoPrestacion, null, "")
                            select new DTO_RESUMEN_CARGA_PRESTACIONES
                            {
                                ID = item.ID,
                                ARCHIVO = item.ARCHIVO,
                                FECHA_CARGA = item.FECHA_CARGA,
                                FECHA_ACTUALIZACION = item.FECHA_CARGA,
                                //FECHA_ACTUALIZACION = (item.CARGA_PRESTACIONES_HUMANAS_DETALLE.Max(d => d.FECHA_ACTUALIZACION) > item.CARGA_PRESTACIONES_VETERINARIAS_DETALLE.Max(d => d.FECHA_ACTUALIZACION) ?
                                //    item.CARGA_PRESTACIONES_HUMANAS_DETALLE.Max(d => d.FECHA_ACTUALIZACION) : item.CARGA_PRESTACIONES_VETERINARIAS_DETALLE.Max(d => d.FECHA_ACTUALIZACION),
                                ID_ESTADO = item.CARGA_PRESTACIONES_ESTADO.ID,
                                NOMBRE_ESTADO = item.CARGA_PRESTACIONES_ESTADO.NOMBRE,
                                ID_TIPO_PRESTACION = item.TIPO_PRESTACION.ID,
                                NOMBRE_TIPO_PRESTACION = item.TIPO_PRESTACION.NOMBRE,
                                TOTAL_REGISTROS = item.CARGA_PRESTACIONES_HUMANAS_DETALLE.Count()
                                    + item.CARGA_PRESTACIONES_VETERINARIAS_DETALLE.Count(),
                                REGISTROS_VALIDADOS = item.CARGA_PRESTACIONES_HUMANAS_DETALLE.Count(d => d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID == IdEstadoDetalleValidado)
                                    + item.CARGA_PRESTACIONES_VETERINARIAS_DETALLE.Count(d => d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID == IdEstadoDetalleValidado),
                                REGISTROS_CON_ERRORES = item.CARGA_PRESTACIONES_HUMANAS_DETALLE.Count(d => d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID == IdEstadoDetalleConError)
                                    + item.CARGA_PRESTACIONES_VETERINARIAS_DETALLE.Count(d => d.CARGA_PRESTACIONES_DETALLE_ESTADO.ID == IdEstadoDetalleConError)
                            };
                    return q.ToList();
                }
            }
            catch (Exception ex)
            {
                ISException.RegisterExcepcion(ex);
                Error = ex.Message;
                throw ex;
            }
        }