private async void tirarFoto() { if (CrossMedia.Current.IsCameraAvailable && CrossMedia.Current.IsTakePhotoSupported) { var nomeArquivo = $"{DateTime.UtcNow}.jpg"; var mediaOptions = new Plugin.Media.Abstractions.StoreCameraMediaOptions { //Directory = "Cupons", Name = nomeArquivo //SaveToAlbum = true }; // Take a photo of the business receipt. var file = await CrossMedia.Current.TakePhotoAsync(mediaOptions); if (file == null) { return; } GastoInfo gasto = (GastoInfo)this.BindingContext; gasto.FotoPath = nomeArquivo; var fs = file.GetStream(); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, buffer.Length); fs.Dispose(); fs = null; gasto.FotoBase64 = Convert.ToBase64String(buffer); //DisplayAlert("Salvar em", file.Path, "OK"); var path = file.Path; _FotoImage.Source = ImageSource.FromStream(() => { var stream = file.GetStream(); file.Dispose(); return(stream); }); _FotoImage.Source = path; _FotoImage.WidthRequest = TelaUtils.LarguraSemPixel * 0.5; _FotoImage.HeightRequest = TelaUtils.LarguraSemPixel * 0.5; //var gasto = (GastoInfo)BindingContext; //gasto.Foto = Path.GetFileName(path); } else { await DisplayAlert("Dispositivo não possiu camera ou camera desativada", null, "OK"); } }
public int gravar(GastoInfo gasto) { lock (locker) { if (gasto.Id != 0) { return(database.Update(gasto)); } else { gasto.DataInclusao = DateTime.Now; return(database.Insert(gasto)); } } }
public int gravar(GastoInfo gasto) { var percurso = PercursoUtils.PercursoAtual; var local = GPSUtils.UltimaLocalizacao; if (percurso == null) { throw new Exception("Nenhum percurso sendo gravado no momento."); } if (local == null) { throw new Exception("Nenhuma posição gravada."); } gasto.IdPercurso = percurso.Id; gasto.DataInclusao = local.Tempo; return(_db.gravar(gasto)); }
public GastoNovoPage() { Title = "Novo Custo"; var gasto = new GastoInfo { DataInclusao = DateTime.Now }; var local = GPSUtils.UltimaLocalizacao; if (local != null) { gasto.Latitude = (float)local.Latitude; gasto.Longitude = (float)local.Longitude; } BindingContext = gasto; var gravarButton = new ToolbarItem { Text = "Inserir" }; gravarButton.Clicked += (sender, e) => { var novoGasto = (GastoInfo)BindingContext; var regraGasto = GastoFactory.create(); regraGasto.gravar(novoGasto); MensagemUtils.avisar("Gasto incluído com sucesso!"); ((MasterDetailPage)Application.Current.MainPage).Detail = new NavigationPage(new VelocimetroPage()); //NavigationX.create(this).PopAsync(); }; ToolbarItems.Add(gravarButton); if (TelaUtils.Orientacao == "Landscape") { _width = (int)TelaUtils.LarguraSemPixel * 0.5; } else { _width = (int)TelaUtils.LarguraSemPixel * 0.8; } inicializarComponente(); Content = new ScrollView { Orientation = ScrollOrientation.Vertical, VerticalOptions = LayoutOptions.FillAndExpand, Content = new StackLayout { BackgroundColor = Color.Transparent, Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.StartAndExpand, HorizontalOptions = LayoutOptions.CenterAndExpand, Children = { new StackLayout { Orientation = StackOrientation.Horizontal, Children = { new Image { Source = "ic_monetization_on_black_24dp.png", VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, }, _ValorEntry } }, new StackLayout() { Orientation = StackOrientation.Horizontal, Children = { new Image() { Source = "ic_event_black_24dp.png", VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, }, new DatePicker { IsVisible = true, IsEnabled = true, WidthRequest = _width, } } }, new StackLayout() { Orientation = StackOrientation.Horizontal, Children = { new Image { Source = "ic_map_black_24dp.png", VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Center }, new StackLayout { Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Start, Children = { _LocalEntry, new StackLayout { Margin = new Thickness(5, 0), Orientation = StackOrientation.Horizontal, VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Start, Spacing = 2, Children = { _LatitudeLabel, _LongitudeLabel } } } } } }, new StackLayout() { Orientation = StackOrientation.Horizontal, Children = { new Image { Source = "ic_shopping_cart_black_24dp.png", VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, }, _TipoGastoPicker } }, new StackLayout { Orientation = StackOrientation.Horizontal, Children = { new Image { Source = "ic_edit_black_24dp.png", VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, }, _ObservacaoEntry } }, new StackLayout { Orientation = StackOrientation.Horizontal, Children = { _FotoImage } } } } }; }