/// <summary>
        /// Example referes to the process of retrieving a team member specified by UserId.
        /// </summary>
        public void GetTeamMemberById()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManagerV5(ActualApiKey);

            #region Get Random member

            var randomMember = GetRandomTeamMember();

            if ((randomMember?.MemberId ?? 0) < 1)
            {
                Console.WriteLine("Cannot retrieve a random team member");
                return;
            }

            #endregion

            var memberParams = new MemberQueryParameters()
            {
                UserId = randomMember.MemberId.ToString()
            };

            // Run the query
            var member = route4Me.GetTeamMemberById(memberParams,
                                                    out ResultResponse resultResponse);

            PrintTeamMembers(member, resultResponse);
        }
        /// <summary>
        /// The example refers to the process of updating a route member.
        /// </summary>
        public void UpdateTeamMember()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManagerV5(ActualApiKey);

            #region Create Member To Update

            membersToRemove = new List <TeamResponse>();
            CreateTestTeamMember();

            if (membersToRemove.Count < 1)
            {
                Console.WriteLine("Cannot create a team member to remove");
                return;
            }

            var member = membersToRemove[membersToRemove.Count - 1];

            #endregion

            var queryParams = new MemberQueryParameters()
            {
                UserId = member.MemberId.ToString()
            };

            var requestParams = new TeamRequest()
            {
                MemberPhone  = "555-777-888",
                ReadOnlyUser = true,
                DrivingRate  = 4
            };

            // Run the query
            var updatedMember = route4Me.UpdateTeamMember(
                queryParams,
                requestParams,
                out ResultResponse resultResponse);

            PrintTeamMembers(updatedMember, resultResponse);

            Console.WriteLine(
                (updatedMember?.MemberPhone ?? null) == requestParams.MemberPhone
                ? "The member phone updated"
                : "Cannot update the member phone"
                );

            Console.WriteLine(
                (updatedMember?.ReadOnlyUser ?? null) == requestParams.ReadOnlyUser
                ? "The member parameter ReadOnlyUser updated"
                : "Cannot update the member parameter ReadOnlyUser"
                );

            Console.WriteLine(
                (updatedMember?.DrivingRate ?? null) == requestParams.DrivingRate
                ? "The member parameter DrivingRate updated"
                : "Cannot update the member parameter DrivingRate"
                );

            RemoveTestTeamMembers();
        }
        public void Dispose()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            if (lsVehicles.Count > 0)
            {
                foreach (var veh in lsVehicles)
                {
                    var result = route4Me.DeleteVehicle(veh.VehicleId, out ResultResponse resultResponse);
                }
            }

            if (lsVehicleProfiles.Count > 0)
            {
                foreach (var vehProf in lsVehicleProfiles)
                {
                    var vehProfParams = new VehicleProfileParameters()
                    {
                        VehicleProfileId = vehProf.VehicleProfileId
                    };

                    var result = route4Me.DeleteVehicleProfile(vehProfParams, out ResultResponse resultResponse);
                }
            }
        }
        private void CreateTestTeamMember()
        {
            var route4Me = new Route4MeManagerV5(ActualApiKey);

            int?ownerId = GetOwnerMemberId();

            if (ownerId == null)
            {
                return;
            }

            var newMemberParameters = new TeamRequest()
            {
                NewPassword     = testPassword,
                MemberFirstName = "John",
                MemberLastName  = "Doe",
                MemberCompany   = "Test Member To Remove",
                MemberEmail     = GetTestEmail(),
                OwnerMemberId   = (int)ownerId
            };

            newMemberParameters.SetMemberType(MemberTypes.Driver);

            TeamResponse member = route4Me.CreateTeamMember(newMemberParameters,
                                                            out ResultResponse resultResponse);

            if (member != null && member.GetType() == typeof(TeamResponse))
            {
                membersToRemove.Add(member);
            }
        }
        private void RemoveTestTeamMembers()
        {
            if ((membersToRemove?.Count ?? 0) < 1)
            {
                return;
            }

            var route4Me = new Route4MeManagerV5(ActualApiKey);

            foreach (var member in membersToRemove)
            {
                var memberParams = new MemberQueryParameters()
                {
                    UserId = member.MemberId.ToString()
                };

                var removedMember = route4Me.RemoveTeamMember(memberParams,
                                                              out ResultResponse resultResponse);

                Console.WriteLine(
                    (removedMember?.MemberEmail?.Contains(".deleted") ?? false)
                    ? String.Format("A test member {0} removed succsessfully", removedMember.MemberId)
                    : String.Format("Cannot remove a test member {0}", removedMember.MemberId)
                    );
            }
        }
