BuildingController.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using Bowin.Common.WebModels;
  2. using Microsoft.AspNetCore.Authorization;
  3. using Microsoft.AspNetCore.Mvc;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Threading.Tasks;
  8. using YLShipBuildLandMap.Entity.ViewModel;
  9. using YLShipBuildLandMap.Entity.ViewModel.Build;
  10. using YLShipBuildLandMap.Services.Build;
  11. namespace YLShipBuildLandMap.Web.Controllers.Build
  12. {
  13. [Route("api/build/[controller]/[action]")]
  14. [Authorize]
  15. [ApiController]
  16. public class BuildingController : ControllerBase
  17. {
  18. private IBuildingService BuildingService { get; set; }
  19. public BuildingController(IBuildingService buildingService)
  20. {
  21. BuildingService = buildingService;
  22. }
  23. [HttpGet]
  24. public async Task<ResultMessage> GetBuildingList()
  25. {
  26. return ResultMessage.Success(await BuildingService.GetBuildingList());
  27. }
  28. [HttpGet]
  29. public async Task<ResultMessage> GetFloorList(Guid buildingId)
  30. {
  31. return ResultMessage.Success(await BuildingService.GetFloorList(buildingId));
  32. }
  33. [HttpGet]
  34. public async Task<ResultMessage> GetBuildingById(Guid? buildingId)
  35. {
  36. return ResultMessage.Success(await BuildingService.GetBuildingById(buildingId));
  37. }
  38. [HttpPost]
  39. public async Task<ResultMessage> DeleteBuilding([FromBody] dynamic inputObject)
  40. {
  41. List<Guid> idList = inputObject.buildingIds.ToObject<List<Guid>>();
  42. return ResultMessage.Success(await BuildingService.DeleteBuilding(idList));
  43. }
  44. [HttpPost]
  45. public async Task<ResultMessage> DeleteFloor([FromBody] dynamic inputObject)
  46. {
  47. Guid floorId = inputObject.buildingFloorId;
  48. return ResultMessage.Success(await BuildingService.DeleteFloor(floorId));
  49. }
  50. [HttpPost]
  51. public async Task<ResultMessage> SaveBuilding([FromBody] dynamic inputObj)
  52. {
  53. BuildingView data = inputObj["data"].ToObject<BuildingView>();
  54. List<FloorView> floorList = inputObj["floorList"].ToObject<List<FloorView>>();
  55. return ResultMessage.Success(await BuildingService.SaveBuilding(data, floorList, LoginUser.Current.UserID));
  56. }
  57. [HttpGet]
  58. [AllowAnonymous]
  59. public async Task<ResultMessage> GetBuildingXYAxisList(Guid? buildingId)
  60. {
  61. return ResultMessage.Success(await BuildingService.GetBuildingXYAxisList(buildingId));
  62. }
  63. [HttpGet]
  64. [AllowAnonymous]
  65. public async Task<ResultMessage> GetBuildingXyAxisGroupList(Guid? buildingId)
  66. {
  67. return ResultMessage.Success(await BuildingService.GetBuildingXyAxisGroupList(buildingId));
  68. }
  69. }
  70. }