BuildingController.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. }
  58. }