private string BuildSqlFrom(FranchiseeFilter filter) { if (filter == null) { return(null); } var sb = new System.Text.StringBuilder(); if (!string.IsNullOrEmpty(filter.Email)) { sb.Append(" email like '%" + SqlFilter.FilterQueryParameter(filter.Email) + "%' "); sb.Append(" and "); } if (!string.IsNullOrEmpty(filter.Name)) { sb.Append(" name like '%" + SqlFilter.FilterQueryParameter(filter.Name) + "%' "); sb.Append(" and "); } if (!string.IsNullOrEmpty(filter.Phone)) { sb.Append(" phone like '%" + SqlFilter.FilterQueryParameter(filter.Phone) + "%' "); sb.Append(" and "); } if (sb.Length > 0) { sb.Remove(sb.Length - 4, 4); } return(sb.ToString()); }
public async Task <IHttpActionResult> Get([FromUri] FranchiseeFilter franchiseeFilter) { if (franchiseeFilter == null) { return(NotFound()); } var result = await _franchiseeService.GetAll(franchiseeFilter); if (result == null) { return(NotFound()); } return(Ok(result)); }
public async Task <PagedCollection <FranchiseeDto> > GetAll(FranchiseeFilter franchiseeFilter) { if (franchiseeFilter == null) { throw new ArgumentNullException(nameof(franchiseeFilter)); } var whereClause = string.Empty; var orderByClause = "Order by "; if (!string.IsNullOrWhiteSpace(franchiseeFilter.AddressFranchisee)) { whereClause += whereClause.And(FranchiseeQuery.GetAllWhereAddressFranchisee); } if (!string.IsNullOrWhiteSpace(franchiseeFilter.Name)) { whereClause += whereClause.And(FranchiseeQuery.GetAllWhereName); } if (string.IsNullOrWhiteSpace(franchiseeFilter.OrderBy)) { orderByClause += "Id"; } orderByClause += " " + franchiseeFilter.OrderDirection; var sql = string.Format(FranchiseeQuery.GetAll, whereClause, orderByClause); var result = new PagedCollection <FranchiseeDto>(); using (var reader = await ClcWorldContext.Database.Connection.QueryMultipleAsync(sql, franchiseeFilter)) { result.Items = (await reader.ReadAsync <FranchiseeDto>()).ToList(); result.Total = (await reader.ReadAsync <int>()).FirstOrDefault(); } return(result); }