From 2d984813ec4786d16c6b13f8dc17b8275d818ba4 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Sat, 3 Aug 2019 14:26:18 -0400 Subject: [PATCH] Updated Entity Framework to 2.2.6, Removed PrintCredentials() Method call on login, working on #55 --- Controllers/Managers/DirectoryManager.cs | 3 ++ Controllers/Managers/SongManager.cs | 34 +++++++++++++++- Controllers/Managers/TokenManager.cs | 2 - Icarus.csproj | 2 +- Libs/CMakeLists.txt | 10 +++++ Libs/src/icarus.cpp | 50 ++++++++++++++++++++++++ 6 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 Libs/CMakeLists.txt create mode 100644 Libs/src/icarus.cpp diff --git a/Controllers/Managers/DirectoryManager.cs b/Controllers/Managers/DirectoryManager.cs index 55880d2..e685166 100644 --- a/Controllers/Managers/DirectoryManager.cs +++ b/Controllers/Managers/DirectoryManager.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Linq; +using System.Runtime.InteropServices; using Microsoft.Extensions.Configuration; @@ -92,6 +93,8 @@ namespace Icarus.Controllers.Managers _logger.Error(msg, "An error occurred"); } } + [DllImport("libicarus.so")] + public static extern void create_directory(SongManager.Sng song); public void DeleteEmptyDirectories() { try diff --git a/Controllers/Managers/SongManager.cs b/Controllers/Managers/SongManager.cs index 0212052..6b8f78c 100644 --- a/Controllers/Managers/SongManager.cs +++ b/Controllers/Managers/SongManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Configuration; using System.Data; using System.IO; +using System.Runtime.InteropServices; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; @@ -364,7 +365,12 @@ namespace Icarus.Controllers.Managers DirectoryManager dirMgr = new DirectoryManager(_config, song); dirMgr.CreateDirectory(); + var sng = ConvertSongToSng(song); + + DirectoryManager.create_directory(sng); + System.IO.File.Delete(fileTempPath); + Environment.Exit(1); var filePath = dirMgr.SongDirectory; var songFilename = songFile.FileName; @@ -501,7 +507,19 @@ namespace Icarus.Controllers.Managers return song; } - + private Sng ConvertSongToSng(Song song) + { + return new Sng + { + Id = song.Id, + Title = song.Title, + Artist = song.Artist, + Album = song.AlbumTitle, + Genre = song.Genre, + Year = song.Year.Value + }; + } + private Song RetrieveMetaData(string filePath) { Song newSong = new Song @@ -1219,5 +1237,19 @@ namespace Icarus.Controllers.Managers } } #endregion + + + #region Structs + [StructLayout(LayoutKind.Sequential)] + public struct Sng + { + public int Id; + public string Title; + public string Artist; + public string Album; + public string Genre; + public int Year; + }; + #endregion } } diff --git a/Controllers/Managers/TokenManager.cs b/Controllers/Managers/TokenManager.cs index 1f48d3b..0809ad0 100644 --- a/Controllers/Managers/TokenManager.cs +++ b/Controllers/Managers/TokenManager.cs @@ -90,8 +90,6 @@ namespace Icarus.Controllers.Managers _audience = _config["Auth0:ApiIdentifier"]; _grantType = "client_credentials"; _url = $"https://{_config["Auth0:Domain"]}"; - - PrintCredentials(); } #region Testing Methods diff --git a/Icarus.csproj b/Icarus.csproj index cbdd51d..eb42b4f 100644 --- a/Icarus.csproj +++ b/Icarus.csproj @@ -13,7 +13,7 @@ - + runtime; build; native; contentfiles; analyzers all diff --git a/Libs/CMakeLists.txt b/Libs/CMakeLists.txt new file mode 100644 index 0000000..4fa2274 --- /dev/null +++ b/Libs/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.10) + +project(icarus) + +set(CMAKE_CXX_STANDARD 17) +set(SOURCES + src/icarus.cpp +) + +add_library(icarus SHARED ${SOURCES}) diff --git a/Libs/src/icarus.cpp b/Libs/src/icarus.cpp new file mode 100644 index 0000000..8b5a596 --- /dev/null +++ b/Libs/src/icarus.cpp @@ -0,0 +1,50 @@ +#include +#include +#include + +namespace fs = std::filesystem; + +constexpr auto app_setting = "appsettings.Development.json"; + +struct Song +{ + int Id; + char *Title; + char *Artist; + char *Album; + char *Genre; + int Year; +}; + +void create_directory_process(Song); + +void create_directory_process(Song song) +{ + auto curr_path = fs::current_path(); + std::cout<<"current path "<