You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

180 lines
4.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using AccessStudy.Core;
namespace AccessStudy.WebApi.Controllers
{
/// <summary>
/// 学生管理接口
/// </summary>
[ApiController]
[Route("api/[controller]/[action]")]
public class StudentController : ControllerBase
{
private readonly ILogger<StudentController> _logger;
private readonly IStudentIDal _studentDal;
/// <summary>
/// 构造
/// </summary>
public StudentController(ILogger<StudentController> logger, IStudentIDal studentIDal)
{
_logger = logger;
_studentDal = studentIDal;
}
/// <summary>
/// 获取所有学生
/// </summary>
/// <returns></returns>
[HttpGet]
public ResultBase GetAll()
{
var result = new ResultBase()
{
Code = 0,
Message = "",
Data = _studentDal.GetAll()
};
return result;
}
/// <summary>
/// 按标识获取学生
/// </summary>
/// <param name="studentId">标识号</param>
/// <returns></returns>
[HttpGet]
public ResultBase GetById(int studentId)
{
var result = new ResultBase()
{
Code = 0,
Message = "",
Data = _studentDal.Get(studentId)
};
return result;
}
/// <summary>
/// 按姓名获取学生
/// </summary>
/// <param name="studentName">姓名</param>
/// <remarks>
/// 请求例子:
/// GET /api/Student/GetByName?studentName=王高峰
/// </remarks>
/// <example>
/// GET /api/Student/GetByName?studentName=王高峰
/// </example>
/// <returns></returns>
[HttpGet]
public ResultBase GetByName(string studentName)
{
var result = new ResultBase()
{
Code = 0,
Message = "",
Data = _studentDal.Get(studentName)
};
return result;
}
/// <summary>
/// 添加学生
/// </summary>
/// <param name="student">学生信息</param>
/// <returns></returns>
[HttpPost]
public ResultBase Add(Student student)
{
var result = new ResultBase()
{
Code = 0,
Message = "",
Data = null
};
if (_studentDal.Add(student))
{
result.Message = "添加成功";
result.Data = true;
}
else
{
result.Message = "添加失败";
result.Data = false;
}
return result;
}
/// <summary>
/// 修改学生
/// </summary>
/// <param name="student">修改学生信息</param>
/// <returns></returns>
[HttpPost]
public ResultBase Update(Student student)
{
var result = new ResultBase()
{
Code = 0,
Message = "",
Data = null
};
if (_studentDal.Update(student))
{
result.Message = "更新成功";
result.Data = true;
}
else
{
result.Message = "更新失败";
result.Data = false;
}
return result;
}
/// <summary>
/// 删除学生
/// </summary>
/// <param name="studentId">学生标识</param>
/// <returns></returns>
[HttpPost]
public ResultBase Delete(int studentId)
{
var result = new ResultBase()
{
Code = 0,
Message = "",
Data = null
};
if (_studentDal.Delete(studentId))
{
result.Message = "删除成功";
result.Data = true;
}
else
{
result.Message = "删除失败";
result.Data = false;
}
return result;
}
}
}