EventHandler ClickCamera() { return((sender, e) => { TakePicture(this, (obj) => { var photo = obj.ValueForKey(new NSString("UIImagePickerControllerOriginalImage")) as UIImage; var ids = new List <string>(); var photosUrl = new List <string>(); photo = photo.Scale(new CGSize(photo.Size.Width * 0.2, photo.Size.Height * 0.2)); using (var imgData = photo.AsJPEG(0.7f)) { var container = new ContainerRestCon(); foreach (var id in modelPCL.infoUsuario) { ids.Add(id.ID); photosUrl.Add(container.GravarArquivo(imgData.AsStream(), id.ID + ".JPEG")); } } InvokeOnMainThread(delegate { modelPCL.dbPdvs.InsertFotoProfile(photosUrl, ids); modelPCL.infoUsuario = modelPCL.dbPdvs.GetUserInfoLogged(); profileAvatar.SetImage(GetBitMap(modelPCL.infoUsuario[0].AVATAR), UIControlState.Normal); }); }); }); }
public static UIImage GetBitMap(string nameFile) { var container = new ContainerRestCon(); var streamFoto = container.LerArquivo(nameFile); var teste = NSData.FromStream(streamFoto); return(new UIImage(teste)); }
static void UploadImages() { var container = new ContainerRestCon(); var fotos = container.ListFotos(); var infoUser = new List <TB_USUARIO>(); infoUser = model.db.SelectInfoDeUsuarios(); if (infoUser != null) { foreach (var item in infoUser) { try { if (storage == null) { storage = new AzureStorage(); } if (storage.clientAzureStorage == null) { storage = new AzureStorage(); } foreach (var foto in fotos) { if (foto.Contains("VISITA")) { using (var img = container.LerArquivo(foto)) { if (img != null) { storage.UploadImage(img, foto, item.SERVIDOR); container.DeleteArquivo(foto); } } } } if (item.AVATAR_STATUS != (int)StatusAPI.CONCLUIDO && item.AVATAR != null) { using (var img = container.LerArquivo(item.AVATAR)) { if (img != null) { storage.UploadImage(img, item.AVATAR, item.SERVIDOR); item.AVATAR_STATUS = (int)StatusAPI.CONCLUIDO; model.db.AtualizaUserInfo(item); } } } #if !DEBUG MetricsManager.TrackEvent("UploadImage"); #endif } catch (BadRequestException) { storage = null; } catch (UnauthorizedException) { storage = null; } catch (ArgumentNullException) { storage = null; } } } }
public Bitmap GetBitMap(string nameFile) { var container = new ContainerRestCon(); var streamFoto = container.LerArquivo(nameFile); var option = new BitmapFactory.Options { InSampleSize = 4 }; option.InPreferredConfig = Bitmap.Config.Rgb565; return(BitmapFactory.DecodeStream(streamFoto, null, option)); }
static void UploadImages() { var container = new ContainerRestCon(); var fotos = container.ListFotos(); var infoUser = model.db.SelectInfoDeUsuarios(); if (infoUser != null) { foreach (var item in infoUser) { try { if (storage == null) { storage = new AzureStorage(); } if (storage.clientAzureStorage == null) { storage = new AzureStorage(); } foreach (var foto in fotos) { if (foto.Contains("VISITA")) { var asyncPhoto = new AsyncPhotoBlob(storage); var listObjects = new Java.Lang.Object[] { foto, item.SERVIDOR, false }; asyncPhoto.Execute(listObjects); } } if (item.AVATAR_STATUS != (int)StatusAPI.CONCLUIDO && item.AVATAR != null) { var asyncPhotoProfile = new AsyncPhotoBlob(storage); var listObjects = new Java.Lang.Object[] { item.AVATAR, item.SERVIDOR, true }; asyncPhotoProfile.Execute(listObjects); item.AVATAR_STATUS = (int)StatusAPI.CONCLUIDO; model.db.AtualizaUserInfo(item); } MetricsManager.TrackEvent("UploadImage"); } catch (BadRequestException) { storage = null; } catch (UnauthorizedException) { storage = null; } catch (ConnectException) { storage = null; } catch (ArgumentNullException) { storage = null; } } } }
public TB_USUARIO GetAvatarDeUsuario(TB_USUARIO tableInfo) { var containerLocal = new ContainerRestCon(); var arquivo = containerLocal.GetNomeArquivo(tableInfo.ID + ".JPEG"); try { if (arquivo == null) { tableInfo.AVATAR = new AzureStorage().DownloadImage(tableInfo.ID + ".JPEG", tableInfo.SERVIDOR); return(tableInfo); } tableInfo.AVATAR = arquivo; } catch (Container404Exception) { arquivo = null; } return(tableInfo); }
/// <summary> /// Insere fotos que sobrescrevem a outra. /// </summary> /// <returns>url da foto</returns> /// <param name="nameFile">Nome do Arquivo.</param> internal List <string> PerformOnActivity(List <string> nameFile) { var container = new ContainerRestCon(); var contentUri = Android.Net.Uri.FromFile(fotoDir); var foto = LoadAndResizeBitmap(contentUri.Path); var ei = new ExifInterface(contentUri.Path); var orientation = ei.GetAttributeInt(ExifInterface.TagOrientation, (int)Orientation.Undefined); switch (orientation) { case (int)Orientation.Rotate90: foto = RotateImage(foto, 90); break; case (int)Orientation.Rotate180: foto = RotateImage(foto, 180); break; case (int)Orientation.Rotate270: foto = RotateImage(foto, 270); break; case (int)Orientation.Normal: break; } using (var stream = new MemoryStream()) { var urls = new List <string>(); foto.Compress(Bitmap.CompressFormat.Jpeg, 70, stream); foreach (var item in nameFile) { urls.Add(container.GravarArquivo(stream, item + "." + Bitmap.CompressFormat.Jpeg)); } fotoDir.Delete(); foto = null; GC.Collect(); return(urls); } }
void GetLogoEmpresa(string empresa, TB_USUARIO tableInfo) { var containerLocal = new ContainerRestCon(); var arquivo = containerLocal.GetNomeArquivo(empresa + ".jpg"); try { if (arquivo == null) { var modelSync = new SyncronizerModel() { dbCache = new CacheDA(Sqlite_IOS.DB.dataBase) }; new AzureStorage().DownloadImage(empresa + ".jpg", tableInfo.SERVIDOR); } } catch (Container404Exception) { arquivo = null; } }
/// <summary> /// Insere fotos que nao sobrescrevem a outra ( usa o timeStamp para diferenciar ) /// </summary> /// <returns>url da foto</returns> /// <param name="nameFile">Nome do arquivo</param> /// <param name="timeStamp">Data atualizada</param> internal string PerformOnActivity(string nameFile, DateTime timeStamp) { var container = new ContainerRestCon(); var contentUri = Android.Net.Uri.FromFile(fotoDir); var foto = LoadAndResizeBitmap(contentUri.Path); var ei = new ExifInterface(contentUri.Path); var orientation = ei.GetAttributeInt(ExifInterface.TagOrientation, (int)Orientation.Undefined); switch (orientation) { case (int)Orientation.Rotate90: foto = RotateImage(foto, 90); break; case (int)Orientation.Rotate180: foto = RotateImage(foto, 180); break; case (int)Orientation.Rotate270: foto = RotateImage(foto, 270); break; case (int)Orientation.Normal: break; } using (var stream = new MemoryStream()) { foto.Compress(Bitmap.CompressFormat.Jpeg, 70, stream); var url = container.GravarArquivo(stream, nameFile + "_TIMESTAMP_" + timeStamp.Ticks + "." + Bitmap.CompressFormat.Jpeg); fotoDir.Delete(); foto = null; GC.Collect(); return(url); } }
void TakePhoto(string typePhoto) { Camera.TakePicture(this, (obj) => { var photo = obj.ValueForKey(new NSString("UIImagePickerControllerOriginalImage")) as UIImage; photo = photo.Scale(new CoreGraphics.CGSize(photo.Size.Width * 0.2, photo.Size.Height * 0.2)); using (var imgData = photo.AsJPEG(0.7f)) { var container = new ContainerRestCon(); var newName_Foto = "VISITAS_" + IdPdv; if (!string.IsNullOrEmpty(IdProduto)) { newName_Foto += "_PRODUTO_" + IdProduto; } newName_Foto += "_TIPO_" + typePhoto + "_TIMESTAMP_" + DateTime.Now.Ticks + ".JPEG"; newName_Foto = newName_Foto.Replace(" ", "-"); container.GravarArquivo(imgData.AsStream(), newName_Foto); #if !DEBUG HockeyApp.MetricsManager.TrackEvent("FotoSucesso"); #endif } }); }
public AsyncPhotoBlob(AzureStorage storage) { this.storage = storage; container = new ContainerRestCon(); }