public IndexModel(IConfiguration configuration)
        {
            _configuration = configuration;

            _amsHelper = new AzureMediaServicesHelper();
            Task t = _amsHelper.InitializeAsync(configuration);

            t.GetAwaiter().GetResult();
        }
        public async Task <JsonResult> OnGetAvailableMedia()
        {
            JsonResult jr = null;

            try
            {
                DateTime dtStart = DateTime.Now;
                DateTime dtEnd   = DateTime.Now;

                switch (precision)
                {
                case "year":
                    startTime = "2019";
                    endTime   = DateTime.Now.Year.ToString();
                    break;

                case "month":
                    int year = Convert.ToInt32(startTime);
                    dtStart   = new DateTime(year, 1, 1);
                    dtEnd     = new DateTime(year, 12, 1);
                    startTime = dtStart.ToString("yyyy-MM");
                    endTime   = dtEnd.ToString("yyyy-MM");
                    break;

                case "day":
                    DateTime.TryParseExact(startTime, "yyyy-MM", null, DateTimeStyles.None, out dtStart);
                    dtEnd     = dtStart.AddMonths(1).AddDays(-1);
                    startTime = dtStart.ToString("yyyy-MM-dd");
                    endTime   = dtEnd.ToString("yyyy-MM-dd");
                    break;

                case "full":
                    DateTime.TryParseExact(startTime, "yyyy-MM-dd", null, DateTimeStyles.None, out dtStart);
                    dtEnd     = dtStart.AddDays(1);
                    startTime = dtStart.ToString("yyyy-MM-dd'T'00:00:00");
                    endTime   = dtStart.ToString("yyyy-MM-dd'T'23:59:59");
                    break;
                }
                string availableMediaTimeRanges = await _amsHelper.GetAvailableMediaTimeRanges(assetName, precision, startTime, endTime);

                string availableMediaTimes = AzureMediaServicesHelper.GetAvailableMediaTime(availableMediaTimeRanges, precision);

                jr = new JsonResult(availableMediaTimes);
            }
            catch (Exception)
            {
            }

            return(jr);
        }