public async Task <IActionResult> UpdateRouteByObjectId(string id, RouteCreateDto routeCreateDto)
        {
            var routeModel = _mapper.Map <Route>(routeCreateDto);
            var route      = await _repository.GetObjectByIdAsync(id);

            if (route != null)
            {
                routeModel.UpdatedAt = DateTime.UtcNow;
                routeModel.Id        = new ObjectId(id);
                await _repository.UpdateObjectAsync(id, routeModel);

                return(Ok(_mapper.Map <RouteReadDto>(routeModel)));
            }

            return(NotFound());
        }
        public async Task <IActionResult> CreateRoute(RouteCreateDto routeCreateDto)
        {
            var route = _mapper.Map <Route>(routeCreateDto);

            if (route != null)
            {
                await _repository.CreateObjectAsync(route);

                var routeReadDto = _mapper.Map <RouteReadDto>(route);

                // https://docs.microsoft.com/en-us/dotnet/api/system.web.http.apicontroller.createdatroute?view=aspnetcore-2.2
                return(CreatedAtRoute(nameof(GetRouteById), new { Id = routeReadDto.Id }, routeReadDto));
            }

            return(NotFound());
        }