public VwProduct GetProductByBarcode(string barcode) { if (barcode.IsNullOrEmpty()) { return(null); } return(VwProductRepository.Find(o => o.Barcode == barcode)); }
public IEnumerable <dynamic> GetPageList(System.Collections.Specialized.NameValueCollection nvl, out int recordCount) { var category = nvl["parentType"]; //选中分类 var state = nvl["state"]; //状态 var searchText = nvl["searchText"]; //查找文本 var brandsn = nvl["brandsn"]; var query = VwProductRepository.GetQuery(); if (!category.IsNullOrEmpty()) { var bigs = category.Split(',').Select(o => int.Parse(o)).ToList(); var childs = ProductCategoryService.GetChildSNs(bigs, true); query = query.Where(o => childs.Contains(o.CategorySN)); } if (!state.IsNullOrEmpty()) { var ct = short.Parse(state); query = query.Where(o => o.State == ct); } if (!brandsn.IsNullOrEmpty()) { var sn = brandsn.Split(',').Select(o => o.IsNullOrEmpty() ? new Nullable <int>() : o.ToType <int>()).ToList(); query = query.Where(o => sn.Contains(o.BrandSN)); } if (!searchText.IsNullOrEmpty()) { searchText = searchText.Trim(); query = query.Where(o => o.Barcode.Contains(searchText) || o.Title.Contains(searchText)); } recordCount = query.Count(); var list = query.ToPageList(); var cids = list.Where(o => !o.CompanyIds.IsNullOrEmpty()).Select(o => o.CompanyIds.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(i => int.Parse(i))).SelectMany(o => o).Distinct().ToList(); var traders = TraderRepository.GetQuery(o => cids.Contains(o.CID)).ToList(); return(list.Select(o => new { o.Id, o.Source, o.Barcode, o.CategoryTitle, o.CategorySN, o.BrandTitle, o.Title, o.Size, o.SubUnit, o.SysPrice, o.TraderNum, o.StateTitle, CompanyTitle = o.CompanyIds.IsNullOrEmpty()?"":traders.Where(i => i.CID == int.Parse(o.CompanyIds.Split(',')[0])).Select(i => i.Title).FirstOrDefault() })); }