Did some preliminary streaming tests from an mobile app and the functionality works. it is a little rough but it can be smoothed out. Created manager classes to abstract functionality from the SongManager class. #7

This commit is contained in:
amazing-username
2019-05-26 22:04:30 +00:00
parent 05a33d4d9e
commit a772627abc
7 changed files with 121 additions and 18 deletions
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using Configuration;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Models.Context;
namespace Icarus.Controllers.Managers
{
public class AlbumManager : BaseManager
{
#region Fields
#endregion
#region Properties
#endregion
#region Constructors
#endregion
#region Methods
#endregion
}
}
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using Configuration;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Models.Context;
namespace Icarus.Controllers.Managers
{
public class ArtistManager : BaseManager
{
#region Fields
#endregion
#region Properties
#endregion
#region Constructors
#endregion
#region Methods
#endregion
}
}
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using Configuration;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Models.Context;
namespace Icarus.Controllers.Managers
{
public class GenreManager : BaseManager
{
#region Fields
#endregion
#region Properties
#endregion
#region Constructors
#endregion
#region Methods
#endregion
}
}
+4 -4
View File
@@ -1131,7 +1131,7 @@ namespace Icarus.Controllers.Managers
return;
}
var album = albumStore.GetAlbum(song);
var album = albumStore.GetAlbum(song, true);
if (album.SongCount <= 1)
{
@@ -1146,7 +1146,7 @@ namespace Icarus.Controllers.Managers
return;
}
var artist = artistStore.GetArtist(song);
var artist = artistStore.GetArtist(song, true);
if (artist.SongCount <= 1)
{
@@ -1161,7 +1161,7 @@ namespace Icarus.Controllers.Managers
return;
}
var genre = genreStore.GetGenre(song);
var genre = genreStore.GetGenre(song, true);
if (genre.SongCount <= 1)
{
@@ -1176,7 +1176,7 @@ namespace Icarus.Controllers.Managers
return;
}
var year = yearStore.GetSongYear(song);
var year = yearStore.GetSongYear(song, true);
if (year.SongCount <= 1)
{
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using Configuration;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Models.Context;
namespace Icarus.Controllers.Managers
{
public class YearManager : BaseManager
{
#region Fields
#endregion
#region Properties
#endregion
#region Constructors
#endregion
#region Methods
#endregion
}
}
+5 -7
View File
@@ -2,6 +2,8 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http.Headers;
using System.Web;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
@@ -37,23 +39,19 @@ namespace Icarus.Controllers
#region HTTP endpoints
[HttpGet("{id}")]
public IActionResult Get(int id)
public async Task<IActionResult> Get(int id)
{
var songStore= HttpContext
.RequestServices
.GetService(typeof(MusicStoreContext)) as MusicStoreContext;
var song = songStore.GetSong(new Song
{
Id = id
});
var song = songStore.GetSong(new Song { Id = id });
var mem = new MemoryStream();
using (var stream = new FileStream(song.SongPath, FileMode.Open, FileAccess.Read))
{
stream.CopyToAsync(mem);
await stream.CopyToAsync(mem);
}
mem.Position = 0;
-7
View File
@@ -193,21 +193,17 @@ namespace Icarus.Models.Context
{
try
{
Console.WriteLine("dddd");
_logger.Info("Retrieving song from database");
using (var conn = GetConnection())
{
conn.Open();
var query = "SELECT * FROM Song WHERE Id=@Id";
Console.WriteLine("Transfer");
using (var cmd = new MySqlCommand(query, conn))
{
Console.WriteLine("Temperment");
cmd.Parameters.AddWithValue("@Id", song.Id);
Console.WriteLine("Lost");
using (var reader = cmd.ExecuteReader())
{
song = ParseSingleData(reader);
@@ -303,7 +299,6 @@ namespace Icarus.Models.Context
{
Song song = new Song();
Console.WriteLine("ddddddddddddd");
while (reader.Read())
{
song.Id = Convert.ToInt32(reader["Id"]);
@@ -321,8 +316,6 @@ namespace Icarus.Models.Context
song.YearId = Convert.ToInt32(reader["YearId"].ToString());
}
Console.WriteLine("Panic");
return song;
}