You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

105 lines
3.6 KiB

using GMCabsDriverAssistant.Services;
using GMCabsDriverAssistant.Utils;
namespace GMCabsDriverAssistantSolution.Views;
public partial class ScanDrivingLicencePage : ContentPage
{
//private FileResult drivingLicencePhoto;
private string drivingLicencePhoto;
private Stream _stream;
private GMCabsDriverService _service;
public ScanDrivingLicencePage()
{
InitializeComponent();
_service = new GMCabsDriverService();
}
private void ScanDrivingLicence_Clicked(object sender, EventArgs e)
{
try
{
if (MediaPicker.IsCaptureSupported)
{
//string action = await DisplayActionSheet("Scan Driving licence?", "Cancel", null , "Capture Photo", "From Gallery");
//if (action == "Cancel")
//{
// return;
//}
//drivingLicencePhoto = action == "Capture Photo"? await MediaPicker.CapturePhotoAsync() : await MediaPicker.PickPhotoAsync();
//new ImageCropper()
//{
// PageTitle = "Crop Photo",
// AspectRatioX = 3,
// AspectRatioY = 2,
// CropShape = ImageCropper.CropShapeType.Rectangle,
// SelectSourceTitle = "Select source",
// TakePhotoTitle = "Capture Photo",
// PhotoLibraryTitle = "From Gallery",
// Success = (imageFile) =>
// {
// Device.BeginInvokeOnMainThread(() =>
// {
// resultImage.Source = ImageSource.FromFile(imageFile);
// if (resultImage.Source != null)
// {
// drivingLicencePhoto = imageFile;
// BtnUpdateProfile.IsEnabled = true;
// }
// });
// }
//}.Show(this);
//if (drivingLicencePhoto != null)
//{
// _stream = await drivingLicencePhoto.OpenReadAsync();
// resultImage.Source = ImageSource.FromStream(() => _stream);
// if (resultImage.Source != null)
// {
// BtnUpdateProfile.IsEnabled = true;
// }
//}
}
}
catch (Exception ex) { }
}
private async void BtnUpdateProfile_Clicked(object sender, EventArgs e)
{
if (drivingLicencePhoto == null)
{
return;
}
string appToken = Preferences.Get(SecureStorageData.Token, "");
var content = new MultipartFormDataContent();
string[] res = drivingLicencePhoto.Split('/');
if (res.Length > 0)
{
string fileName = res[res.Length - 1];
content.Add(new StreamContent(System.IO.File.OpenRead(drivingLicencePhoto)), "files", fileName);
var status = await _service.UpdateProfile(appToken, content);
await DisplayAlert("Update Profile", status ? "Profile updated successful" : "Profile update failed", "OK");
if (status)
{
await Shell.Current.GoToAsync("..");
}
else
{
BtnUpdateProfile.IsEnabled = false;
resultImage.Source = null;
}
}
}
private async void BtnPageBack_Clicked(object sender, EventArgs e)
{
await Shell.Current.GoToAsync($"//{nameof(HomePage)}");
}
}