private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { timer1.Stop(); CompletedMessage = new List <string>(); Errors = new List <string>(); if (!Op.Success) { Errors = this.Op.GetAllErrorsAndExceptions(); } TimeSpan ts = DateTime.Now.Subtract(StartTime); string msg = "DB Load complete!\n" + "Number of mp3 files: " + ddlbMp3s.LbList.Count + "\n" + "Total execution time (s): " + ts.Seconds.ToString(); CompletedMessage.Add("DB Load complete"); CompletedMessage.Add("Number of mp3 files: " + ddlbMp3s.LbList.Count); CompletedMessage.Add("Total execution time (s): " + ts.Seconds.ToString()); rtbMessages.Text = BCHUtilities.ListToString(CompletedMessage, "\n"); progressBar1.Value = ddlbMp3s.LbList.Count; rtbMessages.Text += Op.GetAllMessages("\n"); }
private string GetSongs(iTunesSongs songs, string plName = "", string delim = "\t") { StringBuilder sb = new StringBuilder(); int i = 0; if (plName.Trim().Length > 0) { sb.Append(plName + "\n"); } foreach (var song in songs.iTunesSongList) { Dictionary <string, string> dict = BCHUtilities.GetObjectPropertyValueList(song); if (i == 0) { foreach (var pair in dict) { sb.Append(pair.Key + delim); } sb.Append("\n"); } i++; foreach (var pair in dict) { sb.Append(pair.Value + delim); } sb.Append("\n"); } return(sb.ToString()); }
private void SaveMp3IdInfo() { ID3Info id3 = new ID3Info(ddtbMp3File.ItemText, true); try { id3.ID3v1Info.TrackNumber = BCHUtilities.IsNumeric(tbTrack3v1.Text) ? byte.Parse(tbTrack3v1.Text) : byte.Parse("1"); id3.ID3v1Info.Title = tbTitle3v1.Text; id3.ID3v1Info.Artist = tbArtist3v1.Text; id3.ID3v1Info.Album = tbAlbum3v1.Text; id3.ID3v1Info.Year = tbYear3v1.Text; id3.ID3v1Info.Comment = tbComment3v1.Text; id3.ID3v1Info.Genre = Convert.ToByte(cbGenre3v1.GenreIndex); id3.ID3v2Info.SetTextFrame("TRCK", tbTrack3v2.Text); id3.ID3v2Info.SetTextFrame("TIT2", tbTitle3v2.Text); id3.ID3v2Info.SetTextFrame("TPE1", tbArtist3v2.Text); id3.ID3v2Info.SetTextFrame("TALB", tbAlbum3v2.Text); id3.ID3v2Info.SetTextFrame("TYER", tbYear3v2.Text); id3.ID3v2Info.SetTextFrame("WCOM", tbComment3v2.Text); id3.ID3v2Info.SetTextFrame("TCON", cbGenre3v2.Genre); id3.ID3v2Info.HaveTag = true; id3.ID3v1Info.HaveTag = true; id3.Save(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private string ValidateAndInsertParamList(string sql, ref Dictionary <string, SqlScriptParameter> paramList, ref Dictionary <string, string> sqlPrmNameValueList, ref OperationResult op) { StringBuilder sb = new StringBuilder(); sb.Append(sql); if (paramList.Count != sqlPrmNameValueList.Count) { op.AddError("Number of given parameters do not match what is needed!"); return(string.Empty); } foreach (KeyValuePair <string, SqlScriptParameter> item in paramList) { if (!sqlPrmNameValueList.ContainsKey(item.Key)) { op.AddError("One or more parameters are missing"); return(string.Empty); } string val = sqlPrmNameValueList[item.Key]; if ((item.Value.Type == SqlScriptParameterTypeEnum.Decimal && !BCHUtilities.IsNumeric(val)) || (item.Value.Type == SqlScriptParameterTypeEnum.Integer && !BCHUtilities.IsInteger(val))) { op.AddError("One or more parameters are not the correct type"); return(string.Empty); } sb.Replace(item.Value.Marker, val); } return(sb.ToString()); }
public void SetControl() { string dbFile = BCHUtilities.GetConfigValue("MP3DBFile", 0, ".MDB", 1, true, false); this.MP3DBExists = File.Exists(dbFile); this.MP3DBFileName = MP3DBExists ? dbFile : string.Empty; }
private void TestMP3Parcing() { OperationResult op = new OperationResult(); string fileNamePath = @"H:\Barry Hill\My Music\Music\R&B\Anita Baker\Giving You the Best That I Got\Anita Baker-01--Priceless.mp3"; string mscRtDir = @"H:\Barry Hill\My Music\Music"; textBox1.Text = fileNamePath; MP3FileDataType mp3 = BCHMP3Utilities.ConvertFileNameToMP3InfoBCHFrmtWithDirInfo(fileNamePath, mscRtDir, ref op); Dictionary <string, string> dict = BCHUtilities.GetObjectNamePropDict <MP3FileDataType>(mp3, ref op); textBox2.Text = BCHUtilities.DictionaryToString(dict, ";"); listBox1.DataSource = dict.Values.ToList <string>(); }
public static string AddColumnRow(DataTable dt, ref OperationResult op) { StringBuilder sb = new StringBuilder(); foreach (DataColumn column in dt.Columns) { Type t = column.DataType; sb.Append(column.ColumnName + "||" + BCHUtilities.GetPdbType(column.DataType) + "\t"); } if (sb.ToString().EndsWith("\t")) { sb = new StringBuilder(sb.ToString().TrimEnd('\t')); } return(sb.ToString()); }
public void InsertMP3Artists(MP3FileDataType mp3, ref OperationResult op) { if (this.DataStore == null) { op.AddError("DataStore not set!"); return; } DataStore ds = this.DataStore; Dictionary <string, string> parms = new Dictionary <string, string>(); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetFileInfo_File), mp3.FileName); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetFileInfo_Path), mp3.FilePath); DataTable dt = ds.ExecuteSql(ds.Conn, SqlScriptEnum.GetFileInfo, parms, ref op); if (!op.Success) { return; } if (dt.Rows.Count < 1) { op.AddError(mp3.FileNamePath + " mp3 file info does not exists!"); return; } parms = new Dictionary <string, string>(); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetMP3byFilePath_File), mp3.FileName); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetMP3byFilePath_Path), mp3.FilePath); dt = ds.ExecuteSql(ds.Conn, SqlScriptEnum.GetMP3byFilePath, parms, ref op); if (!op.Success) { return; } if (dt.Rows.Count < 1) { op.AddError(mp3.FileNamePath + " mp3 info not exists!"); return; } int?mid = BCHUtilities.GetInteger(dt.Rows[0]["Mp3Info_Id"].ToString()); foreach (string artist in mp3.Artists) { parms = new Dictionary <string, string>(); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetArtist_File), mp3.FileName); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetArtist_Path), mp3.FilePath); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetArtist_Artist), artist.Trim()); dt = ds.ExecuteSql(ds.Conn, SqlScriptEnum.GetArtist, parms, ref op); if (!op.Success) { return; } if (dt.Rows.Count > 0) { op.AddError(mp3.FileNamePath + ", Artist: " + artist + " mp3 already exists!"); break; } parms = new Dictionary <string, string>(); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertArtist_Mp3Info_Id), mid.ToString()); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertArtist_Artist), string.IsNullOrEmpty(artist.Trim()) ? null : artist.Trim()); ds.ExecuteSql(ds.Conn, SqlScriptEnum.InsertArtist, parms, ref op); if (!op.Success) { return; } } }
public void InsertMP3Info(MP3FileDataType mp3, ref OperationResult op) { if (this.DataStore == null) { op.AddError("DataStore not set!"); return; } SetConnection(ref op); if (!op.Success) { return; } DataStore ds = this.DataStore; Dictionary <string, string> parms = new Dictionary <string, string>(); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetFileInfo_File), mp3.FileName); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetFileInfo_Path), mp3.FilePath); DataTable dt = ds.ExecuteSql(ds.Conn, SqlScriptEnum.GetFileInfo, parms, ref op); if (!op.Success) { return; } if (dt.Rows.Count < 1) { op.AddError(mp3.FileNamePath + " mp3 file info does not exists!"); return; } int?fid = BCHUtilities.GetInteger(dt.Rows[0]["FileInfo_Id"].ToString()); parms = new Dictionary <string, string>(); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetMP3byFilePath_File), mp3.FileName); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.GetMP3byFilePath_Path), mp3.FilePath); dt = ds.ExecuteSql(ds.Conn, SqlScriptEnum.GetMP3byFilePath, parms, ref op); if (!op.Success) { return; } if (dt.Rows.Count > 0) { op.AddError(mp3.FileNamePath + " mp3 already exists!"); return; } parms = new Dictionary <string, string>(); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertMP3_Album), string.IsNullOrEmpty(mp3.Album) ? null : mp3.Album.Trim()); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertMP3_Comments), string.IsNullOrEmpty(mp3.Comments) ? null : mp3.Comments.Trim()); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertMP3_FileInfo_Id), fid.ToString()); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertMP3_Genre), string.IsNullOrEmpty(mp3.Genre) ? null : mp3.Genre.Trim()); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertMP3_Song_Numeraton), string.IsNullOrEmpty(mp3.SongNumeration) ? null : mp3.SongNumeration.Trim()); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertMP3_Song_Tile), string.IsNullOrEmpty(mp3.SongTitle) ? null : mp3.SongTitle.Trim()); parms.Add(ds.GetSqlScriptParam(SqlParamScriptEnum.InsertMP3_Track), mp3.Track == null ? null : mp3.Track.ToString()); ds.ExecuteSql(ds.Conn, SqlScriptEnum.InsertMP3, parms, ref op); if (!op.Success) { return; } }