Exemplo n.º 1
0
        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());
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }