예제 #1
0
        public void TestGetOpCoStockWarehouseCodes()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                // Populate and Create an OpCo Shipment with default values
                OpCoShipment opCoShipment = OpcoShipmentTests.PopulateNewItem();
                OpCoShipmentController.SaveShipment(opCoShipment);

                // Save the OpCo Code
                string SaveOpCoCode = opCoShipment.OpCoCode;

                // Create a second OpCo Shipment with the same OpCo Code, but a different stock warehouse code
                opCoShipment.Id                 = -1;
                opCoShipment.OpCoCode           = SaveOpCoCode;
                opCoShipment.StockWarehouseCode = "ZZZ";
                opCoShipment.ShipmentNumber     = "Ship2";
                opCoShipment.DespatchNumber     = "Despatch2";

                OpCoShipmentController.SaveShipment(opCoShipment);

                List <Warehouse> warehouseList = WarehouseController.GetOpCoStockWarehouseCodes(SaveOpCoCode);
                Assert.IsTrue(warehouseList.Count == 2);
            }
        }
예제 #2
0
        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
                                );
                            }
                        }
                    }
                }
            }
        }
예제 #3
0
        static internal TDCShipment PopulateItem()
        {
            TDCShipment  tdcShipment  = new TDCShipment();
            OpCoShipment opCoShipment = OpcoShipmentTests.PopulateNewItem();

            try
            {
                tdcShipment.OpCoShipmentId = OpCoShipmentController.SaveShipment(opCoShipment);
            }
            catch (InValidBusinessObjectException e)
            {
                Console.Write(e.ValidatableObject.ValidationMessages);
            }

            tdcShipment.OpCoCode           = opCoShipment.OpCoCode;
            tdcShipment.OpCoSequenceNumber = 1;

            tdcShipment.OpCoContact.Email        = "Email";
            tdcShipment.OpCoContact.Name         = "Name";
            tdcShipment.DespatchNumber           = "Number";
            tdcShipment.RequiredShipmentDate     = DateTime.Now;
            tdcShipment.CustomerNumber           = "CustNo";
            tdcShipment.CustomerName             = "CustomerName";
            tdcShipment.CustomerReference        = "ref";
            tdcShipment.CustomerAddress.Line1    = "Line1";
            tdcShipment.CustomerAddress.PostCode = "NN8 1NB";
            tdcShipment.ShipmentNumber           = "ShipNo";
            tdcShipment.ShipmentName             = "ShipmentName";
            tdcShipment.ShipmentAddress.Line1    = "Line1";
            tdcShipment.ShipmentAddress.PostCode = "NN8 1NB";
            tdcShipment.SalesBranchCode          = "BranchCode";
            tdcShipment.AfterTime           = "11:11";
            tdcShipment.BeforeTime          = "10:10";
            tdcShipment.TailLiftRequired    = false;
            tdcShipment.CheckInTime         = 1;
            tdcShipment.DivisionCode        = "Div";
            tdcShipment.GeneratedDateTime   = DateTime.Now;
            tdcShipment.Status              = Shipment.StatusEnum.Mapped;
            tdcShipment.IsRecurring         = false;
            tdcShipment.IsValidAddress      = false;
            tdcShipment.PAFAddress.Line1    = "Line1";
            tdcShipment.PAFAddress.PostCode = "PostCode";
            tdcShipment.UpdatedBy           = "UpdatedBy";
            tdcShipment.Instructions        = "Instructions";
            tdcShipment.VehicleMaxWeight    = (decimal)1.1;
            OpCoDivision division = OpcoDivisionTests.PopulateNewItem();

            OpcoDivisionTests.SaveItem(division);
            tdcShipment.DivisionCode = division.Code;

            Warehouse deliveryWarehouse = WarehouseTests.PopulateNewItem();

            WarehouseTests.SaveItem(deliveryWarehouse);
            tdcShipment.DeliveryWarehouseCode = deliveryWarehouse.Code;

            Warehouse stockWarehouse = WarehouseTests.PopulateNewItem();

            WarehouseTests.SaveItem(stockWarehouse);
            tdcShipment.StockWarehouseCode = stockWarehouse.Code;

            Route route = RouteTests.PopulateNewItem();

            RouteTests.SaveItem(route);
            tdcShipment.RouteCode = route.Code;

            TransactionType transactionType = TransactionTypeTests.PopulateNewItem();

            TransactionTypeTests.SaveItem(transactionType);
            tdcShipment.TransactionTypeCode = transactionType.Code;

            TransactionSubType transactionSubType = TransactionSubTypeTests.PopulateNewItem();

            TransactionSubTypeTests.SaveItem(transactionSubType);
            tdcShipment.TransactionSubTypeCode = transactionSubType.Code;

            return(tdcShipment);
        }