Beispiel #1
0
        private async Task OnTapped()
        {
            Image = await UploadImageHelper.UploadImage(Image);

            var request = new PlaylistUpsertRequest()
            {
                Name      = Playlist.Name,
                CreatedAt = Playlist.CreatedAt,
                UserID    = Playlist.UserID,
                Image     = Image
            };

            await _service.Update <Playlist>(Playlist.ID, request);
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                var playlistTrack = playlistTracks.Select(i => i.TrackID).ToList();

                var request = new PlaylistUpsertRequest
                {
                    Name   = txtName.Text,
                    Image  = ImageHelper.SystemDrawingToByteArray(pbPlaylistPicture.Image),
                    Tracks = playlistTrack,
                };

                if (ID.HasValue)
                {
                    var tracksToDelete = _playlist.PlaylistTracks
                                         .Where(i => !playlistTracks.Any(id => id.TrackID == i.TrackID))
                                         .Select(i => i.TrackID)
                                         .ToList();

                    request.TracksToDelete = tracksToDelete;
                    request.UserID         = _playlist.UserID;
                    request.Username       = _playlist.User.Username;
                    request.CreatedAt      = _playlist.CreatedAt;

                    await playlistService.Update <MPlaylist>(ID.Value, request);

                    MessageBox.Show("Playlist Updated Successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    PanelHelper.SwapPanels(this.Parent, this, new PlaylistList());
                }
                else
                {
                    request.CreatedAt = DateTime.Now.ToString();
                    request.UserID    = SignedInUser.User.UserID;
                    request.Username  = SignedInUser.User.Username;
                    await playlistService.Insert <MPlaylist>(request);

                    MessageBox.Show("Playlist Added Successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    PanelHelper.SwapPanels(this.Parent, this, new PlaylistList());
                }
            }
        }
        private async Task SavePlaylist()
        {
            try
            {
                var playlist = new PlaylistUpsertRequest()
                {
                    UserID    = SignedInUser.User.UserID,
                    Name      = name,
                    Image     = image,
                    CreatedAt = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss")
                };

                await playlistService.Insert <MPlaylist>(playlist);

                await Application.Current.MainPage.DisplayAlert("Success", "Playlist Created Successfully.", "OK");
            }
            catch
            {
            }
        }
        private async void RemoveTrack_Clicked(object sender, EventArgs e)
        {
            var button  = sender as ImageButton;
            var trackVM = button.BindingContext as TrackVM;

            var request = new PlaylistUpsertRequest()
            {
                Name           = model.Playlist.Name,
                Image          = model.Playlist.Image,
                UserID         = model.Playlist.UserID,
                CreatedAt      = model.Playlist.CreatedAt,
                TracksToDelete = new List <int>()
                {
                    trackVM.Track.TrackID
                }
            };

            await playlistService.Update <MPlaylist>(model.Playlist.PlaylistID, request);

            model.tracksList.Remove(trackVM);
        }
        private async void btnSave_Click(object sender, EventArgs e)
        {
            if (ValidateChildren())
            {
                var playlistTracks = _playlistTracks.Select(i => i.ID).ToList();


                var request = new PlaylistUpsertRequest
                {
                    Name   = Convert.ToString(txtName.Text),
                    Image  = ImageHelper.SystemDrawingToByteArray(pbPlaylistImage.Image),
                    Tracks = playlistTracks
                };

                if (_ID.HasValue)
                {
                    var tracksToDelete = _playlist.PlaylistTracks
                                         .Where(i => !playlistTracks.Any(j => j.Equals(i.TrackID)))
                                         .Select(i => i.TrackID)
                                         .ToList();

                    request.TracksToDelete = tracksToDelete;
                    request.UserID         = _playlist.UserID;
                    request.CreatedAt      = _playlist.CreatedAt;

                    await _playlistApiService.Update <Model.Playlist>(_ID.Value, request);
                }
                else
                {
                    request.CreatedAt = DateTime.Now.ToString();
                    request.UserID    = SignedInUserHelper.User.ID;
                    await _playlistApiService.Insert <Model.Playlist>(request);

                    PanelHelper.SwapPanels(this.Parent, this, new ucPlaylistUpsert());
                }

                MessageBox.Show("Success", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }