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)); }
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); }