private void DoLines(PersistableBusinessObject sourceObject, PersistableBusinessObject destinationObject, string sourceSystem, string destinationSystem) { List <ShipmentLine> lines = ((TDCShipment)destinationObject).ShipmentLines; for (int i = 0; i < lines.Count; i++) { TDCShipmentLine newline = new TDCShipmentLine(); MappingController.Map(lines[i], newline, sourceSystem, destinationSystem, null); lines[i] = newline; } }
private void Map(MappingController mapping) { using (ConsoleTimeLogger.Start("mapping time")) { mapping.OnRevisionMapping += (r, n) => Console.WriteLine( "mapping of revision {0}{1}", r, r != n ? string.Format(" ({0})", n) : "" ); mapping.Map(data); } }
public void Map() { using (TransactionScope scope = new TransactionScope()) { if (MappingController.DeleteAllMappings()) { if (MappingController.DeleteAllMappingSystems()) { if (MappingController.DeleteAllMappingPropertyAssociations()) { if (MappingController.DeleteAllMappingClassAssociations()) { //add a mapping for route code Mapping mapping; mapping = PopulateMappingItem(); mapping.SourceValue = "OpcoValue"; mapping.DestinationValue = "TDCValue"; MappingController.SaveMapping(mapping); //set up source object to map to destination OpCoShipment sourceObject = OpcoShipmentTests.PopulateNewItem(); sourceObject.RouteCode = mapping.SourceValue; //set up a new instance of a TDC shipment to map the new values into TDCShipment destinationObject = new TDCShipment(); //perform the mapping MappingController.Map(sourceObject, destinationObject, mapping.SourceSystem.Name, mapping.DestinationSystem.Name, DoLines); Assert.IsTrue ( destinationObject.GetType().GetProperty(mapping.MappingPropertyAssociation.DestinationProperty). GetValue(destinationObject, null).Equals( mapping.DestinationValue) && ((sourceObject.ShipmentLines == null || sourceObject.ShipmentLines.Count == 0) || destinationObject.ShipmentLines.Count > 0) && ((destinationObject.ShipmentLines == null || destinationObject.ShipmentLines.Count == 0) || destinationObject.ShipmentLines[0] is TDCShipmentLine) && ((sourceObject.ShipmentLines == null || sourceObject.ShipmentLines.Count == 0) || sourceObject.ShipmentLines[0].ConversionQuantity == destinationObject.ShipmentLines[0].ConversionQuantity) && sourceObject.CustomerAddress != null && sourceObject.OpCoContact != null && sourceObject.AfterTime == destinationObject.AfterTime && sourceObject.BeforeTime == destinationObject.BeforeTime && sourceObject.CheckInTime == destinationObject.CheckInTime && sourceObject.CustomerAddress.Line1 == destinationObject.CustomerAddress.Line1 && sourceObject.CustomerName == destinationObject.CustomerName && sourceObject.CustomerNumber == destinationObject.CustomerNumber && sourceObject.CustomerReference == destinationObject.CustomerReference && sourceObject.DeliveryWarehouseCode == destinationObject.DeliveryWarehouseCode && sourceObject.DespatchNumber == destinationObject.DespatchNumber && sourceObject.DivisionCode == destinationObject.DivisionCode && sourceObject.GeneratedDateTime == destinationObject.GeneratedDateTime && sourceObject.Instructions == destinationObject.Instructions && sourceObject.OpCoCode == destinationObject.OpCoCode && sourceObject.OpCoContact.Email == destinationObject.OpCoContact.Email && sourceObject.OpCoHeld == destinationObject.OpCoHeld && sourceObject.OpCoSequenceNumber == destinationObject.OpCoSequenceNumber && sourceObject.RequiredShipmentDate == destinationObject.RequiredShipmentDate && // sourceObject.RouteCode == destinationObject.RouteCode && sourceObject.SalesBranchCode == destinationObject.SalesBranchCode && sourceObject.ShipmentName == destinationObject.ShipmentName && sourceObject.ShipmentNumber == destinationObject.ShipmentNumber && sourceObject.Status == destinationObject.Status && sourceObject.StockWarehouseCode == destinationObject.StockWarehouseCode && sourceObject.TailLiftRequired == destinationObject.TailLiftRequired && sourceObject.TotalLineQuantity == destinationObject.TotalLineQuantity && sourceObject.TransactionTypeCode == destinationObject.TransactionTypeCode && sourceObject.VehicleMaxWeight == destinationObject.VehicleMaxWeight ); } } } } } }