using Microsoft.AspNetCore.Mvc; using Yi.Framework.Common.Models; using Yi.Framework.Model.Query; using Yi.Framework.Repository; namespace Yi.Framework.ApiMicroservice.Controllers { [ApiController] [Route("api/[controller]/[action]")] public class BaseCrudController : ControllerBase where T : class,new() { private readonly ILogger _logger; public IRepository _iRepository; public BaseCrudController(ILogger logger, IRepository iRepository) { _logger = logger; _iRepository = iRepository; } [HttpGet] public async Task Get() { return Result.Success().SetData(await _iRepository.GetListAsync()); } [HttpPost] public async Task Page(QueryCondition queryCondition) { return Result.Success().SetData(_iRepository.CommonPage(queryCondition)); } [HttpPost] public async Task Add(T entity) { return Result.Success().SetData(await _iRepository.InsertReturnEntityAsync(entity)); } [HttpPut] public async Task Update(T entity) { return Result.Success().SetStatus(await _iRepository.UpdateAsync(entity)); } [HttpDelete] public async Task Delete(object[] ids) { return Result.Success().SetStatus(await _iRepository.DeleteByIdsAsync(ids)); } } }