public IHttpActionResult GetRegistroControlPorConciliar([FromUri] PagingRegistroControlModel pagingparametermodel)
        {
            var catalagoServ     = new CatalogoService();
            var estatusList      = catalagoServ.GetAll(c => c.CA_TABLA == "sax_estatus_carga", null, c => c.SAX_CATALOGO_DETALLE).FirstOrDefault();
            var ltsTipoOperacion = catalagoServ.GetAll(c => c.CA_TABLA == "sax_tipo_operacion", null, c => c.SAX_CATALOGO_DETALLE).FirstOrDefault();
            int porConciliar     = Convert.ToInt16(BusinessEnumerations.EstatusCarga.POR_APROBAR);
            int manual           = Convert.ToInt16(BusinessEnumerations.EstatusCarga.MANUAL);
            int activo           = Convert.ToInt16(BusinessEnumerations.Estatus.ACTIVO);
            var userId           = User.Identity.GetUserId();
            //Extraer areas operativas del usuario
            List <int> listUserArea            = usuarioAreaService.Query(d => d.US_ID_USUARIO == userId).Select(y => y.CA_ID_AREA).ToList();
            List <AreaOperativaModel> listArea = areaOperativaService.GetAll().ToList();
            List <int> listAreaUsuario         = listArea.Where(x => listUserArea.Contains(x.CA_ID_AREA)).Select(a => a.CA_ID_AREA).ToList();
            //Extraer empresas del usuario
            List <int> list_CE_ID_EMPRESA = usuarioEmpService.Query(x => x.US_ID_USUARIO == userId).Select(y => y.CE_ID_EMPRESA).ToList();

            if (list_CE_ID_EMPRESA != null && list_CE_ID_EMPRESA.Count() == 0)
            {
                return(BadRequest("El usuario actualmente no tiene empresas asignadas. Es necesario tener por lo menos una empresa asignada para poder aprobar el registro."));
            }
            List <string> empresas = empresaService.Query(x => list_CE_ID_EMPRESA.Contains(x.CE_ID_EMPRESA) && x.CE_ESTATUS == activo.ToString()).Select(y => y.CE_COD_EMPRESA).ToList();

            if (empresas != null && empresas.Count() == 0)
            {
                return(BadRequest("No se encontraron empresas para su usuario."));
            }

            var source = service.Query(c => c.TC_ESTATUS == porConciliar &&
                                       (pagingparametermodel.lote == null ? c.TC_COD_COMPROBANTE == c.TC_COD_COMPROBANTE : c.TC_COD_COMPROBANTE == (pagingparametermodel.lote.Trim())) &&
                                       (pagingparametermodel.idCapturador == null ? c.TC_USUARIO_CREACION == c.TC_USUARIO_CREACION : c.TC_USUARIO_CREACION == pagingparametermodel.idCapturador)).OrderBy(c => c.TC_ID_COMPROBANTE);

            if (source.Count() > 0)
            {
                source = source.Where(c => listAreaUsuario.Contains(c.CA_ID_AREA)).OrderBy(c => c.TC_ID_COMPROBANTE);
            }
            if (source.Count() > 0)
            {
                source = source.Where(x => (x.SAX_COMPROBANTE_DETALLE.Where(z => empresas.Contains(z.SAX_PARTIDAS.PA_COD_EMPRESA)).Count() > 0)).OrderBy(c => c.TC_ID_COMPROBANTE);
                // var partidas= comprobanteDetalle.Select(c=>c.)
                //var partEmpresa= partidas.Where(x=>empresas.Contains(x.Select(y=>y.PA_COD_EMPRESA)))
            }
            int count        = source.Count();
            int CurrentPage  = pagingparametermodel.pageNumber;
            int PageSize     = pagingparametermodel.pageSize;
            int TotalCount   = count;
            int TotalPages   = (int)Math.Ceiling(count / (double)PageSize);
            var items        = source.Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList();
            var previousPage = CurrentPage > 1 ? "Yes" : "No";
            var nextPage     = CurrentPage < TotalPages ? "Yes" : "No";
            var listItem     = items.Select(x => new
            {
                RC_REGISTRO_CONTROL = x.TC_ID_COMPROBANTE,
                RC_COD_OPERACION    = GetNameTipoOperacion(x.TC_COD_OPERACION, ref ltsTipoOperacion),
                RC_COD_PARTIDA      = x.TC_COD_COMPROBANTE,
                RC_ARCHIVO          = string.Empty,
                RC_TOTAL_REGISTRO   = x.TC_TOTAL_REGISTRO,
                RC_TOTAL_DEBITO     = x.TC_TOTAL_DEBITO,
                RC_TOTAL_CREDITO    = x.TC_TOTAL_CREDITO,
                RC_TOTAL            = x.TC_TOTAL,
                COD_ESTATUS_LOTE    = x.TC_ESTATUS,
                RC_ESTATUS_LOTE     = GetStatusRegistroControl(x.TC_ESTATUS, estatusList),
                RC_FECHA_CREACION   = x.TC_FECHA_CREACION != null ? x.TC_FECHA_CREACION.ToString("M/d/yyyy") : string.Empty,
                RC_HORA_CREACION    = x.TC_FECHA_CREACION != null ? x.TC_FECHA_CREACION.ToString("hh:mm:tt") : string.Empty,
                RC_COD_USUARIO      = UserName(x.TC_USUARIO_CREACION),
                SELETED             = false
            });
            var paginationMetadata = new
            {
                totalCount  = TotalCount,
                pageSize    = PageSize,
                currentPage = CurrentPage,
                totalPages  = TotalPages,
                previousPage,
                nextPage,
                data = listItem
            };

            return(Ok(paginationMetadata));
        }