|
@@ -17,11 +17,11 @@ namespace TEAMModelOS.Controllers
|
|
[ApiController]
|
|
[ApiController]
|
|
public class CourseController : BaseController
|
|
public class CourseController : BaseController
|
|
{
|
|
{
|
|
- private AzureCosmosFactory _cosmos;
|
|
|
|
|
|
+ private AzureCosmosFactory _azureCosmos;
|
|
|
|
|
|
- public CourseController(AzureCosmosFactory cosmos)
|
|
|
|
|
|
+ public CourseController(AzureCosmosFactory azureCosmos)
|
|
{
|
|
{
|
|
- _cosmos = cosmos;
|
|
|
|
|
|
+ _azureCosmos = azureCosmos;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -34,13 +34,13 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
if (string.IsNullOrEmpty(request.id)) {
|
|
if (string.IsNullOrEmpty(request.id)) {
|
|
- List<int> count =await _cosmos.FindCountByDict<Course>(new Dictionary<string, object> { { "courseCode", request.courseCode },{ "code",request.code} });
|
|
|
|
|
|
+ List<int> count =await _azureCosmos.FindCountByDict<Course>(new Dictionary<string, object> { { "courseCode", request.courseCode },{ "code",request.code} });
|
|
if (count.IsNotEmpty() && count[0] > 0) {
|
|
if (count.IsNotEmpty() && count[0] > 0) {
|
|
return builder.Error(ResponseCode.DATA_EXIST, "课程编码已经存在!").build();
|
|
return builder.Error(ResponseCode.DATA_EXIST, "课程编码已经存在!").build();
|
|
}
|
|
}
|
|
request.id = request.code.Replace("#", "") +"-"+ request.courseCode;
|
|
request.id = request.code.Replace("#", "") +"-"+ request.courseCode;
|
|
}
|
|
}
|
|
- Course response = await _cosmos.SaveOrUpdate<Course>(request);
|
|
|
|
|
|
+ Course response = await _azureCosmos.SaveOrUpdate<Course>(request);
|
|
return builder.Data(response).build();
|
|
return builder.Data(response).build();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -55,7 +55,7 @@ namespace TEAMModelOS.Controllers
|
|
|
|
|
|
List<Course> data = new List<Course>();
|
|
List<Course> data = new List<Course>();
|
|
if (StringHelper.getKeyCount(request) > 0) {
|
|
if (StringHelper.getKeyCount(request) > 0) {
|
|
- data = await _cosmos.FindByDict<Course>(request);
|
|
|
|
|
|
+ data = await _azureCosmos.FindByDict<Course>(request);
|
|
}
|
|
}
|
|
return builder.Data(data).Extend(new Dictionary<string, object> { { "count", data.Count } }).build();
|
|
return builder.Data(data).Extend(new Dictionary<string, object> { { "count", data.Count } }).build();
|
|
}
|
|
}
|
|
@@ -68,7 +68,7 @@ namespace TEAMModelOS.Controllers
|
|
public async Task<BaseResponse> Delete(IdPk request)
|
|
public async Task<BaseResponse> Delete(IdPk request)
|
|
{
|
|
{
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
- IdPk idPk= await _cosmos.DeleteAsync<Course>(request);
|
|
|
|
|
|
+ IdPk idPk= await _azureCosmos.DeleteAsync<Course>(request);
|
|
return builder.Data(idPk).build();
|
|
return builder.Data(idPk).build();
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <summary>
|
|
@@ -80,7 +80,7 @@ namespace TEAMModelOS.Controllers
|
|
public async Task<BaseResponse> DeleteAll(List<IdPk> request)
|
|
public async Task<BaseResponse> DeleteAll(List<IdPk> request)
|
|
{
|
|
{
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
- List<IdPk> idPk = await _cosmos.DeleteAll<Course>(request);
|
|
|
|
|
|
+ List<IdPk> idPk = await _azureCosmos.DeleteAll<Course>(request);
|
|
return builder.Data(idPk).build();
|
|
return builder.Data(idPk).build();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -95,7 +95,7 @@ namespace TEAMModelOS.Controllers
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
string classroomCode= request.classroomCode;
|
|
string classroomCode= request.classroomCode;
|
|
Dictionary<string, object> dictcode = new Dictionary<string, object>() { { "classes[*].classroomCode", classroomCode } };
|
|
Dictionary<string, object> dictcode = new Dictionary<string, object>() { { "classes[*].classroomCode", classroomCode } };
|
|
- List<CoursePlan> courses= await _cosmos.FindByDict<CoursePlan>(dictcode);
|
|
|
|
|
|
+ List<CoursePlan> courses= await _azureCosmos.FindByDict<CoursePlan>(dictcode);
|
|
//按班级导入课程表 要清除之前的课程安排
|
|
//按班级导入课程表 要清除之前的课程安排
|
|
if (courses.IsNotEmpty()) {
|
|
if (courses.IsNotEmpty()) {
|
|
for (int i = 0; i < courses.Count; i++)
|
|
for (int i = 0; i < courses.Count; i++)
|
|
@@ -109,7 +109,7 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//清除之前的
|
|
//清除之前的
|
|
- await _cosmos.SaveOrUpdateAll(courses);
|
|
|
|
|
|
+ await _azureCosmos.SaveOrUpdateAll(courses);
|
|
//重新设置
|
|
//重新设置
|
|
for (int i = 0; i < courses.Count; i++) {
|
|
for (int i = 0; i < courses.Count; i++) {
|
|
CourseClass courseClass = new CourseClass
|
|
CourseClass courseClass = new CourseClass
|
|
@@ -120,7 +120,7 @@ namespace TEAMModelOS.Controllers
|
|
coursePlans.ForEach(x=> { courseClass.courseTimes.Add(x.courseTime); });
|
|
coursePlans.ForEach(x=> { courseClass.courseTimes.Add(x.courseTime); });
|
|
courses[i].classes.Add(courseClass);
|
|
courses[i].classes.Add(courseClass);
|
|
}
|
|
}
|
|
- await _cosmos.SaveOrUpdateAll(courses);
|
|
|
|
|
|
+ await _azureCosmos.SaveOrUpdateAll(courses);
|
|
}
|
|
}
|
|
return builder.Data(courses).build();
|
|
return builder.Data(courses).build();
|
|
}
|
|
}
|
|
@@ -136,7 +136,7 @@ namespace TEAMModelOS.Controllers
|
|
List<CoursePlan> plans = new List<CoursePlan>();
|
|
List<CoursePlan> plans = new List<CoursePlan>();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
List<CoursePlan> coursePlans = new List<CoursePlan>();
|
|
List<CoursePlan> coursePlans = new List<CoursePlan>();
|
|
- CoursePlan data = await _cosmos.FindByIdPk<CoursePlan>(request.courseId, request.code );
|
|
|
|
|
|
+ CoursePlan data = await _azureCosmos.FindByIdPk<CoursePlan>(request.courseId, request.code );
|
|
if (data != null)
|
|
if (data != null)
|
|
{
|
|
{
|
|
bool flag = true;
|
|
bool flag = true;
|
|
@@ -174,7 +174,7 @@ namespace TEAMModelOS.Controllers
|
|
};
|
|
};
|
|
data.classes.Add(new CourseClass { classroomCode = request.classroomCode, courseTimes = new List<CourseTime> { request.courseTime } });
|
|
data.classes.Add(new CourseClass { classroomCode = request.classroomCode, courseTimes = new List<CourseTime> { request.courseTime } });
|
|
}
|
|
}
|
|
- await _cosmos.SaveOrUpdate(data);
|
|
|
|
|
|
+ await _azureCosmos.SaveOrUpdate(data);
|
|
return builder.Data(data).build();
|
|
return builder.Data(data).build();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -208,7 +208,7 @@ namespace TEAMModelOS.Controllers
|
|
[HttpPost("upsertPlan")]
|
|
[HttpPost("upsertPlan")]
|
|
public async Task<BaseResponse> UpsertPlan(CoursePlan request) {
|
|
public async Task<BaseResponse> UpsertPlan(CoursePlan request) {
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
- CoursePlan datas = await _cosmos.FindByIdPk<CoursePlan>(request.id,request.code);
|
|
|
|
|
|
+ CoursePlan datas = await _azureCosmos.FindByIdPk<CoursePlan>(request.id,request.code);
|
|
if (datas!=null) {
|
|
if (datas!=null) {
|
|
request.semesterCode = datas.semesterCode;
|
|
request.semesterCode = datas.semesterCode;
|
|
request.classes.ForEach(x => {
|
|
request.classes.ForEach(x => {
|
|
@@ -217,7 +217,7 @@ namespace TEAMModelOS.Controllers
|
|
x.courseTimes = m.courseTimes;
|
|
x.courseTimes = m.courseTimes;
|
|
} });
|
|
} });
|
|
});
|
|
});
|
|
- await _cosmos.Update(request);
|
|
|
|
|
|
+ await _azureCosmos.Update(request);
|
|
}
|
|
}
|
|
return builder.Data(request).build();
|
|
return builder.Data(request).build();
|
|
}
|
|
}
|
|
@@ -239,7 +239,7 @@ namespace TEAMModelOS.Controllers
|
|
request.TryGetProperty("classes[*].classroomCode",out _))
|
|
request.TryGetProperty("classes[*].classroomCode",out _))
|
|
)
|
|
)
|
|
{
|
|
{
|
|
- data = await _cosmos.FindByDict<CoursePlan>(request);
|
|
|
|
|
|
+ data = await _azureCosmos.FindByDict<CoursePlan>(request);
|
|
if (data.IsNotEmpty()) {
|
|
if (data.IsNotEmpty()) {
|
|
if (request.TryGetProperty("classes[*].classroomCode",out JsonElement classcode)) {
|
|
if (request.TryGetProperty("classes[*].classroomCode",out JsonElement classcode)) {
|
|
List<CoursePlan> coursePlans = new List<CoursePlan>();
|
|
List<CoursePlan> coursePlans = new List<CoursePlan>();
|
|
@@ -270,12 +270,12 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
request.TryGetProperty("code" ,out JsonElement code);
|
|
request.TryGetProperty("code" ,out JsonElement code);
|
|
- List<CoursePlan> data= await _cosmos.FindByDict<CoursePlan>(new Dictionary<string, object> { { "code", code.ToString() } }, new List<string> { "id" });
|
|
|
|
|
|
+ List<CoursePlan> data= await _azureCosmos.FindByDict<CoursePlan>(new Dictionary<string, object> { { "code", code.ToString() } }, new List<string> { "id" });
|
|
List<Course> courses = new List<Course>();
|
|
List<Course> courses = new List<Course>();
|
|
if (data.IsNotEmpty()) {
|
|
if (data.IsNotEmpty()) {
|
|
- courses= await _cosmos.FindByDict<Course>(new Dictionary<string, object> { { "id", courses.Select(x => x.id).ToArray() } });
|
|
|
|
|
|
+ courses= await _azureCosmos.FindByDict<Course>(new Dictionary<string, object> { { "id", courses.Select(x => x.id).ToArray() } });
|
|
}
|
|
}
|
|
- List<Course> coursesp = await _cosmos.FindByDict<Course>(new Dictionary<string, object> { { "code", code.ToString() } });
|
|
|
|
|
|
+ List<Course> coursesp = await _azureCosmos.FindByDict<Course>(new Dictionary<string, object> { { "code", code.ToString() } });
|
|
if (courses.IsNotEmpty())
|
|
if (courses.IsNotEmpty())
|
|
{
|
|
{
|
|
//个人教室
|
|
//个人教室
|
|
@@ -310,20 +310,20 @@ namespace TEAMModelOS.Controllers
|
|
var prop = new List<string> { "classes" };
|
|
var prop = new List<string> { "classes" };
|
|
if (request.TryGetProperty("code", out JsonElement code))
|
|
if (request.TryGetProperty("code", out JsonElement code))
|
|
{
|
|
{
|
|
- var teachers = await _cosmos.FindByDict<CoursePlan>(new Dictionary<string, object> { { "code", code.ToString() } }, prop);
|
|
|
|
|
|
+ var teachers = await _azureCosmos.FindByDict<CoursePlan>(new Dictionary<string, object> { { "code", code.ToString() } }, prop);
|
|
if (teachers.IsNotEmpty()) {
|
|
if (teachers.IsNotEmpty()) {
|
|
teachers.Select(x => x.classes).ToList().ForEach(x => { x.ForEach(y => { data.Add(y.classroomCode); }); });
|
|
teachers.Select(x => x.classes).ToList().ForEach(x => { x.ForEach(y => { data.Add(y.classroomCode); }); });
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (request.TryGetProperty("assistant[*]", out JsonElement element)) {
|
|
if (request.TryGetProperty("assistant[*]", out JsonElement element)) {
|
|
- var assistant = await _cosmos.FindByDict<CoursePlan>(new Dictionary<string, object> { { "assistant[*]", element.ToString() } }, prop);
|
|
|
|
|
|
+ var assistant = await _azureCosmos.FindByDict<CoursePlan>(new Dictionary<string, object> { { "assistant[*]", element.ToString() } }, prop);
|
|
if (assistant.IsNotEmpty()) {
|
|
if (assistant.IsNotEmpty()) {
|
|
assistant.Select(x => x.classes).ToList().ForEach(x => { x.ForEach(y => { data.Add(y.classroomCode); }); });
|
|
assistant.Select(x => x.classes).ToList().ForEach(x => { x.ForEach(y => { data.Add(y.classroomCode); }); });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (data.Count > 0) {
|
|
if (data.Count > 0) {
|
|
- var classRoom= await _cosmos.FindByDict<Classroom>(new Dictionary<string, object> { { "classroomCode",data.ToArray() } } );
|
|
|
|
|
|
+ var classRoom= await _azureCosmos.FindByDict<Classroom>(new Dictionary<string, object> { { "classroomCode",data.ToArray() } } );
|
|
if (classRoom.IsNotEmpty()) {
|
|
if (classRoom.IsNotEmpty()) {
|
|
classRoom.ForEach(x => {
|
|
classRoom.ForEach(x => {
|
|
room.Add(x);
|
|
room.Add(x);
|
|
@@ -343,7 +343,7 @@ namespace TEAMModelOS.Controllers
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
if (request.TryGetProperty("id",out JsonElement id) && request.TryGetProperty("code",out JsonElement code) && request.TryGetProperty("classroomCode",out JsonElement classroomCode)
|
|
if (request.TryGetProperty("id",out JsonElement id) && request.TryGetProperty("code",out JsonElement code) && request.TryGetProperty("classroomCode",out JsonElement classroomCode)
|
|
&& request.TryGetProperty("time",out JsonElement time) && request.TryGetProperty("day",out JsonElement day)) {
|
|
&& request.TryGetProperty("time",out JsonElement time) && request.TryGetProperty("day",out JsonElement day)) {
|
|
- CoursePlan coursePlan = await _cosmos.FindByIdPk<CoursePlan>(id.ToString(), code.ToString());
|
|
|
|
|
|
+ CoursePlan coursePlan = await _azureCosmos.FindByIdPk<CoursePlan>(id.ToString(), code.ToString());
|
|
List<CourseTime> courseTimes = new List<CourseTime>();
|
|
List<CourseTime> courseTimes = new List<CourseTime>();
|
|
coursePlan.classes.ForEach(x=> {
|
|
coursePlan.classes.ForEach(x=> {
|
|
if (x.classroomCode == classroomCode.ToString()) {
|
|
if (x.classroomCode == classroomCode.ToString()) {
|
|
@@ -358,7 +358,7 @@ namespace TEAMModelOS.Controllers
|
|
coursePlan.classes.ForEach(x => { if (x.classroomCode == classroomCode.ToString()) {
|
|
coursePlan.classes.ForEach(x => { if (x.classroomCode == classroomCode.ToString()) {
|
|
courseTimes.ForEach(y => { x.courseTimes.Remove(y); });
|
|
courseTimes.ForEach(y => { x.courseTimes.Remove(y); });
|
|
} });
|
|
} });
|
|
- await _cosmos.Update(coursePlan);
|
|
|
|
|
|
+ await _azureCosmos.Update(coursePlan);
|
|
return builder.Data(coursePlan).build();
|
|
return builder.Data(coursePlan).build();
|
|
}
|
|
}
|
|
return builder.Data(null).build();
|
|
return builder.Data(null).build();
|
|
@@ -372,7 +372,7 @@ namespace TEAMModelOS.Controllers
|
|
public async Task<BaseResponse> DeletePlan(IdPk request)
|
|
public async Task<BaseResponse> DeletePlan(IdPk request)
|
|
{
|
|
{
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
ResponseBuilder builder = ResponseBuilder.custom();
|
|
- IdPk idPk = await _cosmos.DeleteAsync<CoursePlan>(request);
|
|
|
|
|
|
+ IdPk idPk = await _azureCosmos.DeleteAsync<CoursePlan>(request);
|
|
return builder.Data(idPk).build();
|
|
return builder.Data(idPk).build();
|
|
}
|
|
}
|
|
}
|
|
}
|