using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using TEAMModelOS.Models; using TEAMModelOS.SDK; using TEAMModelOS.SDK.DI; using System.Text.Json; using TEAMModelOS.SDK.Models; using TEAMModelOS.SDK.Extension; using Azure.Cosmos; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Options; using System.IO; using System.Dynamic; using System.Net.Http; using System.Net; using Newtonsoft.Json; using System.Linq; using StackExchange.Redis; using static TEAMModelOS.SDK.Models.Teacher; using Microsoft.Extensions.Configuration; using TEAMModelOS.Filter; using Microsoft.AspNetCore.Authorization; using HTEXLib.COMM.Helpers; using TEAMModelOS.SDK.Models.Service; using System.ComponentModel.DataAnnotations; namespace TEAMModelAPI.Controllers { [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] [ApiController] [Route("{scope}")] public class CourseController : ControllerBase { public AzureCosmosFactory _azureCosmos; private readonly AzureStorageFactory _azureStorage; private readonly AzureRedisFactory _azureRedis; private readonly DingDing _dingDing; private readonly Option _option; private readonly IConfiguration _configuration; private readonly CoreAPIHttpService _coreAPIHttpService; private readonly AzureServiceBusFactory _serviceBus; //1 2 3 4 5 6 7 private List weekDays = new List { "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN" }; public CourseController(CoreAPIHttpService coreAPIHttpService, AzureCosmosFactory azureCosmos, AzureStorageFactory azureStorage, AzureRedisFactory azureRedis, DingDing dingDing, IOptionsSnapshot