private void RaiseAddInventoryListInteractionRequest() { _receiveInventoryVm.SelectedFulfillmentCenter = SearchFilterFulfillment; var confirmation = new ConditionalConfirmation { Title = "Receive inventory".Localize(), Content = _receiveInventoryVm }; CommonConfirmRequest.Raise(confirmation, x => { if (x.Confirmed) { SearchFilterFulfillment = SearchFilterFulfillments.FirstOrDefault(y => y.FulfillmentCenterId == _receiveInventoryVm.SelectedFulfillmentCenter.FulfillmentCenterId); _receiveInventoryVm.InventoryItems.ToList().ForEach(y => y.FulfillmentCenterId = _receiveInventoryVm.SelectedFulfillmentCenter.FulfillmentCenterId); var l = _receiveInventoryVm.InventoryItems.Where(y => !string.IsNullOrEmpty(y.Sku) && y.InStockQuantity >= 0).ToList(); _receiveInventoryVm.InventoryItems.Clear(); foreach (var inventory in l) { using (var repository = _inventoryRepositoryFactory.GetRepositoryInstance()) { var sku = repository.Inventories.ToList() .FirstOrDefault(x1 => x1.Sku == inventory.Sku && x1.FulfillmentCenterId == inventory.FulfillmentCenterId); if (sku != null) { sku.InStockQuantity += inventory.InStockQuantity; } else { inventory.Status = (int)InventoryStatus.Enabled; repository.Add(inventory); } repository.UnitOfWork.Commit(); } } SelectedInventoryItems.Refresh(); OnSpecifiedPropertyChanged("SearchFilterFulfillment"); } }); }
private void UpdateFulfillmentCenterFilter() { //Get all fulfillment centers Action getAllFulfillmentsAction = () => { using (var repository = _fulfillmentCenterRepositoryFactory.GetRepositoryInstance()) { var fulfillments = repository.FulfillmentCenters.ToList(); OnUIThread(() => { SearchFilterFulfillments.SetItems(fulfillments); if (SearchFilterFulfillments.Count > 0) { SearchFilterFulfillment = SearchFilterFulfillments[0]; } OnPropertyChanged("SearchFilterFulfillment"); }); } }; getAllFulfillmentsAction.BeginInvoke(null, null); }