public IQueryable <CatPartnerViewModel> Query(CatPartnerCriteria criteria) { string partnerGroup = criteria != null?PlaceTypeEx.GetPartnerGroup(criteria.PartnerGroup) : null; var data = DataContext.Get(x => (x.PartnerGroup ?? "").Contains(partnerGroup ?? "", StringComparison.OrdinalIgnoreCase) && (x.Active == criteria.Active || criteria.Active == null) && (x.CoLoaderCode ?? "").Contains(criteria.CoLoaderCode ?? "", StringComparison.OrdinalIgnoreCase) ); if (data == null) { return(null); } var results = data.Select(x => new CatPartnerViewModel { Id = x.Id, PartnerGroup = x.PartnerGroup, PartnerNameVn = x.PartnerNameVn, PartnerNameEn = x.PartnerNameEn, ShortName = x.ShortName, TaxCode = x.TaxCode, SalePersonId = x.SalePersonId, Tel = x.Tel, AddressEn = x.AddressEn, Fax = x.Fax, CoLoaderCode = x.CoLoaderCode, }); return(results); }
public IQueryable <CatPartnerModel> GetBy(CatPartnerGroupEnum partnerGroup) { string group = PlaceTypeEx.GetPartnerGroup(partnerGroup); IQueryable <CatPartnerModel> data = Get().Where(x => (x.PartnerGroup ?? "").IndexOf(group ?? "", StringComparison.OrdinalIgnoreCase) >= 0); return(data); }
public IQueryable <CatPartnerModel> GetMultiplePartnerGroup(PartnerMultiCriteria criteria) { IQueryable <CatPartnerModel> data = Get(); if (criteria == null) { return(data); } List <string> grpCodes = new List <string>(); if (criteria.PartnerGroups != null) { foreach (var grp in criteria.PartnerGroups) { string group = PlaceTypeEx.GetPartnerGroup(grp); grpCodes.Add(group); } Expression <Func <CatPartnerModel, bool> > query = null; foreach (var group in grpCodes.Distinct()) { if (query == null) { query = x => (x.PartnerGroup ?? "").IndexOf(group ?? "", StringComparison.OrdinalIgnoreCase) >= 0; } else { query = query.Or(x => (x.PartnerGroup ?? "").IndexOf(group ?? "", StringComparison.OrdinalIgnoreCase) >= 0); } } query = criteria.Active != null?query.And(x => x.Active == criteria.Active) : query; data = data.Where(query); } else { data = data.Where(x => x.Active == criteria.Active || criteria.Active == null); } return(data); }
private List <CatPartnerViewModel> QueryPaging(CatPartnerCriteria criteria) { string partnerGroup = criteria != null?PlaceTypeEx.GetPartnerGroup(criteria.PartnerGroup) : null; var sysUsers = sysUserRepository.Get(); var partners = Get(x => (x.PartnerGroup ?? "").IndexOf(partnerGroup ?? "", StringComparison.OrdinalIgnoreCase) >= 0); var salemans = salemanRepository.Get().ToList(); var dataSalemans = salemans.Select(x => x.PartnerId); if (partners == null) { return(null); } var query = (from partner in partners join user in sysUsers on partner.UserCreated equals user.Id join saleman in sysUsers on partner.SalePersonId equals saleman.Id into prods from x in prods.DefaultIfEmpty() select new { user, partner, saleman = x } ); if (criteria.All == null) { query = query.Where(x => ((x.partner.AccountNo ?? "").IndexOf(criteria.Id ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.ShortName ?? "").IndexOf(criteria.ShortName ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.PartnerNameEn ?? "").IndexOf(criteria.PartnerNameEn ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.PartnerNameVn ?? "").IndexOf(criteria.PartnerNameVn ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.AddressVn ?? "").IndexOf(criteria.AddressVn ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.TaxCode ?? "").IndexOf(criteria.TaxCode ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.Tel ?? "").IndexOf(criteria.Tel ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.Fax ?? "").IndexOf(criteria.Fax ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.user.Username ?? "").IndexOf(criteria.UserCreated ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.AccountNo ?? "").IndexOf(criteria.AccountNo ?? "", StringComparison.OrdinalIgnoreCase) >= 0 && (x.partner.CoLoaderCode ?? "").Contains(criteria.CoLoaderCode ?? "", StringComparison.OrdinalIgnoreCase) && (x.partner.Active == criteria.Active || criteria.Active == null) ))?.AsQueryable(); } else { query = query.Where(x => ( (x.partner.AccountNo ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.ShortName ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.PartnerNameEn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.PartnerNameVn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.AddressVn ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.TaxCode ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.Tel ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.Fax ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.user.Username ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.AccountNo ?? "").IndexOf(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) > -1 || (x.partner.CoLoaderCode ?? "").Contains(criteria.All ?? "", StringComparison.OrdinalIgnoreCase) ) && (x.partner.Active == criteria.Active || criteria.Active == null))?.AsQueryable(); } if (query == null) { return(null); } List <CatPartnerViewModel> results = new List <CatPartnerViewModel>(); foreach (var item in query) { var partner = mapper.Map <CatPartnerViewModel>(item.partner); partner.UserCreatedName = item.user?.Username; partner.SalePersonName = item.saleman?.Username; results.Add(partner); } return(results); }