Beispiel #6
0
        public ConnectionsApiTests(ITestOutputHelper output)
        {
            lsTelematicsConnetions = new List <Connection>();

            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var connectionParams = new ConnectionParameters()
            {
                Vendor    = TelematicsVendorType.Tomtom.Description(),
                VendorId  = 154,
                Name      = "Connection to GeoTab",
                Host      = "telematics.tomtom.com/en_au/webfleet/",
                ApiKey    = "11111111111111111111111111111111",
                AccountId = "SDS545454SASWEWA21DFFD54FGPPP456",
                UserName  = "******",
                Password  = "******",
                VehiclePositionRefreshRate = 30,
                ValidateRemoteCredentials  = false,
                IsEnabled = true,
                Metadata  = "string"
            };

            var telematicsConnetion = route4Me.RegisterTelematicsConnection(
                connectionParams,
                out ResultResponse resultResponse);

            Assert.NotNull(telematicsConnetion);
            Assert.IsType <Connection>(telematicsConnetion);

            lsTelematicsConnetions.Add(telematicsConnetion);
        }
Beispiel #7
0
        public void UpdateTelematicsConnectionTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var connectionParams = new ConnectionParameters()
            {
                ConnectionToken            = lsTelematicsConnetions[lsTelematicsConnetions.Count - 1].ConnectionToken,
                Vendor                     = TelematicsVendorType.Geotab.Description(),
                VendorId                   = 154,
                Name                       = "Connection to GeoTab",
                ApiKey                     = "11111111111111111111111111111111",
                AccountId                  = "SDS545454SASWEWA21DFFD54FGPPP456",
                UserName                   = "******",
                Password                   = "******",
                VehiclePositionRefreshRate = 60,
                ValidateRemoteCredentials  = false,
                IsEnabled                  = true,
                Metadata                   = "string"
            };

            var result = route4Me.RegisterTelematicsConnection(
                connectionParams,
                out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <Connection>(result);
        }
Beispiel #8
0
        public void UpdateRouteTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            tdr.SD10Stops_route.Parameters.DistanceUnit = DistanceUnit.KM.Description();
            tdr.SD10Stops_route.Parameters.Parts        = 2;
            tdr.SD10Stops_route.Parameters = null;
            var addresses = new List <Address>();

            tdr.SD10Stops_route.Addresses[2].SequenceNo      = 4;
            tdr.SD10Stops_route.Addresses[2].Alias           = "Address 2";
            tdr.SD10Stops_route.Addresses[2].AddressStopType = AddressStopType.Delivery.Description();
            addresses.Add(tdr.SD10Stops_route.Addresses[2]);

            tdr.SD10Stops_route.Addresses[3].SequenceNo      = 3;
            tdr.SD10Stops_route.Addresses[3].Alias           = "Address 3";
            tdr.SD10Stops_route.Addresses[3].AddressStopType = AddressStopType.PickUp.Description();
            addresses.Add(tdr.SD10Stops_route.Addresses[3]);

            tdr.SD10Stops_route.Addresses = addresses.ToArray();

            var updatedRoute = route4Me.UpdateRoute(tdr.SD10Stops_route, out ResultResponse resultResponse);

            Assert.NotNull(updatedRoute);
            Assert.IsType <DataObjectRoute>(updatedRoute);
        }
