Esempio n. 1
0
        private void Init()
        {
            PropertyChanged += (s, e) =>
            {
                // Update IsEditable
                if (e.PropertyName == nameof(Status))
                {
                    OnPropertyChanged(nameof(IsEditable));
                }
                if (e.PropertyName == nameof(Label) || e.PropertyName == nameof(Description) || e.PropertyName == nameof(Type))
                {
                    ((Command)SaveBelegCommand).ChangeCanExecute();
                }
                //OnPropertyChanged(nameof(CanSave));
            };

            SaveBelegCommand = new Command(async() =>
            {
                Beleg beleg = this.GetBusinessObject();
                if (beleg.Thumbnail == null && beleg.Image != null)
                {
                    beleg.Thumbnail = await BelegService.CreateThumbnail(beleg.Image);
                }
                var result = Storage.Database.StoreBeleg(beleg).Result;
                if (result > 0)
                {
                    Callback();
                }
            }, () => CanSave);

            StartCameraCommand = new Command(async() =>
            {
                var img = await ImageServices.CaptureImage();
                Image   = ConvertStreamToByteArray(img);
            });

            SelectPictureCommand = new Command(async() =>
            {
                var img = await ImageServices.SelectImage();
                Image   = ConvertStreamToByteArray(img);
            });

            AddValidations();
        }