public BaseResult <List <CustomerModel.Customer> > GetWithAllRelations(CustomerModel.CustomerFilter filterModel) { try { var customers = _customerRepository.GetWithAllRelations(filterModel); return(BaseResult <List <CustomerModel.Customer> > .OK(customers)); } catch (Exception e) { return(BaseResult <List <CustomerModel.Customer> > .NotOK(e.Message)); } }
public List <CustomerModel.Customer> GetWithAllRelations(CustomerModel.CustomerFilter customerFilter) { var customer = GetQuery() .Include(x => x.Gender) .Include(x => x.City) .Include(x => x.Region) .Include(x => x.Classification) .Include(x => x.UserSys) .AsNoTracking() .ToList() .Where(p => p.Name.StartsWith(customerFilter.Name ?? String.Empty, StringComparison.InvariantCultureIgnoreCase)); if ((customerFilter.CityId ?? 0) > 0) { customer = customer.Where(x => x.CityId == customerFilter.CityId); } if ((customerFilter.ClassificationId ?? 0) > 0) { customer = customer.Where(x => x.ClassificationId == customerFilter.ClassificationId); } if ((customerFilter.GenderId ?? 0) > 0) { customer = customer.Where(x => x.GenderId == customerFilter.GenderId); } if ((customerFilter.RegionId ?? 0) > 0) { customer = customer.Where(x => x.RegionId == customerFilter.RegionId); } if ((customerFilter.SellerId ?? 0) > 0) { customer = customer.Where(x => x.UserId == customerFilter.SellerId); } if (customerFilter.LastPurchaseFinal.HasValue) { customer = customer.Where(x => x.LastPurchase <= customerFilter.LastPurchaseFinal); } if (customerFilter.LastPurchaseInitial.HasValue) { customer = customer.Where(x => x.LastPurchase >= customerFilter.LastPurchaseInitial); } return(customer.ToList()); }