Beispiel #9
0
        public void GetRouteDatatableWithElasticSearchTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var routeParameters = new RouteFilterParameters()
            {
                Page    = 1,
                PerPage = 10,
                Filters = new RouteFilterParametersFilters()
                {
                    ScheduleDate = new string[] { "2021-02-11", "2021-02-12" }
                },
                OrderBy = new List <string[]>()
                {
                    new string[] { "route_created_unix", "asc" }
                },
                Timezone = "UTC"
            };

            DataObjectRoute[] dataObjects = route4Me.GetRouteDataTableWithElasticSearch(
                routeParameters,
                out ResultResponse resultResponse);

            Assert.IsType <DataObjectRoute[]>(dataObjects);
        }
        public void CreateVehicleProfileTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var vehProfileParams3 = new VehicleProfile()
            {
                Name                       = "Heavy Duty - 48 Semitrailer " + DateTime.Now.ToString("yyMMddHHmmss"),
                HeightUnits                = VehicleSizeUnits.Foot.Description(),
                WidthUnits                 = VehicleSizeUnits.Foot.Description(),
                LengthUnits                = VehicleSizeUnits.Foot.Description(),
                Height                     = 11,
                Width                      = 6.6,
                Length                     = 52,
                IsPredefined               = false,
                IsDefault                  = false,
                WeightUnits                = VehicleWeightUnits.Kilogram.Description(),
                Weight                     = 35000,
                MaxWeightPerAxle           = 17500,
                FuelType                   = FuelTypes.Unleaded_87.Description(),
                FuelConsumptionCity        = 6,
                FuelConsumptionHighway     = 11,
                FuelConsumptionCityUnit    = FuelConsumptionUnits.MilesPerGallonUS.Description(),
                FuelConsumptionHighwayUnit = FuelConsumptionUnits.MilesPerGallonUS.Description()
            };

            var result = route4Me.CreateVehicleProfile(vehProfileParams3, out ResultResponse resultResponse2);

            Assert.NotNull(result);
            Assert.IsType <VehicleProfile>(result);

            lsVehicleProfiles.Add(result);
        }
        public void GetDriverReviewById()
        {
            var route4Me = new Route4MeManagerV5(ActualApiKey);

            #region Get Driver Review List

            var allQueryParameters = new DriverReviewParameters()
            {
                Page    = 0,
                PerPage = 2
            };

            var reviews = route4Me.GetDriverReviewList(allQueryParameters,
                                                       out ResultResponse resultResponse);

            if ((reviews?.Data?.Length ?? 0) < 1)
            {
                Console.WriteLine("Cannot retrive driver reviews");
                return;
            }

            #endregion

            var queryParameters = new DriverReviewParameters()
            {
                RatingId = reviews.Data[0].RatingId
            };

            var review = route4Me.GetDriverReviewById(queryParameters,
                                                      out resultResponse);

            PrintDriverReview(review, resultResponse);
        }
Beispiel #12
0
        public void GetTelematicsConnectionsTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var result = route4Me.GetTelematicsConnections(out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <Connection[]>(result);
        }
Beispiel #13
0
        public void GetRouteDataTableFallbackConfig()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var result = route4Me.GetRouteDataTableFallbackConfig(out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <RouteDataTableConfigResponse>(result);
        }
        /// <summary>
        /// Example referes to the process of retrieving all the team members of the account.
        /// </summary>
        public void GetTeamMembers()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManagerV5(ActualApiKey);

            // Run the query
            var members = route4Me.GetTeamMembers(out ResultResponse failResponse);

            PrintTeamMembers(members, failResponse);
        }
        public Vehicle createVehicle(Vehicle vehicleParams)
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var result = route4Me.CreateVehicle(vehicleParams, out ResultResponse resultResponse);

            Assert.NotNull(result);

            return(result);
        }
        public void GetVehicleTrackByIdTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var vehicleId = lsVehicles[0].VehicleId;

            var result = route4Me.GetVehicleTrack(vehicleId, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <VehicleTrackResponse>(result);
        }
Beispiel #17
0
        public void DeleteRoutesTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var routeIDs = new string[] { tdr2.MDMD24_route_id };

            var result = route4Me.DeleteRoutes(routeIDs, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <RoutesDeleteResponse>(result);
            Assert.True(result.Deleted);
        }
        public void DeleteVehicleTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var vehicleId = lsVehicles[lsVehicles.Count - 1].VehicleId;

            var result = route4Me.DeleteVehicle(vehicleId, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <Vehicle>(result);

            lsVehicles.Remove(lsVehicles[lsVehicles.Count - 1]);
        }
        public void GetVehicleProfileByIdTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var vehProfParams = new VehicleProfileParameters()
            {
                VehicleProfileId = lsVehicleProfiles[0].VehicleProfileId
            };

            var result = route4Me.GetVehicleProfileById(vehProfParams, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <VehicleProfile>(result);
        }
Beispiel #20
0
        public void GetRouteListWithoutElasticSearchTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var routeParameters = new RouteParametersQuery()
            {
                Offset = 0,
                Limit  = 10
            };

            DataObjectRoute[] dataObjects = route4Me.GetRouteListWithoutElasticSearch(routeParameters, out ResultResponse resultResponse);

            Assert.IsType <DataObjectRoute[]>(dataObjects);
        }
        public void GetLatestVehicleLocationsTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var vehicleParams = new VehicleParameters()
            {
                VehicleIDs = lsVehicles.Select(x => x.VehicleId).ToArray()
            };

            var result = route4Me.GetVehicleLocations(vehicleParams, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <VehicleLocationResponse>(result);
        }
