/// <summary> /// 获取某一个商家的有效仓库信息列表 /// </summary> /// <param name="merchantSysNo"></param> /// <param name="vendorStockType"></param> /// <returns></returns> public static List <StockInfoQueryRestult> GetStockList(int merchantSysNo, VendorStockType vendorStockType) { StockQueryFilter queryFilter = new StockQueryFilter() { PageIndex = 0, PageSize = int.MaxValue, Status = StockStatus.Actived, SortFields = "s.SysNo DESC" }; queryFilter.MerchantSysNo = merchantSysNo; //所有商家都可以查看泰隆优选仓库 queryFilter.ContainKJT = true; return(StockService.QueryStock(queryFilter).ResultList); }
public VendorStockType SyncVendorStockTypes(string type) { //if (string.IsNullOrEmpty(status)) return defaultStatus; var rType = _vendorStockTypes.FirstOrDefault(c => c.StockType == type); if (rType == null) { rType = new VendorStockType { StockType = type }; Table.Add(rType); _vendorStockTypes.Add(rType); } return(rType); }
protected override void Import(IDictionary <Models.Stock, String> stockItems) { var vendorStockTypeRepository = Unit.Scope.Repository <VendorStockType>(); var vendorStockTypes = vendorStockTypeRepository.GetAll().ToDictionary(x => x.StockType); foreach (var shopCode in stockItems.Keys.Select(stock => stock.ShopCode).Distinct()) { if (!vendorStockTypes.ContainsKey(shopCode)) { var vendorStockType = new VendorStockType { StockType = shopCode }; vendorStockTypes[shopCode] = vendorStockType; vendorStockTypeRepository.Add(vendorStockType); } } Unit.Save(); var vendorID = Unit.Scope .Repository <Vendor>() .GetSingle(vendor => vendor.Name == Constants.Vendor.Vlisco) .VendorID; var vendorStockRepository = Unit.Scope.Repository <VendorStock>(); foreach (var stockItemsByShopCode in stockItems.Keys.GroupBy(stockItem => stockItem.ShopCode)) { var vendorStockLookup = vendorStockRepository .Include(vendorStock => vendorStock.Product) .Include(vendorStock => vendorStock.VendorStockType) .GetAll(vendorStock => vendorStock.VendorStockType.StockType == stockItemsByShopCode.Key && vendorStock.VendorID == vendorID) .ToDictionary(vendorStock => vendorStock.Product.VendorItemNumber); foreach (var stockItem in stockItemsByShopCode) { var vendorItemNumber = Constants.GetVendorItemNumber(stockItem.ArticleCode, stockItem.ColorCode, stockItem.SizeCode); var vendorStock = default(VendorStock); if (!vendorStockLookup.TryGetValue(vendorItemNumber, out vendorStock)) { var product = Unit.Scope.Repository <Product>().GetSingle(p => p.VendorItemNumber == vendorItemNumber); vendorStock = new VendorStock { ConcentratorStatusID = 1, Product = product, StockStatus = Constants.Status.Default, VendorID = vendorID, VendorStatus = Constants.Status.Default, VendorStockType = vendorStockTypes[stockItemsByShopCode.Key] }; vendorStockRepository.Add(vendorStock); } vendorStock.QuantityOnHand = stockItem.Available; } } Unit.Save(); }