using System;
using System.Collections.Generic;
using IRaCIS.Application.Interfaces;
using IRaCIS.Application.ViewModels;
using IRaCIS.Core.Application.Contracts.RequestAndResponse;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace IRaCIS.Api.Controllers
{
[Route("hospital")]
[ApiController, Authorize, ApiExplorerSettings(GroupName = "Institution")]
public class HospitalController : ControllerBase
{
private readonly IHospitalService _hospitalService;
public HospitalController(IHospitalService hospitalService)
{
_hospitalService = hospitalService;
}
/// 获取所有医院列表
[HttpGet, Route("hospitalList")]
public IResponseOutput> GetHospitalList()
{
var result = _hospitalService.GetHospitalList();
return ResponseOutput.Ok(result);
}
/// 分页获取医院信息列表
[HttpPost, Route("getHospitalPageList")]
public IResponseOutput> GetHospitalPageList(
HospitalQueryDTO hospitalSearchModel)
{
return ResponseOutput.Ok(_hospitalService.GetHospitalPageList(hospitalSearchModel));
}
/// 添加医院信息
[HttpPost, Route("addOrUpdateHospital")]
public IResponseOutput AddOrUpdateHospital(HospitalCommand addViewModel)
{
return _hospitalService.AddOrUpdateHospital(addViewModel);
}
/// 删除医院信息
[HttpDelete, Route("deleteHospital/{hospitalId:guid}")]
public IResponseOutput DeleteHospital(Guid hospitalId)
{
return _hospitalService.DeleteHospital(hospitalId);
}
}
}