Example #1
0
        public AudiosViewModel()
        {
            Title             = "Audios";
            Audios            = new ObservableCollection <Audio>();
            LoadAudiosCommand = new Command(async() => await ExecuteLoadAudiosCommand());

            MessagingCenter.Subscribe <NewAudioPage>(this, "AddAudio", async(obj) =>
            {
                try
                {
                    IsBusy    = true;
                    var audio = AudioTagHelper.Read(obj.PickedFile.FilePath, obj.PickedFile.DataArray);

                    var isAudioAdded = await AudiosRepository.AddItemAsync(audio);

                    if (isAudioAdded)
                    {
                        Audios.Add(audio);

                        var audioFile = new AudioFile(audio.Id, obj.PickedFile.DataArray);

                        var isFileAdded = await FilesService.AddItemAsync(audioFile);
                    }
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    IsBusy = false;
                }
            });
        }