private static string BuildOffSetNumRows(FilterEmpresaRequest advancedFilter) { if (advancedFilter.NumRows == 0) { return(string.Empty); } var offSetNumRowsClauses = new StringBuilder(); offSetNumRowsClauses.Append(" OFFSET " + advancedFilter.OffSet + " ROWS"); offSetNumRowsClauses.Append(" FETCH NEXT " + advancedFilter.NumRows + " ROWS ONLY"); return(offSetNumRowsClauses.ToString()); }
/// <summary> /// Monta a query /// </summary> /// <param name="advancedFilter"></param> /// <returns></returns> private string RecuperarQuery(FilterEmpresaRequest advancedFilter) { var sql = new StringBuilder(); var selectClause = string.Empty; var orderByClause = string.Empty; var offSetNumRows = string.Empty; selectClause = selectQuery; orderByClause = BuildOrderBy(); offSetNumRows = BuildOffSetNumRows(advancedFilter); sql.Append(selectClause); sql.Append(orderByClause); sql.Append(offSetNumRows); return(sql.ToString()); }
public IHttpActionResult GetAllPaged(FilterEmpresaRequest advancedFilter) { try { var result = _empresaBusiness.GetAllPaged(advancedFilter); var lista = result.Empresas.ToList().Select(Mapper.Map <Empresa, EmpresaResponse>); var totalGeral = result.TotalGeral; var totalLinhas = lista.Count(); //Monta response _result = Ok(Retorno <IEnumerable <EmpresaResponse> > .Criar(true, "Consulta Realizada Com Sucesso", lista, totalGeral)); //Retorna o response return(_result); } catch (Exception) { throw new HttpResponseException(HttpStatusCode.InternalServerError); } }
public EmpresasResponse GetAllPaged(FilterEmpresaRequest advancedFilter) { var result = new EmpresasResponse(); var sql = string.Empty; var sqlCount = string.Empty; try { using (var conn = CreateConnection()) { result.TotalGeral = (int)conn.ExecuteScalar("SELECT COUNT(*) FROM Empresa"); sql = RecuperarQuery(advancedFilter); result.Empresas = conn.Query <Empresa>(sql).Distinct().ToList(); } return(result); } catch (Exception) { throw; } }
public EmpresasResponse GetAllPaged(FilterEmpresaRequest advancedFilter) { return(_repository.GetAllPaged(advancedFilter)); }