示例#1
0
        public MainWindow()
        {
            _httpClient = new HttpClient(new HttpLoggingHandler()).UseMonstercatApiV2();
            _api        = MonstercatApi.Create(_httpClient);

            var configuration = new ConfigurationBuilder()
                                .AddUserSecrets <MainWindow>()
                                .Build();

            var sectionName = typeof(ApiCredentials).Name;
            var section     = configuration.GetSection(sectionName);

            section.Bind(Credentials);

            InitializeComponent();

            _timer = new DispatcherTimer
            {
                Interval = TimeSpan.FromMilliseconds(250)
            };
            _timer.Tick += timer1_Tick;
        }
 private MonstercatApi(IMonstercatApi service)
 {
     _service = service;
 }
示例#3
0
        public static async Task <byte[]> GetReleaseCoverAsByteArray(this IMonstercatApi api, ReleaseCoverRequest request)
        {
            var content = await api.GetReleaseCover(request).ConfigureAwait(false);

            return(await content.ReadAsByteArrayAsync().ConfigureAwait(false));
        }
示例#4
0
        public static async Task <Stream> StreamTrackAsStream(this IMonstercatApi api, TrackStreamRequest request)
        {
            var content = await api.StreamTrack(request).ConfigureAwait(false);

            return(await content.ReadAsStreamAsync().ConfigureAwait(false));
        }
示例#5
0
        /// <summary>
        /// gold membership required
        /// </summary>
        public static async Task <byte[]> DownloadTrackAsByteArray(this IMonstercatApi api, TrackDownloadRequest request)
        {
            var content = await api.DownloadTrack(request).ConfigureAwait(false);

            return(await content.ReadAsByteArrayAsync().ConfigureAwait(false));
        }
示例#6
0
        /// <summary>
        /// gold membership required
        /// </summary>
        public static async Task <Stream> DownloadReleaseAsStream(this IMonstercatApi api, ReleaseDownloadRequest request)
        {
            var content = await api.DownloadRelease(request).ConfigureAwait(false);

            return(await content.ReadAsStreamAsync().ConfigureAwait(false));
        }