From 4fb953b9df93be797201349d70cfb7a25ee0194f Mon Sep 17 00:00:00 2001 From: marcinzelent Date: Tue, 23 May 2017 17:27:26 +0200 Subject: Reverted to using Imgur for storing images. --- .../ApartmentManager/ApartmentManager.csproj | 2 +- .../Common/ByteArrayToImageConverter.cs | 45 -------------------- .../ApartmentManager/Handler/ApartmentHandler.cs | 29 +------------ .../ApartmentManager/Model/Apartment.cs | 2 +- .../ApartmentManager/Model/Resident.cs | 2 +- ApartmentManager/ApartmentManager/Model/User.cs | 2 +- .../Persistency/ImgurPhotoUploader.cs | 48 ++++++++++++++++++++++ .../View/ApartmentResidentsPage.xaml | 6 +-- ApartmentManager/HousingWebApi/DataModel.cs | 24 +++++++++++ .../HousingWebApi/HousingWebApi.csproj | 23 ++++++----- ApartmentManager/HousingWebApi/Models/Apartment.cs | 3 +- .../HousingWebApi/Models/ChangeDocument.cs | 3 +- .../HousingWebApi/Models/DefectPicture.cs | 3 +- ApartmentManager/HousingWebApi/Models/PastUser.cs | 3 +- ApartmentManager/HousingWebApi/Models/Resident.cs | 3 +- ApartmentManager/HousingWebApi/Models/User.cs | 3 +- 16 files changed, 102 insertions(+), 99 deletions(-) delete mode 100644 ApartmentManager/ApartmentManager/Common/ByteArrayToImageConverter.cs create mode 100644 ApartmentManager/ApartmentManager/Persistency/ImgurPhotoUploader.cs diff --git a/ApartmentManager/ApartmentManager/ApartmentManager.csproj b/ApartmentManager/ApartmentManager/ApartmentManager.csproj index e628635..f267a50 100644 --- a/ApartmentManager/ApartmentManager/ApartmentManager.csproj +++ b/ApartmentManager/ApartmentManager/ApartmentManager.csproj @@ -98,7 +98,6 @@ AppShell.xaml - @@ -106,6 +105,7 @@ + diff --git a/ApartmentManager/ApartmentManager/Common/ByteArrayToImageConverter.cs b/ApartmentManager/ApartmentManager/Common/ByteArrayToImageConverter.cs deleted file mode 100644 index 64526a1..0000000 --- a/ApartmentManager/ApartmentManager/Common/ByteArrayToImageConverter.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Windows.Storage; -using Windows.Storage.Streams; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Media.Imaging; - -namespace ApartmentManager.Common -{ - class ByteArrayToImageConverter : IValueConverter - { - public object Convert(object value, Type targetType, object parameter, string language) - { - if (value != null) - { - BitmapImage image = new BitmapImage(); - using (InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream()) - { - stream.AsStreamForWrite().Write((byte[])value, 0, ((byte[])value).Length); - image.SetSource(stream); - } - return image; - } - else return null; - } - - public object ConvertBack(object value, Type targetType, object parameter, string language) - { - throw new NotImplementedException(); - } - - public async Task ConvertToByte(object value, Type targetType, object parameter, string language) - { - IRandomAccessStream random = await RandomAccessStreamReference.CreateFromFile((StorageFile)value).OpenReadAsync(); - Windows.Graphics.Imaging.BitmapDecoder decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(random); - Windows.Graphics.Imaging.PixelDataProvider pixelData = await decoder.GetPixelDataAsync(); - byte[] bytes = pixelData.DetachPixelData(); - return bytes; - } - } -} diff --git a/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs b/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs index 79b1682..c5dd6f0 100644 --- a/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs +++ b/ApartmentManager/ApartmentManager/Handler/ApartmentHandler.cs @@ -144,41 +144,14 @@ namespace ApartmentManager.Handler { try { - //Create new file picker - FileOpenPicker fp = new FileOpenPicker() - { - SuggestedStartLocation = PickerLocationId.PicturesLibrary, - ViewMode = PickerViewMode.Thumbnail, - CommitButtonText = "Upload" - }; - fp.FileTypeFilter.Add(".jpg"); - fp.FileTypeFilter.Add(".jpeg"); - fp.FileTypeFilter.Add(".png"); - fp.FileTypeFilter.Add(".gif"); - fp.FileTypeFilter.Add(".apng"); - fp.FileTypeFilter.Add(".tiff"); - fp.FileTypeFilter.Add(".tif"); - fp.FileTypeFilter.Add(".bmp"); - fp.FileTypeFilter.Add(".pdf"); - fp.FileTypeFilter.Add(".xcf"); - fp.FileTypeFilter.Add(".webp"); - - //Get image file with picker - StorageFile file = await fp.PickSingleFileAsync(); - - ByteArrayToImageConverter converter = new ByteArrayToImageConverter(); - ApartmentViewModel.NewResident.Picture = (byte[]) await converter.ConvertToByte(file, typeof(System.Byte), null, ""); - + ApartmentViewModel.NewResident.Picture = await ImgurPhotoUploader.UploadPhotoAsync(); var tmp = ApartmentViewModel.NewResident; ApartmentViewModel.NewResident = new Resident(); ApartmentViewModel.NewResident = tmp; } catch (Exception e) { - - } - } } } diff --git a/ApartmentManager/ApartmentManager/Model/Apartment.cs b/ApartmentManager/ApartmentManager/Model/Apartment.cs index 06b427d..74fe410 100644 --- a/ApartmentManager/ApartmentManager/Model/Apartment.cs +++ b/ApartmentManager/ApartmentManager/Model/Apartment.cs @@ -8,7 +8,7 @@ public double? MonthlyCharge { get; set; } public int? Floor { get; set; } public string Address { get; set; } - public byte[] PlanPicture { get; set; } + public string PlanPicture { get; set; } public Apartment() { } diff --git a/ApartmentManager/ApartmentManager/Model/Resident.cs b/ApartmentManager/ApartmentManager/Model/Resident.cs index d3d18d3..ac20ffa 100644 --- a/ApartmentManager/ApartmentManager/Model/Resident.cs +++ b/ApartmentManager/ApartmentManager/Model/Resident.cs @@ -11,7 +11,7 @@ namespace ApartmentManager.Model public DateTime BirthDate { get; set; } public string Phone { get; set; } public string Email { get; set; } - public byte[] Picture { get; set; } + public string Picture { get; set; } public Resident() { diff --git a/ApartmentManager/ApartmentManager/Model/User.cs b/ApartmentManager/ApartmentManager/Model/User.cs index ea0e004..42964af 100644 --- a/ApartmentManager/ApartmentManager/Model/User.cs +++ b/ApartmentManager/A