public override async Task InitializeAsync(object navigationData) { if (navigationData is FrameNumberDocument) { FrameNumberDocument doc = navigationData as FrameNumberDocument; ImageUrl = doc.DocumentUrl; ImageTitle = doc.DocumentTitle; } else if (navigationData is FrameNumberImage) { FrameNumberImage im = navigationData as FrameNumberImage; ImageUrl = im.ImageUrl; ImageTitle = im.ImageTitle; } }
public async Task <FrameNumberImage> RegisterImage(string userName, string token, string uuid, FrameNumberImage frameNumberImage, bool deleteImage) { if (uuid == "" || frameNumberImage == null) { return(new FrameNumberImage()); } if (client.DefaultRequestHeaders.Contains("code")) { client.DefaultRequestHeaders.Remove("code"); } client.DefaultRequestHeaders.Add("code", Constants.AzureApiKey_RegisterImage); try { string postBody = JsonConvert.SerializeObject(new FrameNumberImageRequest() { Username = userName, Token = token, UID = uuid, FrameNumberImage = frameNumberImage, DeleteImage = deleteImage }); HttpResponseMessage response = await client.PostAsync(Constants.AzureEndPoint_RegisterImage, new StringContent(postBody, Encoding.UTF8, "application/json")); if (response.IsSuccessStatusCode) { string str = await response.Content.ReadAsStringAsync(); // AnalyticsService.TrackEvent(str); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; FrameNumberImageResponse frameNumberImageResponse = JsonConvert.DeserializeObject <FrameNumberImageResponse>(str, settings); if (frameNumberImageResponse == null || frameNumberImageResponse?.FrameNumberImage == null) { return(new FrameNumberImage()); // empty } return(frameNumberImageResponse.FrameNumberImage); } else { string str = await response.Content.ReadAsStringAsync(); AnalyticsService.TrackEvent(str); } } catch (HttpRequestException hre) { AnalyticsService.TrackError(hre); } catch (TaskCanceledException hca) { AnalyticsService.TrackError(hca); AnalyticsService.TrackEvent("Request canceled"); } catch (Exception ex) { AnalyticsService.TrackError(ex); } finally { /*if (httpClient != null) * { * httpClient.Dispose(); * httpClient = null; * }*/ } return(new FrameNumberImage()); }
public async Task <FrameNumberImage> RegisterImage(string userName, string token, string uuid, FrameNumberImage frameNumberImage, bool deleteImage) { if (uuid == "" || frameNumberImage == null) { return(new FrameNumberImage()); } FrameNumberImageResponse response = await awsHttpClient.RegisterImage(new FrameNumberImageRequest() { Username = userName, Token = token, UID = uuid, FrameNumberImage = frameNumberImage, DeleteImage = deleteImage }); if (response == null || response?.FrameNumberImage == null) { return(new FrameNumberImage()); // empty } return(response.FrameNumberImage); }
private async void UsePhotoClicked(object obj) { if (IsBusy) { return; } IsBusy = true; string url = await Helpers.Utils.UploadFileS3(FileName); if (url != "") { var bikeDetailViewModel = ViewModelLocator.Resolve <BikeDetailViewModel>(); string uuid = Preferences.Get("UUID", ""); string user = Preferences.Get("Email", ""); string token = Preferences.Get("Token", ""); if (imageType != (int)ImageTypes.Invoice) { FrameNumberImage frameNumberImage = new FrameNumberImage() { ImageTitle = "Receipt", ImageType = imageType, ImageUrl = url }; var result = await DataStore.RegisterImage(user, token, uuid, frameNumberImage, false); if (result != null && result.ImageUrl != "") { Preferences.Set("ProfileImage", result.ImageUrl); if (bikeDetailViewModel != null) { MessagingCenter.Send(bikeDetailViewModel, MessageKeys.UpdateState, 0); } await NavigationService.GoBackAsync(); } } else // if (imageType == (int)ImageTypes.Invoice) { // Upload invoice picture as document. FrameNumberDocument frameNumberDocument = new FrameNumberDocument() { DocumentTitle = "Receipt", DocumentType = imageType, DocumentUrl = url }; var result = await DataStore.RegisterDocument(user, token, uuid, frameNumberDocument, false); if (result != null && result.DocumentUrl != "") { FrameNumberStatus fns = new FrameNumberStatus() { LastUpdateTime = DateTime.Now, Latitude = 0, Longitude = 0, LastUpdateClientID = DeviceInfo.Name, Status = (int)FrameNumberStatusType.Registered }; // Now set status to 'registered' if (await DataStore.UpdateStatus(user, token, uuid, fns)) { if (Preferences.Get("IsLoggedIn", "0") == "1") { Preferences.Set("RegisteredToBike", "1"); } } } IsBusy = false; // Update state if (bikeDetailViewModel != null) { MessagingCenter.Send(bikeDetailViewModel, MessageKeys.UpdateState, 1); } //await NavigationService.GoBackAsync(); await NavigationService.NavigateToAsync <MainViewModel>(2); } } IsBusy = false; }