From 7cb75f8d5accdf377b4bf5fa13a4b0baf818f858 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Mon, 25 Jul 2016 19:18:34 -0500 Subject: [PATCH] converted int to Guid for Id properties Signed-off-by: Matt Bruce --- FirebaseKaraoke/Extensions.cs | 21 +++++++++++++++++++++ FirebaseKaraoke/FirebaseController.cs | 9 ++++----- FirebaseKaraoke/FirebaseKaraoke.csproj | 1 + FirebaseKaraoke/Interfaces.cs | 4 ++-- KaraokePlayer/MainForm.cs | 1 + TestSelector/Form1.cs | 4 +++- 6 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 FirebaseKaraoke/Extensions.cs diff --git a/FirebaseKaraoke/Extensions.cs b/FirebaseKaraoke/Extensions.cs new file mode 100644 index 0000000..39d7b4a --- /dev/null +++ b/FirebaseKaraoke/Extensions.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Threading.Tasks; + +namespace FirebaseKaraoke.Extensions +{ + public static class StringExtension + { + public static Guid ToGUID(this string input) + { + // Create a new instance of the MD5CryptoServiceProvider object. + MD5 md5Hasher = MD5.Create(); + // Convert the input string to a byte array and compute the hash. + byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input)); + return new Guid(data); + } + } +} diff --git a/FirebaseKaraoke/FirebaseController.cs b/FirebaseKaraoke/FirebaseController.cs index 4e64234..0ac9225 100644 --- a/FirebaseKaraoke/FirebaseController.cs +++ b/FirebaseKaraoke/FirebaseController.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; using KaraokePlayer.Interfaces; using KaraokePlayer.Enums; using FireSharp.Interfaces; @@ -13,7 +11,7 @@ namespace KaraokePlayer.Classes { public class FirebaseSong : ISong { - public int Id { get; set; } + public Guid Id { get; set; } public int Order { get; set; } public string Title { get; set; } public string Artist { get; set; } @@ -24,6 +22,7 @@ namespace KaraokePlayer.Classes public class FirebaseController : IController { + public static Guid TestGuid = Guid.Parse("f1ec2c8a-6f11-4ac0-8b0e-e576d15f2759"); private IFirebaseConfig config = new FirebaseConfig { AuthSecret = "wj0ERDFZqNSysTtIXcCgCr8Itahr6pJOBeqCjvDF", @@ -48,7 +47,7 @@ namespace KaraokePlayer.Classes get { return string.Format("Controllers/{0}/CurrentSong", this.Id); } } - public int Id { get; set; } + public Guid Id { get; set; } public ISong CurrentSong { get; set; } public List PlayQueue { get; set; } @@ -60,7 +59,7 @@ namespace KaraokePlayer.Classes } } - public FirebaseController(int clientId = 1, ControllerStateChangedEventHandler stateChanged = null, ControllerSongChangedEventHandler songChanged = null, ControllerPlayQueueChangedEventHandler playQueueChanged = null) + public FirebaseController(Guid clientId, ControllerStateChangedEventHandler stateChanged, ControllerSongChangedEventHandler songChanged, ControllerPlayQueueChangedEventHandler playQueueChanged) { Id = clientId; _stateChanged = stateChanged; diff --git a/FirebaseKaraoke/FirebaseKaraoke.csproj b/FirebaseKaraoke/FirebaseKaraoke.csproj index 190ae52..f50d235 100644 --- a/FirebaseKaraoke/FirebaseKaraoke.csproj +++ b/FirebaseKaraoke/FirebaseKaraoke.csproj @@ -71,6 +71,7 @@ + diff --git a/FirebaseKaraoke/Interfaces.cs b/FirebaseKaraoke/Interfaces.cs index 0ad54e4..0d47a12 100644 --- a/FirebaseKaraoke/Interfaces.cs +++ b/FirebaseKaraoke/Interfaces.cs @@ -9,7 +9,7 @@ namespace KaraokePlayer.Interfaces { public interface ISong { - int Id { get; set; } + Guid Id { get; set; } int Order { get; set; } string Title { get; set; } string Artist { get; set; } @@ -20,7 +20,7 @@ namespace KaraokePlayer.Interfaces public interface IController { - int Id { get; set; } + Guid Id { get; set; } ISong CurrentSong { get; set; } string State { get; set; } List PlayQueue { get; set; } diff --git a/KaraokePlayer/MainForm.cs b/KaraokePlayer/MainForm.cs index 7973402..32c7bc6 100644 --- a/KaraokePlayer/MainForm.cs +++ b/KaraokePlayer/MainForm.cs @@ -35,6 +35,7 @@ namespace KaraokePlayer karaokeMP4Player.Dock = DockStyle.Fill; controller = new FirebaseController( + clientId: FirebaseController.TestGuid, stateChanged: (args) => { if (args.State == Enums.PlayerState.Play) diff --git a/TestSelector/Form1.cs b/TestSelector/Form1.cs index 1aa4a80..fac0502 100644 --- a/TestSelector/Form1.cs +++ b/TestSelector/Form1.cs @@ -1,6 +1,7 @@ using KaraokePlayer.Classes; using KaraokePlayer.Enums; using KaraokePlayer.Interfaces; +using FirebaseKaraoke.Extensions; using System; using System.Collections.Generic; using System.ComponentModel; @@ -26,6 +27,7 @@ namespace TestSelector InitializeComponent(); controller = new FirebaseController( + clientId: FirebaseController.TestGuid, stateChanged: (args) => { if (args.State == KaraokePlayer.Enums.PlayerState.Play) @@ -115,10 +117,10 @@ namespace TestSelector song.FileType = FileType.MP4; } song.Order = 1; - song.Id = new Random().Next(0, 50000); song.Title = tag.Tag.Title; song.Artist = tag.Tag.Performers[0]; song.Path = file.FullName.Replace(@"D:\KaraokeData\Karaoke\", @"Z:\"); + song.Id = song.Path.ToGUID(); controller.AddSong(song); }