コード例 #1
0
ファイル: MusicController.cs プロジェクト: ireenna/MusicApi
        public async Task <ObjectResult> GetFavorite([FromBody] User item)
        {
            DBListofFavs dBUserItemsDBFind = JsonConvert.DeserializeObject <DBListofFavs>(System.IO.File.ReadAllText(path));

            bool contains = false;
            int  indx     = 0;

            for (int i = 0; i < dBUserItemsDBFind.dbresults.Count; i++)
            {
                if (dBUserItemsDBFind.dbresults[i].id == item.Id)
                {
                    indx     = i;
                    contains = true;
                    break;
                }
            }

            if (contains == false)
            {
                return(new ObjectResult("BAD"));
            }
            else
            {
                return(new ObjectResult(dBUserItemsDBFind.dbresults[indx].jsresults));
            }
        }
コード例 #2
0
ファイル: MusicController.cs プロジェクト: ireenna/MusicApi
        public async Task <ObjectResult> AddFavorite([FromBody] User item)
        {
            string link = commands.GetTrack(item);

            string response;

            using var client = new HttpClient();
            response         = await client.GetStringAsync(link);

            User useritem = JsonConvert.DeserializeObject <User>(response);

            ClassResults searchtrack = JsonConvert.DeserializeObject <ClassResults>(response);

            if (searchtrack.results.trackmatches.track.Count == 0)
            {
                return(new ObjectResult("It's bad"));
            }

            for (int i = 0; i < searchtrack.results.trackmatches.track.Count - 1; i++)
            {
                //...
                if (searchtrack.results.trackmatches.track[i].name == item.Name && searchtrack.results.trackmatches.track[i].artist == item.Artist)
                {
                    SearchTrackMain dbtrack = searchtrack.results.trackmatches.track[i];
                    searchtrack.results.trackmatches.track.Clear();
                    searchtrack.results.trackmatches.track.Add(dbtrack);

                    DBFavs dbfavs = new DBFavs();
                    dbfavs.id = item.Id;
                    dbfavs.jsresults.Add(searchtrack.results.trackmatches.track[i]);


                    DBListofFavs dBUserItemsDB = new DBListofFavs();
                    dBUserItemsDB.dbresults.Add(dbfavs);
                    DBListofFavs dBUserItemsDBFind = JsonConvert.DeserializeObject <DBListofFavs>(System.IO.File.ReadAllText(path));

                    bool contains = false;
                    int  indx     = 0;

                    for (int j = 0; j < dBUserItemsDBFind.dbresults.Count; j++)
                    {
                        if (dBUserItemsDBFind.dbresults[j].id == item.Id)
                        {
                            indx     = j;
                            contains = true;
                            break;
                        }
                    }

                    if (contains == false)
                    {
                        dBUserItemsDBFind.dbresults.Add(dbfavs);
                        System.IO.File.WriteAllText(path, JsonConvert.SerializeObject(dBUserItemsDBFind));
                    }
                    else
                    {
                        bool TrackContains = false;
                        List <SearchTrackMain> userItemadding = dBUserItemsDBFind.dbresults[indx].jsresults;
                        dBUserItemsDBFind.dbresults[indx].jsresults = userItemadding;
                        for (int k = 0; k < dBUserItemsDBFind.dbresults[indx].jsresults.Count; k++)
                        {
                            if (dBUserItemsDBFind.dbresults[indx].jsresults[k].name == dbtrack.name & dBUserItemsDBFind.dbresults[indx].jsresults[k].artist == dbtrack.artist)
                            {
                                TrackContains = true;
                            }
                        }

                        if (TrackContains == false)
                        {
                            dBUserItemsDBFind.dbresults[indx].jsresults.Add(dbtrack);
                            System.IO.File.WriteAllText(path, JsonConvert.SerializeObject(dBUserItemsDBFind));
                            break;
                        }
                        else
                        {
                            return(new ObjectResult("BAD")); //уже есть в списке
                        }
                    }
                    break;
                }
            }
            return(new ObjectResult("OK"));
        }