示例#1
0
        public void GetAddress(string routeId, int routeDestinationId)
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            AddressParameters addressParameters = new AddressParameters()
            {
                RouteId            = routeId,
                RouteDestinationId = routeDestinationId,
                Notes = true
            };

            // Run the query
            string  errorString;
            Address dataObject = route4Me.GetAddress(addressParameters, out errorString);

            Console.WriteLine("");

            if (dataObject != null)
            {
                Console.WriteLine("GetAddress executed successfully");
                Console.WriteLine("RouteId: {0}; RouteDestinationId: {1}", dataObject.RouteId, dataObject.RouteDestinationId);
                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("GetAddress error: {0}", errorString);
                Console.WriteLine("");
            }
        }
示例#2
0
        /// <summary>
        /// Get destination from a route.
        /// </summary>
        /// <param name="routeId">Route ID</param>
        /// <param name="routeDestinationId">A route destination ID</param>
        public void GetAddress(string routeId = null, int?routeDestinationId = null)
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            if (routeId == null)
            {
                RunOptimizationSingleDriverRoute10Stops();
                OptimizationsToRemove = new List <string>()
                {
                    SD10Stops_optimization_problem_id
                };
            }

            var addressParameters = new AddressParameters()
            {
                RouteId            = (routeId == null) ? SD10Stops_route_id : routeId,
                RouteDestinationId = (routeDestinationId == null)
                                    ? (int)SD10Stops_route.Addresses[2].RouteDestinationId
                                    : (int)routeDestinationId,
                Notes = true
            };

            // Run the query
            Address destination = route4Me.GetAddress(addressParameters, out string errorString);

            PrintExampleDestination(destination, errorString);

            if (routeId == null)
            {
                RemoveTestOptimizations();
            }
        }
        /// <summary>
        /// Mark Address as Marked as Visited
        /// </summary>
        /// <param name="aParams">Address parameters</param>
        public void MarkAddressAsMarkedAsVisited(AddressParameters aParams = null)
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            bool isInnerExample = aParams == null ? true : false;

            if (isInnerExample)
            {
                RunOptimizationSingleDriverRoute10Stops();
                OptimizationsToRemove = new List <string>()
                {
                    SD10Stops_optimization_problem_id
                };

                aParams = new AddressParameters
                {
                    RouteId            = SD10Stops_route_id,
                    RouteDestinationId = (int)SD10Stops_route.Addresses[2].RouteDestinationId,
                    IsVisited          = true
                };
            }

            // Run the query
            Address resultAddress = route4Me
                                    .MarkAddressAsMarkedAsVisited(aParams, out string errorString);

            PrintExampleDestination(resultAddress, errorString);

            if (isInnerExample)
            {
                RemoveTestOptimizations();
            }
        }
        /// <summary>
        /// Mark Address as Visited
        /// </summary>
        /// <returns> status </returns>
        public void MarkAddressVisited(AddressParameters aParams)
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            // Run the query
            string errorString = "";
            object oResult     = route4Me.MarkAddressVisited(aParams, out errorString);

            Console.WriteLine("");

            if (oResult != null)
            {
                int result = Convert.ToInt32(oResult);
                if (result == 1)
                {
                    Console.WriteLine("MarkAddressVisited executed successfully");
                }
                else
                {
                    Console.WriteLine("MarkAddressVisited error: {0}", errorString);
                }
            }
            else
            {
                Console.WriteLine("MarkAddressVisited error: {0}", errorString);
            }
        }
        /// <summary>
        /// Generate new Bitcoin address
        /// </summary>
        /// <param name="addressParameters">
        /// Same method, but with friendly model.
        /// </param>
        /// <returns></returns>
        public Result GetNewAddress(AddressParameters addressParameters)
        {
            string addressTypeString = "";

            if (addressParameters.addressType == AddressTypes.p2shsegwit)
            {
                addressTypeString = "p2sh-segwit";
            }
            else
            {
                addressTypeString = addressParameters.addressType.ToString();
            }
            IRestRequest req       = GenerateStandardRequest();
            JArray       parameter = new JArray();

            parameter.Add(addressParameters.label);
            parameter.Add(addressTypeString);
            JObject obj = BodySkeleton("getnewaddress", parameter);

            req.AddJsonBody(obj.ToString());
            var response = client.Execute(req);

            ValidateResponse(response);
            Result result = JsonConvert.DeserializeObject <Result>(response.Content);

            return(result);
        }
        /// <summary>
        /// Mark Address as Departed
        /// </summary>
        /// <param name="aParams">Address parameters</param>
        public void MarkAddressDeparted(AddressParameters aParams = null)
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            bool isInnerExample = aParams == null ? true : false;

            if (isInnerExample)
            {
                RunOptimizationSingleDriverRoute10Stops();
                OptimizationsToRemove = new List <string>()
                {
                    SD10Stops_optimization_problem_id
                };

                #region Before marking an address as departed, mark it as visited.
                var visitedParams = new AddressParameters
                {
                    RouteId   = SD10Stops_route_id,
                    AddressId = (int)SD10Stops_route.Addresses[2].RouteDestinationId,
                    IsVisited = true
                };

                object oVisited = route4Me.MarkAddressVisited(visitedParams, out string errorString0);

                bool visited = int.TryParse(oVisited.ToString(), out _)
                    ? (Convert.ToInt32(oVisited) > 0 ? true : false)
                    : false;

                if (!visited)
                {
                    Console.WriteLine("Cannot mark the address as visited");
                    return;
                }

                #endregion

                aParams = new AddressParameters
                {
                    RouteId    = SD10Stops_route_id,
                    AddressId  = (int)SD10Stops_route.Addresses[2].RouteDestinationId,
                    IsDeparted = true
                };
            }

            // Run the query
            int result = route4Me.MarkAddressDeparted(aParams, out string errorString);

            bool departed = result > 0 ? true : false;

            PrintExampleDestination(departed, errorString);

            if (isInnerExample)
            {
                RemoveTestOptimizations();
            }
        }
        public async Task ShouldLoadAddressDomainObjectsForEachVendor(int vendorID, int numberOfRecords)
        {
            var addressParams = new AddressParameters {
                PageNumber = 1, PageSize = 10
            };
            var vendorAddressDomainObjs = await _addressRepo.GetAddresses(vendorID, addressParams);

            int count = vendorAddressDomainObjs.Count();

            Assert.Equal(count, numberOfRecords);
        }
        public async Task ShouldDeleteOneVendorAddressUsingAddressDomainObj()
        {
            var vendorID = 3;
            var addressParams = new AddressParameters { PageNumber = 1, PageSize = 10 };
            var vendorAddressDomainObjs = await _addressRepo.GetAddresses(vendorID, addressParams);
            var count = vendorAddressDomainObjs.Count;

            Assert.Equal(2, count);

            await _addressRepo.DeleteAddress(vendorAddressDomainObjs[0]);
            vendorAddressDomainObjs = await _addressRepo.GetAddresses(vendorID, addressParams);

            Assert.Equal(count - 1, vendorAddressDomainObjs.Count);
        }