Beispiel #22
0
        public void GetAllRoutesWithPaginationTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var routeParameters = new RouteParametersQuery()
            {
                Page    = 1,
                PerPage = 20
            };

            DataObjectRoute[] dataObjects = route4Me.GetAllRoutesWithPagination(routeParameters, out ResultResponse resultResponse);

            Assert.IsType <DataObjectRoute[]>(dataObjects);
        }
        public void UpdateVehicleTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            lsVehicles[0].VehicleAlias += " Updated";
            lsVehicles[0].VehicleVin    = "11111111111111111";

            var result = route4Me.UpdateVehicle(lsVehicles[0], out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <Vehicle>(result);
            Assert.Equal("11111111111111111", result.VehicleVin);
            Assert.Contains("Updated", result.VehicleAlias);
        }
Beispiel #24
0
        public void GetTelematicsConnectionByTokenTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var connectionParams = new ConnectionParameters()
            {
                ConnectionToken = lsTelematicsConnetions[0].ConnectionToken
            };

            var result = route4Me.GetTelematicsConnectionByToken(connectionParams, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <Connection>(result);
        }
Beispiel #25
0
        public void GetPaginatedRouteListWithoutElasticSearchTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var routeParameters = new RouteParametersQuery()
            {
                Page    = 1,
                PerPage = 20
            };

            DataObjectRoute[] dataObjects = route4Me.GetPaginatedRouteListWithoutElasticSearch(routeParameters, out ResultResponse resultResponse);

            Assert.IsType <DataObjectRoute[]>(dataObjects);
        }
Beispiel #26
0
        public void Dispose()
        {
            bool optimizationResult = tdr.RemoveOptimization(lsOptimizationIDs.ToArray());

            var route4Me = new Route4MeManagerV5(c_ApiKey);

            if (lsRoutenIDs.Count > 0)
            {
                RoutesDeleteResponse routesDeleteResponse = route4Me.DeleteRoutes(
                    lsRoutenIDs.ToArray(),
                    out ResultResponse resultResponse);
            }

            Assert.True(optimizationResult, "Removing of the testing optimization problem failed.");
        }
Beispiel #27
0
        public void GetAllRoutesTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var routeParameters = new RouteParametersQuery()
            {
                Limit  = 1,
                Offset = 15
            };

            // Run the query
            DataObjectRoute[] dataObjects = route4Me.GetRoutes(routeParameters, out ResultResponse resultResponse);

            Assert.IsType <DataObjectRoute[]>(dataObjects);
        }
        public void GetVehiclesPaginatedListTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var vehParams = new VehicleParameters()
            {
                Page    = 1,
                PerPage = 10
            };

            var result = route4Me.GetPaginatedVehiclesList(vehParams, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <Vehicle[]>(result);
        }
Beispiel #29
0
        public void DeleteTelematicsConnectionTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            var connectionParams = new ConnectionParameters()
            {
                ConnectionToken = lsTelematicsConnetions[lsTelematicsConnetions.Count - 1].ConnectionToken
            };

            var result = route4Me.DeleteTelematicsConnection(connectionParams, out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <Connection>(result);

            lsTelematicsConnetions.RemoveAt(lsTelematicsConnetions.Count - 1);
        }
        public void UpdateVehicleProfileTest()
        {
            var route4Me = new Route4MeManagerV5(c_ApiKey);

            lsVehicleProfiles[0].Name += " Updated";
            lsVehicleProfiles[0].FuelConsumptionCityUnit    = FuelConsumptionUnits.MilesPerGallonUS.Description();
            lsVehicleProfiles[0].FuelConsumptionHighwayUnit = FuelConsumptionUnits.MilesPerGallonUS.Description();

            var result = route4Me.UpdateVehicleProfile(lsVehicleProfiles[0], out ResultResponse resultResponse);

            Assert.NotNull(result);
            Assert.IsType <VehicleProfile>(result);
            Assert.Equal(FuelConsumptionUnits.MilesPerGallonUS.Description(), result.FuelConsumptionCityUnit);
            Assert.Equal(FuelConsumptionUnits.MilesPerGallonUS.Description(), result.FuelConsumptionHighwayUnit);
            Assert.Contains("Updated", result.Name);
        }