// GET api/toteinventory/{toteKey} public ToteInventory Get(string id) { if (string.IsNullOrWhiteSpace(id)) { return(null); } var inventoryFilter = new FilterInventoryParameters { ToteKey = id }; var getInventoryResult = _inventoryService.GetInventory(inventoryFilter); getInventoryResult.EnsureSuccessWithHttpResponseException(); var inventorySummaries = getInventoryResult.ResultingObject.Inventory.ToList(); if (!inventorySummaries.Any()) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(new ToteInventory { LotKey = inventorySummaries.First().LotKey, Inventory = inventorySummaries.Project().To <InventoryItem>(), ToteKey = inventorySummaries.First().ToteKey, Product = inventorySummaries.Select(s => s.LotProduct).Project().To <InventoryProductResponse>().Single() }); }
public IResult <IInventoryReturn> GetInventory(FilterInventoryParameters parameters = null) { try { return(_inventoryServiceProvider.GetInventory(parameters)); } catch (Exception ex) { _exceptionLogger.LogException(ex); return(new FailureResult <IInventoryReturn>(null, ex.Message)); } }
public IResult <IInventoryReturn> GetInventory(FilterInventoryParameters parameters = null) { InventoryPredicateBuilder.PredicateBuilderFilters filters = null; if (parameters != null) { var filterResults = parameters.ParseToPredicateBuilderFilters(); if (!filterResults.Success) { return(filterResults.ConvertTo((IInventoryReturn)null)); } filters = filterResults.ResultingObject; } return(new GetInventoryCommand(_inventoryUnitOfWork).Execute(filters, _timeStamper.CurrentTimeStamp.Date)); }
public void GetById_CallsServiceMethodWithCorrectParameters() { // Arrange var toteKey = "12345"; var serviceParameters = new FilterInventoryParameters { ToteKey = toteKey }; SetupGetInventoryByToteKeysMethod(callback: p => serviceParameters = p); // Act systemUnderTest.Get(toteKey); // Assert Assess.IsNotNull(serviceParameters); mockInventoryService.Verify(m => m.GetInventory(serviceParameters), Times.Once()); }
internal static IResult <InventoryPredicateBuilder.PredicateBuilderFilters> ParseToPredicateBuilderFilters(this FilterInventoryParameters parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } var baseResult = (parameters as FilterInventoryParametersBase).ParseToPredicateBuilderFilters(); if (!baseResult.Success) { return(baseResult); } var filters = baseResult.ResultingObject; if (!string.IsNullOrEmpty(parameters.FacilityKey)) { var warehouseKeyResult = KeyParserHelper.ParseResult <IFacilityKey>(parameters.FacilityKey); if (!warehouseKeyResult.Success) { return(warehouseKeyResult.ConvertTo <InventoryPredicateBuilder.PredicateBuilderFilters>()); } filters.FacilityKey = warehouseKeyResult.ResultingObject; } if (!string.IsNullOrEmpty(parameters.ToteKey)) { filters.ToteKey = parameters.ToteKey.ToToteKey(); } if (!string.IsNullOrWhiteSpace(parameters.LocationGroupName)) { filters.LocationGroupName = parameters.LocationGroupName; } return(new SuccessResult <InventoryPredicateBuilder.PredicateBuilderFilters>(filters)); }