/** // \fn public CalendarEvent(int id, string name, TimeSpan starttime, TimeSpan duration, int repeat, int priority, bool shuffle, bool loopatend, Playlist playlist) // // \brief Constructor. // // \author Simon Menetrey // \date 26.05.2014 // // \param id The identifier. // \param name The name. // \param starttime The starttime. // \param duration The duration. // \param repeat The repeat. // \param priority The priority. // \param shuffle true to shuffle. // \param loopatend true to loopatend. // \param playlist The playlist. **/ public CalendarEvent(int id, string name, TimeSpan starttime, TimeSpan duration, int repeat, int priority, bool shuffle, bool loopatend, Playlist playlist) { this.Id = id; this.Name = name; this.StartTime = starttime; this.Duration = duration; this.Repeat = repeat; this.Priority = priority; this.Shuffle = shuffle; this.Loopatend = loopatend; this.Playlist = playlist; }
/** // \fn public List<AudioFile> GetPlaylistContent(Playlist playlist) // // \brief Gets playlist content. // // \author Simon Menetrey // \date 26.05.2014 // // \param playlist The playlist. // // \return The playlist content (AudioFile list). **/ public List<AudioFile> GetPlaylistContent(Playlist playlist) { List<AudioFile> audioFiles = new List<AudioFile>(); foreach (string filename in playlist.AudioFileList) { foreach (AudioFile af in this.Library) { if (af.Filename == filename) audioFiles.Add(af); } } return audioFiles; }
/** // \fn public CalendarEvent(string name, TimeSpan starttime, TimeSpan duration, int repeat, int priority, bool shuffle, bool loopatend, Playlist playlist) :this(0,name,starttime,duration,repeat,priority,shuffle,loopatend,playlist) // // \brief Constructor. // // \author Simon Menetrey // \date 26.05.2014 // // \param name The name. // \param starttime The starttime. // \param duration The duration. // \param repeat The repeat. // \param priority The priority. // \param shuffle true to shuffle. // \param loopatend true to loopatend. // \param playlist The playlist. **/ public CalendarEvent(string name, TimeSpan starttime, TimeSpan duration, int repeat, int priority, bool shuffle, bool loopatend, Playlist playlist) : this(0,name,starttime,duration,repeat,priority,shuffle,loopatend,playlist) { //NO CODE }
/** // \fn public bool CreatePlaylist(string name, string webradioName, int webradioId, AudioType type, out Playlist newPlaylist) // // \brief Creates a playlist. // // \author Simon Menetrey // \date 26.05.2014 // // \param name The name. // \param webradioName Name of the webradio. // \param webradioId Identifier for the webradio. // \param type The type. // \param [out] newPlaylist The new playlist. // // \return true if it succeeds, false if it fails. **/ public bool CreatePlaylist(string name, string webradioName, int webradioId, AudioType type, out Playlist newPlaylist) { Webradio selectedWebradio = this.Webradios[webradioId]; int id = Bdd.ERROR; newPlaylist = null; if (this.IsValidFilename(name)) { string filename = DEFAULT_WEBRADIOS_FOLDER + webradioName + "/" + DEFAULT_PLAYLISTS_FOLDER + name + ".lst"; if (type == AudioType.Music) newPlaylist = new PlaylistMusic(name, filename); else newPlaylist = new PlaylistAd(name, filename); id = this.Bdd.CreatePlaylist(newPlaylist, webradioId); if (id == Bdd.ERROR) return false; else { try { newPlaylist.Id = id; newPlaylist.GenerateConfigFile(); selectedWebradio.Playlists.Add(newPlaylist); this.UpdateObservers(webradioId); return true; } catch { return false; } } } else { return false; } }
/** // \fn public bool DeletePlaylist(Playlist playlist, int webradioId) // // \brief Deletes the playlist. // // \author Simon Menetrey // \date 26.05.2014 // // \param playlist The playlist. // \param webradioId Identifier for the webradio. // // \return true if it succeeds, false if it fails. **/ public bool DeletePlaylist(Playlist playlist, int webradioId) { if (this.Bdd.DeletePlaylist(playlist.Id)) { this.Webradios[webradioId].Playlists.Remove(playlist); System.IO.File.Delete(playlist.Filename); this.UpdateObservers(webradioId); return true; } else return false; }
/** // \fn public bool RemoveFromPlaylist(Playlist playlist, Dictionary<int,string> audioFiles) // // \brief Removes from playlist. // // \author Simon Menetrey // \date 23.05.2014 // // \param playlist The playlist. // \param audioFiles The audio files. // // \return true if it succeeds, false if it fails. **/ public bool RemoveFromPlaylist(Playlist playlist, Dictionary<int,string> audioFiles) { return this.Model.RemoveFromPlaylist(audioFiles, playlist); }
/** // \fn public bool AddToPlaylist(Playlist playlist, Dictionary<int, string> audioFiles) // // \brief Adds to the playlist. // // \author Simon Menetrey // \date 26.05.2014 // // \param playlist The playlist. // \param audioFiles The audio files. // // \return true if it succeeds, false if it fails. **/ public bool AddToPlaylist(Playlist playlist, Dictionary<int, string> audioFiles) { bool state = true; foreach (KeyValuePair<int, string> audioFile in audioFiles) { if (this.Bdd.AddToPlaylist(audioFile.Key, playlist.Id)) { playlist.AudioFileList.Add(audioFile.Value); state = true; } else { state = false; break; } } playlist.GenerateConfigFile(); return state; }
/** // \fn public bool DeletePlaylist(Playlist playlist, int webradioId) // // \brief Deletes the playlist. // // \author Simon Menetrey // \date 23.05.2014 // // \param playlist The playlist. // \param webradioId Identifier of the webradio. // // \return true if it succeeds, false if it fails. **/ public bool DeletePlaylist(Playlist playlist, int webradioId) { return this.Model.DeletePlaylist(playlist, webradioId); }
/** // \fn public List<AudioFile> GetPlaylistContent(Playlist playlist) // // \brief Gets playlist content. // // \author Simon Menetrey // \date 23.05.2014 // // \param playlist The playlist. // // \return The playlist content. **/ public List<AudioFile> GetPlaylistContent(Playlist playlist) { return this.Model.GetPlaylistContent(playlist); }
/** // \fn public bool AddToPlaylist(Playlist playlist, Dictionary<int, string> audioFiles) // // \brief Adds to the playlist. // // \author Simon Menetrey // \date 23.05.2014 // // \param playlist The playlist. // \param audioFiles The audio files. // // \return true if it succeeds, false if it fails. **/ public bool AddToPlaylist(Playlist playlist, Dictionary<int, string> audioFiles) { if (playlist != null) return this.Model.AddToPlaylist(playlist, audioFiles); else return false; }
/** // \fn public int CreatePlaylist(Playlist playlist, int webradioid) // // \brief Creates a playlist. // // \author Simon Menetrey // \date 26.05.2014 // // \param playlist The playlist. // \param webradioid The webradio's id. // // \return The new playlist's id or error code. **/ public int CreatePlaylist(Playlist playlist, int webradioId) { if(this.PlaylistExist(playlist,webradioId)) return ERROR; Dictionary<string,string> data = new Dictionary<string,string>(); data.Add("name", playlist.Name); data.Add("filename", playlist.Filename); data.Add("webradioid", webradioId.ToString()); data.Add("typeid", ((int)playlist.Type).ToString()); this.Controls.Insert("tplaylist", data); SQLiteDataReader reader = this.Controls.ExecuteDataReader("SELECT id FROM tplaylist WHERE name = '" + playlist.Name + "' AND webradioid = " + webradioId.ToString() + " AND typeid = " + ((int)playlist.Type).ToString()); reader.Read(); int id = int.Parse(reader["id"].ToString()); reader.Close(); return id; }
/** // \fn public int AddGeneratedPlaylist(Playlist playlist, List<int> audioFilesId, int webradioId) // // \brief Adds a generated playlist. // // \author Simon Menetrey // \date 26.05.2014 // // \param playlist The playlist. // \param audioFilesId Identifier for the audio files. // \param webradioId Identifier for the webradio. // // \return AThe new generated playlist's id. **/ public int AddGeneratedPlaylist(Playlist playlist, List<int> audioFilesId, int webradioId) { int idPlaylist = this.CreatePlaylist(playlist, webradioId); if (idPlaylist == ERROR) return idPlaylist; foreach(int audioFileId in audioFilesId) this.AddToPlaylist(audioFileId, idPlaylist); return idPlaylist; }
/** // \fn private bool PlaylistExist(Playlist playlist, int webradioid) // // \brief Playlist exists in the db. // // \author Simon Menetrey // \date 26.05.2014 // // \param playlist The playlist. // \param webradioid The webradio's id. // // \return true if it exists, false if it doesn't exist. **/ private bool PlaylistExist(Playlist playlist, int webradioId) { SQLiteDataReader reader = this.Controls.ExecuteDataReader("SELECT COUNT(*) AS Count FROM tplaylist WHERE name = '"+playlist.Name+"' AND webradioid = "+webradioId.ToString()+" AND typeid = " + ((int)playlist.Type).ToString()); reader.Read(); bool result = Convert.ToBoolean(int.Parse(reader["Count"].ToString())); reader.Close(); return result; }
/** // \fn private void GetPlaylistContent(Playlist playlist) // // \brief Gets playlist content. // // \author Simon Menetrey // \date 23.05.2014 // // \param playlist The playlist. **/ private void GetPlaylistContent(Playlist playlist) { dgvPlaylistContent.Rows.Clear(); TimeSpan totalDuration = new TimeSpan(0, 0, 0); List<AudioFile> audioFiles = this.Controller.GetPlaylistContent(playlist); foreach (AudioFile af in audioFiles) { totalDuration += af.Duration; dgvPlaylistContent.Rows.Add(af.GetInfosArray()); } lblPlaylistDuration.Text = "Duration : " + totalDuration.ToString(); }