public object GetAll() { var queryValues = Request.RequestUri.ParseQueryString(); int page = Convert.ToInt32(queryValues["page"]); int start = Convert.ToInt32(queryValues["start"]); int limit = Convert.ToInt32(queryValues["limit"]); int id = Convert.ToInt32(queryValues["id"]); int orden = Convert.ToInt32(queryValues["orden"]); string strFieldFilters = queryValues["fieldFilters"]; FieldFilters fieldFilters = new FieldFilters(); if (!String.IsNullOrEmpty(strFieldFilters)) { fieldFilters = JsonConvert.DeserializeObject <FieldFilters>(strFieldFilters); } #region Configuramos el orden de la consulta si se obtuvo como parametro string strOrder = !string.IsNullOrWhiteSpace(queryValues["sort"]) ? queryValues["sort"] : ""; strOrder = strOrder.Replace('[', ' '); strOrder = strOrder.Replace(']', ' '); Sort sort; if (!string.IsNullOrWhiteSpace(strOrder)) { sort = JsonConvert.DeserializeObject <Sort>(strOrder); } else { sort = new Sort(); } #endregion string query = !string.IsNullOrWhiteSpace(queryValues["query"]) ? queryValues["query"] : ""; int totalRecords = 0; try { if (id == 0) { IList <State> lista; lista = repository.GetList(fieldFilters, query, sort, page, start, limit, ref totalRecords); object json = new { total = totalRecords, data = lista, success = true }; return(json); } else { State estatus = repository.Get(id); object json = new { data = estatus, success = true }; return(json); } } catch (Exception ex) { LogManager.Write("ERROR:" + Environment.NewLine + "\tMETHOD = " + this.GetType().FullName + "." + MethodBase.GetCurrentMethod().Name + Environment.NewLine + "\tMESSAGE = " + ex.Message); object json = new { message = ex.Message, success = false }; return(json); } }