Ejemplo n.º 1
0
 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);
             });
         });
     });
 }
Ejemplo n.º 2
0
        public static UIImage GetBitMap(string nameFile)
        {
            var container  = new ContainerRestCon();
            var streamFoto = container.LerArquivo(nameFile);
            var teste      = NSData.FromStream(streamFoto);

            return(new UIImage(teste));
        }
Ejemplo n.º 3
0
        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; }
                }
            }
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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; }
                }
            }
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        /// <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);
            }
        }
Ejemplo n.º 8
0
        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;
            }
        }
Ejemplo n.º 9
0
        /// <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
                }
            });
        }
Ejemplo n.º 11
0
 public AsyncPhotoBlob(AzureStorage storage)
 {
     this.storage = storage;
     container    = new ContainerRestCon();
 }