public void RunUnitOfWork(string jobKey)
        {
            var shipments = _shipmentRepository.FindManhattanShipmentHeaders(new ManhattanShipmentSearchCriteria
            {
                ShipTo = ManhattanShipmentSearchCriteria.BrickAndClickShipTo,
                UnprocessedForAuroraShipmentGeneralLedger = false,
                UnprocessedForAuroraShipment = true
            });

            if (shipments.Count > 0)
            {
                _orderHistoryRepository.Save(shipments.SelectMany(s => s.LineItems.Select(i => new OrderHistory(s.Header.OrderNumber, s.Header.BatchControlNumber, i.PackageBarcode, "Shipment sent to Aurora.", "Aurora Shipment Job"))));
                _auroraShipmentRepository.ProcessAuroraShipmentBnc(shipments);

                foreach (var manhattanShipment in shipments)
                {
                    _auroraShipmentRepository.InsertManhattanShipmentBncProcessing(new ManhattanShipmentBncProcessing
                    {
                        BatchControlNumber      = manhattanShipment.OriginalBatchControlNumber,
                        PickticketControlNumber = manhattanShipment.Header.PickticketControlNumber
                    });
                }
            }
            else
            {
                _log.Info("No shipments to process");
            }
        }
        private void ProcessBncInventoryDecrements()
        {
            var unprocessed = _shipmentRepository.FindManhattanShipmentHeaders(new ManhattanShipmentSearchCriteria
            {
                ShipTo = ManhattanShipmentSearchCriteria.BrickAndClickShipTo,
                UnprocessedForAuroraShipment = false,
                UnprocessedForAuroraShipmentGeneralLedger = true
            });

            _log.Info(string.Format("{0} bnc shipments records found process...", unprocessed.Count()));

            if (unprocessed.Count == 0)
            {
                return;
            }

            _generalLedgerReconcilliationRepository.ProcessBrickAndClickShipments(unprocessed);
        }