Browse Source

区班校接口

zhouj1203@hotmail.com 5 years ago
parent
commit
2117aa73e6

+ 12 - 0
TEAMModelOS.Model/BaseInfo/Models/Grades.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace TEAMModelOS.Model.BaseInfo.Models
+{
+    public class Grades
+    {
+        public string Code { get; set; }
+        public string Name { get; set; }
+    }
+}

+ 20 - 0
TEAMModelOS.Model/BaseInfo/Models/SSystem.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace TEAMModelOS.Model.BaseInfo.Models
+{
+    public class SSystem
+    {
+        public SSystem() {
+            Grade = new List<Grades>();
+            Subject = new List<Subjects>();
+        }
+        public List<Grades> Grade { get; set; }
+        public List<Subjects> Subject { get; set; }
+        public string Name { get; set; }
+        public int GradeCount { get; set; }
+        public int SemesterCount { get; set; }
+        public int SubjectCount { get; set; }
+    }
+}

+ 24 - 0
TEAMModelOS.Model/BaseInfo/Models/SchoolSystem.cs

@@ -0,0 +1,24 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using TEAMModelOS.SDK.Context.Attributes.Azure;
+
+namespace TEAMModelOS.Model.BaseInfo.Models
+{
+    public class SchoolSystem
+    {
+        public SchoolSystem() {
+            Systems = new List<SSystem>();
+            Semesters = new List<Semester>();
+
+        }
+        [JsonProperty(PropertyName = "id")]
+        public string Id { get; set; }
+        [PartitionKey]
+        public string Code { get; set; }
+        public string Name { get; set; }
+        public List<SSystem> Systems { get; set; }
+        public List<Semester> Semesters { get; set; }
+    }
+}

+ 14 - 0
TEAMModelOS.Model/BaseInfo/Models/Semester.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace TEAMModelOS.Model.BaseInfo.Models
+{
+    public class Semester
+    {
+        public string Name { get; set; }
+        public string SCount { get; set; }
+        public string Month { get; set; }
+        public string Day { get; set; }
+    }
+}

+ 12 - 0
TEAMModelOS.Model/BaseInfo/Models/Subjects.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace TEAMModelOS.Model.BaseInfo.Models
+{
+    public class Subjects
+    {
+        public string Code { get; set; }
+        public string Name { get; set; }
+    }
+}

File diff suppressed because it is too large
+ 1 - 1
TEAMModelOS.Model/Evaluation/Models/CosmosModels/CouseExam.cs


+ 1 - 0
TEAMModelOS.Model/TEAMModelOS.Model.csproj

@@ -7,6 +7,7 @@
   <ItemGroup>
     <Folder Include="Analysis\Dtos\" />
     <Folder Include="Analysis\Models\" />
+    <Folder Include="BaseInfo\Dtos\" />
   </ItemGroup>
   <ItemGroup>
     <PackageReference Include="WindowsAzure.Storage" Version="9.3.3" />

+ 31 - 0
TEAMModelOS.Service/Core/Implements/SchoolSystemService.cs

@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.BaseInfo.Models;
+using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Service.Core.Implements
+{
+    public class SchoolSystemService : BaseService, ISchoolSystemService
+    {
+        public IAzureCosmosDBRepository _cosmosrepository;
+        public SchoolSystemService(IAzureCosmosDBRepository cosmosDBRepository)
+        {
+            _cosmosrepository = cosmosDBRepository;
+        }
+        public async Task<SchoolSystem> SaveToCosmosDB(SchoolSystem system)
+        {           
+            await _cosmosrepository.Save(system);
+            return system;
+            
+        }
+
+        public async Task<SchoolSystem> UpdateSchool(SchoolSystem system)
+        {
+            await _cosmosrepository.ReplaceObject(system, system.Id,system.Code);
+            return system;
+        }
+    }
+}

+ 14 - 0
TEAMModelOS.Service/Core/Interfaces/ISchoolSystemService.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.BaseInfo.Models;
+
+namespace TEAMModelOS.Service.Core.Interfaces
+{
+    public interface ISchoolSystemService : IBusinessService, IBaseService
+    {
+        Task<SchoolSystem> SaveToCosmosDB(SchoolSystem system);
+        Task<SchoolSystem> UpdateSchool(SchoolSystem system);
+    }
+}

+ 1 - 1
TEAMModelOS.Service/Evaluation/Interfaces/IExamInfoService.cs

@@ -19,4 +19,4 @@ namespace TEAMModelOS.Service.EvaluaTion.Interfaces
         Task<List<ExerciseInfo>> SaveToCosmosExamAsync(List<ExerciseInfo> items, List<MemberAnswer> answers);
         Task<List<ExerciseInfo>> SaveToCosmosExam(List<ExerciseInfo> items, List<MemberAnswer> answers);
     }
-}
+}

+ 31 - 0
TEAMModelOS/Controllers/Core/SchoolSystemController.cs

@@ -0,0 +1,31 @@
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using TEAMModelOS.Model.BaseInfo.Models;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
+using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
+using TEAMModelOS.Service.Core.Interfaces;
+
+namespace TEAMModelOS.Controllers.Core
+{
+    public class SchoolSystemController
+    {
+        private readonly ISchoolSystemService schoolSystemService;
+        [HttpPost("SaveOrUpdateAll")]
+        public async Task<BaseJosnRPCResponse> SaveOrUpdateAll(JosnRPCRequest<SchoolSystem> request)
+        {
+            JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
+            SchoolSystem data = new SchoolSystem();
+            if (request.@params.Id != null)
+            {
+                data = await schoolSystemService.UpdateSchool(request.@params);
+            }
+            else {
+                data = await schoolSystemService.SaveToCosmosDB(request.@params);
+            }
+            return builder.Data(data).build();
+        }
+    }
+}