using Admin.NET.Application.Common.FindEmptyLocationFactory.Default; using Furion.DatabaseAccessor; using iWare.Wms.Core; using iWare.Wms.Core.Enum; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Admin.NET.Application.Common.FindEmptyLocationFactory { internal class FindEmptyLocationServiceFactory { public static FindEmptyLocationServiceHandle GetHandle(MeterialType meterialType, IRepository v_EmptyLocationRep, IRepository wareLocationRep, IRepository wareTaskRep, IRepository wareContainerVsMaterial, IRepository wareContainer, IRepository wareContainerType, IRepository v_ware_inventory_by_container, string containerCode, string siteCode) { FindEmptyLocationServiceHandle handle = null; switch (meterialType) { case MeterialType.物料: handle = new MaterialFindEmptyLocationHandle(v_EmptyLocationRep, wareLocationRep, wareTaskRep, wareContainerVsMaterial, wareContainer, wareContainerType, v_ware_inventory_by_container, containerCode, siteCode); break; case MeterialType.托盘: handle = new ContainerFindEmptyLocationHandle(v_EmptyLocationRep, wareLocationRep, wareTaskRep, wareContainerVsMaterial, wareContainer, wareContainerType, v_ware_inventory_by_container, containerCode, siteCode); break; } return handle; } } }