private void CreateTestData()
        {
            validSwagRec    = new IO.Swagger.Models.Recipient("Tobias", "Test", "Horvathgasse 2", "A-1160", "Wien");
            validSwagParcel = new IO.Swagger.Models.Parcel(1.5f, validSwagRec);
            validBLRec      = new Entities.Recipient("Tobias", "Test", "Horvathgasse 2", "A-1160", "Wien");
            validBLParcel   = new Entities.Parcel(1.5f, validBLRec);
            invalidBLRec    = new Entities.Recipient("Tobias", "Test", "Horvathgasse 2", "1160", "Wien");
            invalidBLParcel = new Entities.Parcel(1.5f, invalidBLRec);
            validDALRec     = new DataAccess.Entities.Recipient("Tobias", "Test", "Horvathgasse 2", "A-1160", "Wien");
            validDALParcel  = new DataAccess.Entities.Parcel(1.5f, validDALRec, 1);

            validSARecipient = new ServiceAgents.DTOs.Recipient("Tobias", "Test", "Horvathgasse 2", "A-1160", "Wien");
            validBLLocation  = new Entities.Location {
                Lat = 48.2057943, Lng = 16.3066716
            };
        }
Пример #2
0
        private DataAccess.Entities.TrackingInformation GenerateTrackingInformation(DataAccess.Entities.Parcel parcel)
        {
            //Create new empty TrackingInformation
            var dalTrackInfo = new DataAccess.Entities.TrackingInformation(DataAccess.Entities.TrackingInformation.StateEnum.InTransportEnum);
            var trackInfoId  = _trackingRepo.Create(dalTrackInfo);

            dalTrackInfo.FutureHops  = new List <DataAccess.Entities.HopArrival>();
            dalTrackInfo.VisitedHops = new List <DataAccess.Entities.HopArrival>();

            //Get destination of parcel
            var blRecipient = _mapper.Map <Entities.Recipient>(parcel.Recipient);
            var saRecipient = _mapper.Map <ServiceAgents.DTOs.Recipient>(blRecipient);
            var saLocation  = _encodingAgent.EncodeAddress(saRecipient);
            var blLocation  = _mapper.Map <Entities.Location>(saLocation);

            //Select nearest truck
            var truck = SelectNearestTruck(blLocation);

            if (truck == null)
            {
                throw new BlException("The given address is not in the range of service");
            }

            //Get itinerary of parcel and create hop arrival estimations
            var warehouses = GetItinerary(truck);
            var date       = DateTime.Now;

            foreach (var wh in warehouses)
            {
                date = date.AddDays((double)wh.Duration);
                var hop = new DataAccess.Entities.HopArrival {
                    DateTime = date, Code = wh.Code, Status = "future", TrackingInformationId = trackInfoId
                };
                _hopArrivalRepo.Create(hop);
                dalTrackInfo.FutureHops.Add(hop);
            }
            date = date.AddDays((double)truck.Duration);
            var truckHop = new DataAccess.Entities.HopArrival {
                DateTime = date, Code = truck.Code, Status = "future", TrackingInformationId = trackInfoId
            };

            _hopArrivalRepo.Create(truckHop);
            dalTrackInfo.FutureHops.Add(truckHop);
            return(dalTrackInfo);
        }
Пример #3
0
        public TrackingLogicTests()
        {
            mockHopRepo    = new MockHopArrivalRepository();
            mockTrackRepo  = new MockTrackingInformationRepository();
            mockParcelRepo = new MockParcelRepository(mockTrackRepo);

            SetupBLTrackingInfo();
            SetupDALTrackingInfo();
            SetupSwagTrackingInfo();

            validBLRec    = new Entities.Recipient("Tobias", "Test", "Teststraße 9", "A-1140", "Wien");
            validBLParcel = new Entities.Parcel(1.5f, validBLRec);
            validBLParcel.TrackingInformation = validBLInfo;

            validDALRec    = new DataAccess.Entities.Recipient("Tobias", "Test", "Teststraße 9", "A-1140", "Wien");
            validDALParcel = new DataAccess.Entities.Parcel(1.5f, validDALRec, 1);
            validDALParcel.TrackingInformation   = validDALInfo;
            validDALParcel.TrackingInformationId = 1;
        }