public List <Vendor> GetAll() { return(_vendorReposity.GetAll().AsNoTracking().ToList()); }
public List <AssVenAnalysisDto> GetAssVendorAnalysis(QueryAssCusandVenAnalysisInputDto inputDto) { var types = (from type1 in SMOWMSDbContext.AssetsTypes where type1.TLEVEL == 1 select new { Level1 = type1.TYPEID, Level2 = "", Level3 = "" }).Union(from type1 in SMOWMSDbContext.AssetsTypes where type1.TLEVEL == 2 select new { Level1 = type1.PARENTTYPEID, Level2 = type1.TYPEID, Level3 = "" }).Union(from type1 in SMOWMSDbContext.AssetsTypes join type2 in SMOWMSDbContext.AssetsTypes on type1.PARENTTYPEID equals type2.TYPEID where type1.TLEVEL == 3 select new { Level1 = type2.PARENTTYPEID, Level2 = type1.PARENTTYPEID, Level3 = type1.TYPEID }); var vendorlist = _vendorReposity.GetAll(); if (inputDto.ID != null) { vendorlist = vendorlist.Where(a => a.VID == inputDto.ID); } var poRowResult = from assTemplate in SMOWMSDbContext.AssTemplates from type in types join porow in SMOWMSDbContext.AssPurchaseOrderRows on assTemplate.TEMPLATEID equals porow.TEMPLATEID from vendor in vendorlist from po in SMOWMSDbContext.AssPurchaseOrders where ((assTemplate.TYPEID == type.Level1 && type.Level2 == "") || (assTemplate.TYPEID == type.Level2 && type.Level3 == "") || assTemplate.TYPEID == type.Level3) && porow.CREATEDATE >= inputDto.StarTime && porow.CREATEDATE <= inputDto.EndTime && po.STATUS > 0 && po.VID == vendor.VID && po.POID == porow.POID select new AssVenAnalysisDto() { IMAGE = assTemplate.IMAGE, NAME = assTemplate.NAME, TEMPLATEID = assTemplate.TEMPLATEID, VendorName = vendor.NAME, QUANTPURCHAED = porow.QUANTPURCHASED }; var poRowfresult = from assQuantDto in poRowResult group assQuantDto by new { assQuantDto.TEMPLATEID, assQuantDto.IMAGE, assQuantDto.NAME, assQuantDto.VendorName } into quant select new AssVenAnalysisDto() { IMAGE = quant.Key.IMAGE, NAME = quant.Key.NAME, TEMPLATEID = quant.Key.TEMPLATEID, VendorName = quant.Key.VendorName, QUANTPURCHAED = quant.Sum(a => a.QUANTPURCHAED) }; var t3 = poRowfresult.ToList(); return(t3); }