diff --git a/GanjooRazor/Pages/Golha.cshtml.cs b/GanjooRazor/Pages/Golha.cshtml.cs
index aae10d23..984d90c5 100644
--- a/GanjooRazor/Pages/Golha.cshtml.cs
+++ b/GanjooRazor/Pages/Golha.cshtml.cs
@@ -1,6 +1,4 @@
-using System.Net;
-using System.Net.Http;
-using System.Net.Http.Headers;
+using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using GanjooRazor.Utils;
@@ -9,25 +7,29 @@ using Microsoft.AspNetCore.Mvc.RazorPages;
using Newtonsoft.Json;
using RMuseum.Models.Ganjoor;
using RMuseum.Models.Ganjoor.ViewModels;
-using RMuseum.Models.MusicCatalogue.ViewModels;
+using RMuseum.Services;
namespace GanjooRazor.Pages
{
[IgnoreAntiforgeryToken(Order = 1001)]
public class GolhaModel : PageModel
{
- ///
- /// HttpClient instance
- ///
- private readonly HttpClient _httpClient;
+
+ private readonly IGanjoorService _ganjoorService;
+
+ private readonly IMusicCatalogueService _musicCatalogue;
///
/// constructor
///
///
- public GolhaModel(HttpClient httpClient)
+ public GolhaModel(
+ IGanjoorService ganjoorService,
+ IMusicCatalogueService musicCatalogue
+ )
{
- _httpClient = httpClient;
+ _ganjoorService = ganjoorService;
+ _musicCatalogue = musicCatalogue;
}
///
/// is logged on
@@ -67,16 +69,8 @@ namespace GanjooRazor.Pages
private async Task _GetSuggestedSongs()
{
- var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poem/{PoemId}/songs/?approved=false&trackType={(int)PoemMusicTrackType.Golha}");
-
- if (response.StatusCode == HttpStatusCode.OK)
- {
- SuggestedSongs = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
- }
- else
- {
- SuggestedSongs = new PoemMusicTrackViewModel[] { };
- }
+ var resSuggested = await _ganjoorService.GetPoemSongs(PoemId, false, PoemMusicTrackType.Golha);
+ SuggestedSongs = resSuggested.Result;
}
public async Task OnGetAsync()
@@ -143,15 +137,8 @@ namespace GanjooRazor.Pages
///
public async Task OnPostFillProgramsAsync(int collection)
{
- var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/musiccatalogue/golha/collection/{collection}/programs");
-
- GolhaProgramViewModel[] programs = new GolhaProgramViewModel[] { };
-
- if (response.StatusCode == HttpStatusCode.OK)
- {
- programs = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
- }
- return new OkObjectResult(programs);
+ var res = await _musicCatalogue.GetGolhaCollectionPrograms(collection);
+ return new OkObjectResult(res.Result);
}
///
@@ -161,15 +148,8 @@ namespace GanjooRazor.Pages
///
public async Task OnPostFillTracksAsync(int program)
{
- var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/musiccatalogue/golha/program/{program}/tracks");
-
- GolhaTrackViewModel[] tracks = new GolhaTrackViewModel[] { };
-
- if (response.StatusCode == HttpStatusCode.OK)
- {
- tracks = JsonConvert.DeserializeObject(await response.Content.ReadAsStringAsync());
- }
- return new OkObjectResult(tracks);
+ var res = await _musicCatalogue.GetGolhaProgramTracks(program);
+ return new OkObjectResult(res.Result);
}
}
}