public async Task <IHttpActionResult> consultaRegAnular([FromUri] ComprobanteModels parameter) { try { var userId = User.Identity.GetUserId(); 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(); int estado = Convert.ToInt16(BusinessEnumerations.EstatusCarga.CONCILIADO); int? idcompro = null; if (parameter != null) { if (parameter.comprobanteId != null) { var comprobante = service.GetSingle(x => x.TC_COD_COMPROBANTE == parameter.comprobanteId); if (comprobante == null) { return(BadRequest($"No se puede encontrar el comprobante {parameter.comprobanteId}, favor verifica, e intentar de nuevo")); } idcompro = comprobante.TC_ID_COMPROBANTE; } } var source = service.ConsultaComprobanteConciliadaServ(parameter == null ? null : parameter.FechaCreacion, parameter == null ? null : parameter.empresaCod, parameter == null ? null : idcompro, parameter == null ? null : parameter.cuentaContableId, parameter == null ? null : parameter.cuentaContable, parameter == null ? null : parameter.importe, parameter == null ? null : parameter.referencia, null, null, userId, estado, userId ); if (source.Count() > 0) { source = source.Where(c => listAreaUsuario.Contains(c.CA_ID_AREA)); } var comprobantes = new List <Repository.Model.SAX_COMPROBANTE>(); int count = source.Count(); int CurrentPage = parameter.pageNumber; int PageSize = parameter.pageSize; int TotalCount = count; int TotalPages = (int)Math.Ceiling(count / (double)PageSize); var items = source.OrderBy(x => x.TC_COD_COMPROBANTE).Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList(); var previousPage = CurrentPage > 1 ? "Yes" : "No"; var nextPage = CurrentPage < TotalPages ? "Yes" : "No"; var paginationMetadata = new { totalCount = TotalCount, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage, nextPage, data = items.Select(c => new { SELECTED = false, idComprobante = c.TC_ID_COMPROBANTE, codComprobante = c.TC_COD_COMPROBANTE, codOperacion = c.TC_COD_OPERACION, nombreOperacion = (c.TC_COD_OPERACION == 24 ? "AUTOMATICO" : "MANUAL"), fechaProceso = c.TC_FECHA_PROCESO, totalRegistro = c.TC_TOTAL_REGISTRO, totalDebito = c.TC_TOTAL_DEBITO, totalCredito = c.TC_TOTAL_CREDITO, total = c.TC_TOTAL, estatus = c.TC_ESTATUS, nombreEtatus = getEstado(c.TC_ESTATUS), fechaCreacion = c.TC_FECHA_CREACION, usuarioCreacion = c.TC_USUARIO_CREACION, nombreUsuarioCreacion = c.AspNetUsers.FirstName, nombreUsuarioAprobador = c.AspNetUsers1 == null ? null : c.AspNetUsers1.FirstName, fechaMod = c.TC_FECHA_MOD, usuarioMod = c.TC_USUARIO_MOD, nombreUsuarioMod = c.AspNetUsers2 == null ? null : c.AspNetUsers2.FirstName, }) }; //HttpContext.Current.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata)); return(Ok(paginationMetadata)); } catch (Exception ex) { return(InternalServerError(ex)); } }