public ItemsPage(PictureService picService)
        {
            InitializeComponent();

            BindingContext = this.viewModel = new ItemsViewModel(picService);
            p = picService;
        }
 public ItemDetailViewModel(PictureService _picService, PicItem item = null)
 {
     Item          = item;
     picService    = _picService;
     StItems       = new List <ST>();
     FolioItems    = new List <Folio>();
     St_names      = new ObservableRangeCollection <string>();
     result_insert = PostResult;
     //stDataService = _stDataService;
     LoadItemsCommand = new Command(async() => await ExecuteLoadItems());
 }
        public ItemsViewModel(PictureService _picService)
        {
            Title            = "Fotografias";
            picService       = _picService;
            Items            = new ObservableRangeCollection <PicItem>();
            StItems          = new List <ST>();
            LoadItemsCommand = new Command(async() => await ExecuteLoadItemsCommand());
            //RemoveItemCommand = new Command(async () => await ExecuteRemoveItemCommand());

            MessagingCenter.Subscribe <NewItemPage, PicItem>(this, "AddItem", async(obj, item) =>
            {
                var _item = item as PicItem;
                Items.Add(_item);
                Items.OrderByDescending(x => x.CreatedOn);
                await picService.AddItemAsync(_item);
            });
        }
Beispiel #4
0
        public App(SQLiteConnection conn)
        {
            InitializeComponent();
            picService = new PictureService(conn);

            if (UseMockDataStore)
            {
                //DependencyService.Register<MockDataStore>();
                DependencyService.Register <PictureService>();
                DependencyService.Register <STDataService>();
            }
            else
            {
                DependencyService.Register <CloudDataStore>();
            }
            SetMainPage();
        }
        async Task <Image> TakePicture()
        {
            if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsPickPhotoSupported)
            {
                //DisplayAlert("No Camera", ":( No camera avaialble.", "OK");
            }
            var fileName = System.DateTime.Now.Ticks.ToString();
            var file     = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
            {
                Directory = "Sample",
                Name      = fileName
            });

            if (file == null)
            {
                return(new Image());
            }

            //DisplayAlert("File Location", file.Path, "OK");
            Console.WriteLine(file.Path);
            var image = new Image {
                Aspect = Aspect.AspectFit
            };

            image.Source = ImageSource.FromStream(() =>
            {
                var stream = file.GetStream();
                file.Dispose();
                return(stream);
            });

            var picService = new PictureService();

            picService.AddItemAsync(new PicItem
            {
                FileName  = fileName,
                Sent      = false,
                CreatedOn = DateTime.Now
            });

            return(image);
        }