コード例 #1
0
ファイル: VendorService.cs プロジェクト: yexinw/SmoWMS
 public List <Vendor> GetAll()
 {
     return(_vendorReposity.GetAll().AsNoTracking().ToList());
 }
コード例 #2
0
        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);
        }