Example #1
0
 public SyncRoutes(string authToken)
 {
     _authToken                 = authToken;
     _routesApi                 = new RoutesApiRequest(_apiUrl, _authToken);
     _routePointsApi            = new RoutePointsApiRequest(_apiUrl, _authToken);
     _routePointMediaObjectsApi = new RoutePointMediaObjectRequest(_apiUrl, _authToken);
     _log = App.Container.Resolve <ITextfileLogger>();
 }
        private async Task <bool> initApi()
        {
            TokenStoreService token      = new TokenStoreService();
            string            _authToken = await token.GetAuthTokenAsync();

            if (!string.IsNullOrEmpty(_authToken))
            {
                _routePointMediaObjectsApi = new RoutePointMediaObjectRequest(_apiUrl, _authToken);
            }

            return(!(_routePointMediaObjectsApi == null));
        }
Example #3
0
        private async Task <bool> updateRoute(string routeServerHash, RouteRoot routeRoot, ViewRoute localRoute)
        {
            bool updateResult = false;

            if (routeRoot == null)
            {
                return(updateResult);
            }

            if ((localRoute == null) || (routeRoot.Route?.Version > localRoute.Version))
            {
                ViewRoute updateViewRoute = new ViewRoute(_routeId);
                updateViewRoute.FillFromWSModel(routeRoot, routeServerHash);
                updateResult = updateViewRoute.Save();
                if ((updateResult) && (!string.IsNullOrEmpty(updateViewRoute.ImgFilename)))
                {
                    updateResult = await _routesApi.DownloadCoverImage(_routeId, updateViewRoute.ImgFilename);
                }
            }
            else if (string.IsNullOrEmpty(routeServerHash))
            {
                updateResult = await UploadAsync(GetRouteJsonStructure(localRoute, ""), _routesApi);
            }
            else if (routeRoot.Route.Version < localRoute.Version)
            {
                string coverImgBase64 = string.Empty;
                if (!string.IsNullOrEmpty(localRoute.ImgFilename))
                {
                    RoutePointMediaObjectRequest mediaRequest = new RoutePointMediaObjectRequest(_apiUrl, _authToken);
                    var httpResult = await mediaRequest.ImageExist(localRoute.ImgFilename);

                    if (httpResult == HttpStatusCode.NotFound)
                    {
                        string pathToCoverImg = Path.Combine(ImagePathManager.GetPicturesDirectory(), localRoute.ImgFilename);
                        var    bytes          = File.ReadAllBytes(pathToCoverImg);
                        coverImgBase64 = Convert.ToBase64String(bytes);
                    }
                }

                updateResult = await UploadAsync(GetRouteJsonStructure(localRoute, coverImgBase64), _routesApi);
            }
            else if (routeRoot.Route.Version == localRoute.Version)
            {
                updateResult = true;
            }
            return(updateResult);
        }