示例#9
0
        public async Task <PagedList <AddressDomainObj> > GetAddresses(int entityID, AddressParameters addressParameters)
        {
            var pagedList = await PagedList <AddressDomainObj> .ToPagedList(
                DbContext.AddressDomainObj
                .Where(address => address.ParentEntityID == entityID)
                .AsQueryable()
                .OrderBy(a => a.StateProvinceID)
                .ThenBy(a => a.City)
                .ThenBy(a => a.AddressLine1),
                addressParameters.PageNumber,
                addressParameters.PageSize);

            return(pagedList);
        }
示例#10
0
        public async Task <PagedList <Address> > GetAllAddressesAsync(AddressParameters addressParameters)
        {
            var addresses = FindAll();

            SearchByAddress1(ref addresses, addressParameters.address1);
            SearchByAddress2(ref addresses, addressParameters.address2);
            SearchByCity(ref addresses, addressParameters.city);
            SearchByState(ref addresses, addressParameters.state);
            SearchByCountry(ref addresses, addressParameters.country);
            SearchByZip(ref addresses, addressParameters.zip);
            SearchByArchive(ref addresses, addressParameters.archive);
            SearchByCustomer(ref addresses, addressParameters.customerId);

            return(await PagedList <Address> .ToPagedList(addresses,
                                                          addressParameters.PageNumber,
                                                          addressParameters.PageSize));
        }
        public async Task <IActionResult> GetAddressesForVendor(int vendorId, [FromQuery] AddressParameters addressParameters)
        {
            var addresses = await _repository.Address.GetAddresses(vendorId, addressParameters);

            var metadata = new
            {
                addresses.TotalCount,
                addresses.PageSize,
                addresses.CurrentPage,
                addresses.TotalPages,
                addresses.HasNext,
                addresses.HasPrevious
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            return(Ok(addresses));
        }
        public async Task <IActionResult> GetAllAddresses([FromQuery] AddressParameters addressParameters)
        {
            var addresses = await _repository.Address.GetAllAddressesAsync(addressParameters);

            var metadata = new
            {
                addresses.TotalCount,
                addresses.PageSize,
                addresses.CurrentPage,
                addresses.TotalPages,
                addresses.HasNext,
                addresses.HasPrevious
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            var addressessResult = _mapper.Map <IEnumerable <AddressDto> >(addresses);

            return(Ok(addressessResult));
        }
        /// <summary>
        /// Mark Address as Marked as Visited
        /// </summary>
        /// <returns> status </returns>
        public void MarkAddressAsMarkedAsVisited(AddressParameters aParams)
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            // Run the query

            string  errorString   = "";
            Address resultAddress = route4Me.MarkAddressAsMarkedAsVisited(aParams, out errorString);

            Console.WriteLine("");

            if (resultAddress != null)
            {
                Console.WriteLine("MarkAddressAsMarkedAsVisited executed successfully");

                Console.WriteLine("Marked Address ID: {0}", resultAddress.RouteDestinationId);
            }
            else
            {
                Console.WriteLine("MarkAddressAsMarkedAsVisited error: {0}", errorString);
            }
        }
        /// <summary>
        /// Mark Address as Visited
        /// </summary>
        /// <param name="aParams">Address parameters</param>
        public void MarkAddressVisited(AddressParameters aParams = null)
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            bool isInnerExample = aParams == null ? true : false;

            if (isInnerExample)
            {
                RunOptimizationSingleDriverRoute10Stops();
                OptimizationsToRemove = new List <string>()
                {
                    SD10Stops_optimization_problem_id
                };

                aParams = new AddressParameters
                {
                    RouteId   = SD10Stops_route_id,
                    AddressId = (int)SD10Stops_route.Addresses[2].RouteDestinationId,
                    IsVisited = true
                };
            }

            // Run the query
            object oResult = route4Me.MarkAddressVisited(aParams, out string errorString);

            bool marked = int.TryParse(oResult.ToString(), out _)
                ? (Convert.ToInt32(oResult) > 0 ? true : false)
                : false;

            PrintExampleDestination(marked, errorString);

            if (isInnerExample)
            {
                RemoveTestOptimizations();
            }
        }
        public void ReoptimizeRemainingStops()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            #region == Prepare Test Data ==

            RunSingleDriverRoundTrip();
            OptimizationsToRemove = new List <string>()
            {
                SDRT_optimization_problem_id
            };

            var route = SDRT_route;

            #endregion

            #region == Visit Second Address ==

            var visitedParams = new AddressParameters
            {
                RouteId   = route.RouteID,
                AddressId = (int)route.Addresses[1].RouteDestinationId,
                IsVisited = true
            };

            int result = route4Me.MarkAddressVisited(visitedParams, out string errorString);

            if (result == 1)
            {
                Console.WriteLine("The address " + visitedParams.AddressId + " visited");
            }
            else
            {
                Console.WriteLine("Cannot visit the address " + visitedParams.AddressId);
                return;
            }

            #endregion

            #region == Visit Third Address ==

            visitedParams = new AddressParameters
            {
                RouteId   = route.RouteID,
                AddressId = (int)route.Addresses[2].RouteDestinationId,
                IsVisited = true
            };

            result = route4Me.MarkAddressVisited(visitedParams, out errorString);

            if (result == 1)
            {
                Console.WriteLine("The address " + visitedParams.AddressId + " visited");
            }
            else
            {
                Console.WriteLine("Cannot visit the address " + visitedParams.AddressId);
                return;
            }

            #endregion

            #region == Reoptimize Remaining Addresses ==

            var routeParameters = new RouteParametersQuery()
            {
                RouteId    = route.RouteID,
                ReOptimize = true,
                Remaining  = true
            };

            var updatedRoute = route4Me.UpdateRoute(routeParameters, out errorString);

            PrintExampleRouteResult(updatedRoute, errorString);

            #endregion

            RemoveTestOptimizations();
        }
        /// <summary>
        /// Get activities with the event Destination Marked as Departed
        /// </summary>
        public void SearchDestinationMarkedAsDeparted()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            RunOptimizationSingleDriverRoute10Stops();

            string routeId = SD10Stops_route_id;

            OptimizationsToRemove = new List <string>()
            {
                SD10Stops_optimization_problem_id
            };

            int addressId = (int)SD10Stops_route.Addresses[2].RouteDestinationId;

            var addressVisitedParams = new AddressParameters()
            {
                RouteId   = routeId,
                AddressId = addressId,
                IsVisited = true
            };

            int visitedStatus = route4Me.MarkAddressVisited(addressVisitedParams, out string errorString);

            if (visitedStatus != 1)
            {
                Console.WriteLine(
                    "Cannot mark the test destination as visited." +
                    Environment.NewLine +
                    errorString);

                RemoveTestOptimizations();
                return;
            }

            var addressDepartParams = new AddressParameters()
            {
                RouteId    = routeId,
                AddressId  = addressId,
                IsDeparted = true
            };

            int departedStatus = route4Me.MarkAddressDeparted(addressDepartParams, out errorString);

            if (departedStatus != 1)
            {
                Console.WriteLine(
                    "Cannot mark the test destination as departed." +
                    Environment.NewLine +
                    errorString);

                RemoveTestOptimizations();
                return;
            }

            var activityParameters = new ActivityParameters
            {
                ActivityType = "mark-destination-departed",
                RouteId      = routeId
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out errorString);

            PrintExampleActivities(activities, errorString);

            RemoveTestOptimizations();
        }