/// <summary>
        /// Saves the drops.
        /// </summary>
        /// <returns></returns>
        private SubscriberStatusEnum SaveDrops()
        {
            ShipmentDrop firstDropInTrip = null;

            foreach (ShipmentDrop drop in drops)
            {
                if ((firstDropInTrip == null || firstDropInTrip.TripNumber != drop.TripNumber) && drop.CallType == ShipmentDrop.CallTypeEnum.Depot)
                {
                    //we need to retain the first drop in the trip because we can then use the original
                    //deport data when relating the drops to a trip.
                    //the original deport data can change about after the first drop!
                    firstDropInTrip = drop;
                }


                if (firstDropInTrip != null)
                {
                    DropController.SaveDrop(drop, firstDropInTrip.OriginalDepot);

                    if (RequestProcessor != null && !RequestProcessor.RequestDictionary.ContainsKey("RoutingHistory"))
                    {
                        RoutingHistory routingHistory = RoutingController.GetRoutingHistoryByShipmentId(drop.ShipmentId);
                        if (routingHistory != null)
                        {
                            RequestProcessor.RequestDictionary.Add("RoutingHistory", routingHistory);
                        }
                    }
                    drop.TripId = Null.NullInteger;
                    drop.Id     = Null.NullInteger;
                }
            }

            return(SubscriberStatusEnum.Processed);
        }
        /// <summary>
        /// Saves the dropLines.
        /// </summary>
        /// <returns></returns>
        private SubscriberStatusEnum SaveDropLines()
        {
            foreach (ShipmentDropLine dropLine in dropLines)
            {
                if (DropController.SaveDropLine(dropLine) == -1)
                {
                    throw new Exception("A Drop line did not save successfully.");
                }

                if (RequestProcessor != null && !RequestProcessor.RequestDictionary.ContainsKey("RoutingHistory"))
                {
                    RoutingHistory routingHistory = RoutingController.GetRoutingHistoryByShipmentLineId(dropLine.ShipmentLineId);
                    if (routingHistory != null)
                    {
                        RequestProcessor.RequestDictionary.Add("RoutingHistory", routingHistory);
                    }
                }

                dropLine.ShipmentLineId = -1;
                dropLine.DropId         = -1;
            }

            return(SubscriberStatusEnum.Processed);
        }