VolumeController.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Microsoft.AspNetCore.Authorization;
  2. using Microsoft.AspNetCore.Mvc;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. using TEAMModelOS.Controllers.Core;
  8. using TEAMModelOS.Model.Core.Models;
  9. using TEAMModelOS.Model.Syllabus.Models;
  10. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcRequest;
  11. using TEAMModelOS.SDK.Extension.DataResult.JsonRpcResponse;
  12. using TEAMModelOS.Service.Core.Interfaces;
  13. using TEAMModelOS.Service.Syllabus.Interfaces;
  14. namespace TEAMModelOS.Controllers.Syllabus
  15. {
  16. [Route("api/[controller]")]
  17. [ApiController]
  18. [Authorize]
  19. public class VolumeController : BaseController
  20. {
  21. public IVolumeService _volumeService;
  22. public VolumeController(IVolumeService volumeService)
  23. {
  24. _volumeService = volumeService;
  25. }
  26. [HttpPost("SaveOrUpdateSchoolVolume")]
  27. public async Task<BaseJosnRPCResponse> SaveOrUpdateSchoolTerm(JosnRPCRequest<SchoolVolume> request)
  28. {
  29. request.@params.RowKey = request.@params.SchoolCode + "-" + request.@params.PeriodCode +"-"+request.@params.SubjectCode+ "-G" + request.@params.GradeCode + "-T"+ request.@params.TermCode;
  30. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  31. SchoolVolume data = await _volumeService.SaveOrUpdate<SchoolVolume>(request.@params);
  32. return builder.Data(data).build();
  33. }
  34. [HttpPost("DeleteInfo")]
  35. public async Task<BaseJosnRPCResponse> Delete(JosnRPCRequest<Dictionary<string, object>> request)
  36. {
  37. request.@params.TryAdd("PartitionKey", request.lang);
  38. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  39. int count = await _volumeService.DeleteAll<SchoolTerm>(request.@params);
  40. return builder.Data(count).build();
  41. }
  42. [HttpPost("FindSchoolVolumesByDict")]
  43. public async Task<BaseJosnRPCResponse> FindSchoolTermsByDict(JosnRPCRequest<Dictionary<string, object>> request)
  44. {
  45. request.@params.TryAdd("PartitionKey", request.lang);
  46. JsonRPCResponseBuilder builder = JsonRPCResponseBuilder.custom();
  47. List<SchoolVolume> Grades = await _volumeService.FindListByDict<SchoolVolume>(request.@params);
  48. return builder.Data(Grades).build();
  49. }
  50. }
  51. }