/// <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); }