Example #1
0
        private async Task CopyTracklist()
        {
            try
            {
                TracklistUpsertRequest request = new TracklistUpsertRequest()
                {
                    ListDateCreated = DateTime.Now,
                    UniqueKey       = GlobalMethods.GenerateUniqueId(),
                    TracklistName   = LoadedTracklist.TracklistName + " - Copied from " + LoadedUserProfile.Username,
                    TracklistType   = "Private",
                    UserId          = APIService.loggedProfile.UserId
                };
                var returned = await _tracklistService.Insert <Tracklist>(request);

                foreach (var item in TracksInTracklist)
                {
                    await _tracklistTrackService.Insert <TracklistTrack>(new TracklistTrackUpsertRequest()
                    {
                        DateAdded   = DateTime.Now,
                        TrackId     = item.TrackId,
                        TracklistId = returned.TracklistId
                    });
                }
                await Application.Current.MainPage.DisplayAlert("Success", "Tracklist successfully copied!", "OK");
            }
            catch (Exception ex)
            {
                await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");
            }
        }
Example #2
0
        private async Task SubmitChanges()
        {
            if (!ValidateEmpty())
            {
                await Application.Current.MainPage.DisplayAlert("Error", "No empty fields allowed", "Ok");
            }
            else if (!ValidateName())
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Tracklist name not allowed", "Ok");
            }
            else if (!ValidateKeyLength())
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Maximum length of key is 20", "Ok");
            }
            else
            {
                TracklistUpsertRequest request = new TracklistUpsertRequest()
                {
                    ListDateCreated = DateTime.Now,
                    TracklistName   = TracklistName,
                    UniqueKey       = UniqueKey,
                    UserId          = APIService.loggedProfile.UserId,
                    TracklistType   = SelectedTracklistType
                };
                var check = await _tracklistService.Get <List <Tracklist> >(new TracklistSearchRequest()
                {
                    TracklistName = TracklistName,
                    UniqueKey     = UniqueKey
                });

                if (check.Where(a => a.TracklistId != ThisTracklistId).FirstOrDefault() != null)
                {
                    await Application.Current.MainPage.DisplayAlert("Error", "Combination already exists. Please change the list name or unique key.", "OK");

                    return;
                }
                await _tracklistService.Update <Tracklist>(ThisTracklistId, request);

                await Application.Current.MainPage.DisplayAlert("Success", "Changes Submitted", "Ok");
            }
        }
        private async Task Submit()
        {
            if (!ValidateEmpty())
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Please fill out the required fields (Name and Unique Key)", "OK");

                return;
            }
            else if (!ValidateInvalidName())
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Invalid list name!", "OK");

                return;
            }
            else if (!ValidateKeyLength())
            {
                await Application.Current.MainPage.DisplayAlert("Error", "Maximum key length is 20!", "OK");

                return;
            }
            else
            {
                if (IsAlbumList)
                {
                    AlbumListUpsertRequest request = new AlbumListUpsertRequest()
                    {
                        AlbumListDescription = AlbumListDesc,
                        AlbumListName        = Name,
                        AlbumListType        = SelectedType,
                        ListDateCreated      = DateTime.Now,
                        UniqueKey            = UniqueKey,
                        UserId = APIService.loggedProfile.UserId
                    };
                    var check = await _albumListService.Get <List <AlbumList> >(new AlbumListSearchRequest()
                    {
                        AlbumListName = Name,
                        UniqueKey     = UniqueKey
                    });

                    if (check.Count > 0)
                    {
                        await Application.Current.MainPage.DisplayAlert("Error", "Combination already exists. Please change the list name or unique key.", "OK");

                        return;
                    }
                    var result = await _albumListService.Insert <AlbumList>(request);

                    await Application.Current.MainPage.DisplayAlert("Success", "New album list successfully added! To customize the list" +
                                                                    " visit the My playlists/Album Lists tab.", "OK");
                }
                else
                {
                    TracklistUpsertRequest request = new TracklistUpsertRequest()
                    {
                        ListDateCreated = DateTime.Now,
                        TracklistName   = Name,
                        TracklistType   = SelectedType,
                        UniqueKey       = UniqueKey,
                        UserId          = APIService.loggedProfile.UserId
                    };
                    var check = await _tracklistService.Get <List <Tracklist> >(new TracklistSearchRequest()
                    {
                        TracklistName = Name,
                        UniqueKey     = UniqueKey
                    });

                    if (check.Count > 0)
                    {
                        await Application.Current.MainPage.DisplayAlert("Error", "Combination already exists. Please change the list name or unique key.", "OK");

                        return;
                    }
                    var result = await _tracklistService.Insert <Tracklist>(request);

                    await Application.Current.MainPage.DisplayAlert("Success", "New tracklist successfully added! To customize the list" +
                                                                    " visit the My Tracklists/Album Lists tab.", "OK");
                }
            }
        }