.NET CORE Swagger 接口开发实现增删改查 02

 startup.cs代码

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Transactions;
using WebAPI_004.Models;

namespace WebAPI_004.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private static readonly string[] Summaries = new[]
        {
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        };

        private readonly ILogger<WeatherForecastController> _logger;
        private readonly SchoolDBContext _context;

        public WeatherForecastController(ILogger<WeatherForecastController> logger, SchoolDBContext context)
        {
            _logger = logger;
            _context = context;
        }

        [HttpGet]
        public IEnumerable<WeatherForecast> Get()
        {
            var rng = new Random();
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateTime.Now.AddDays(index),
                TemperatureC = rng.Next(-20, 55),
                Summary = Summaries[rng.Next(Summaries.Length)]
            })
            .ToArray();
        }

        [HttpPost("查询学生信息")]
        public string StuInfo(string SName, int? SId)
        {

            var list = from a in _context.Students
                       join b in _context.Classes on a.CId equals b.CId
                       select new
                       {
                           a.SId,
                           a.SName,
                           a.SLoginName,
                           a.SLoginPassword,
                           a.SGrade,
                           a.SSex,
                           a.STelephone,
                           a.SAddress,
                           a.CId,
                           b.CName,
                           b.CAddress,
                           b.CMark

                       };
            if (!string.IsNullOrEmpty(SName))
            {
                list = list.Where(e => e.SName.Contains(SName));
            }

            if (SId != null)
            {
                list = list.Where(e => e.SId == SId);
            }

            var data = list.OrderBy(e => e.SId).ToList();
            var json = new
            {
                code = 0,//接口状态0表示成功
                mag = "",//解析提示文本
                count = list.ToList().Count(),
                data = data
            };
            JsonSerializerSettings jsSetting = new JsonSerializerSettings();
            jsSetting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
            return JsonConvert.SerializeObject(json, jsSetting);
        }



        /// <summary>
        /// 删除学生
        /// </summary>
        /// <returns></returns>
        [HttpPost("删除学生")]
        public ActionResult DeleteStudent(int SId)
        {
            Student stu = _context.Students.Where(x => x.SId == SId).FirstOrDefault();
            _context.Students.Remove(stu);
            int result = _context.SaveChanges();

            if (result > 0)
            {
                return Content("OK,删除学生成功");
            }
            else
            {
                return Content("NO,删除学生失败");
            }
        }

        /// <summary>
        /// 删除班级
        /// </summary>
        /// <returns></returns>
        [HttpPost("删除班级")]
        public ActionResult DeleteClass(int CId)
        {
            
            Class clas = _context.Classes.Where(x => x.CId == CId).FirstOrDefault();
            int result = 0;
            using (TransactionScope transaction = new TransactionScope())
            {
                try
                {
                    if (clas != null)
                    {
                        #region 删除学生
                        var stu = _context.Students.Where(e => e.CId == clas.CId).ToList();
                        foreach (var item in stu)
                        {
                            Student stud = _context.Students.Where(x => x.SId == item.SId).FirstOrDefault();
                            if (stud.SId != 0)
                            {
                                _context.Students.Remove(stud);
                                result = _context.SaveChanges();
                            }
                        }
                        #endregion

                        #region 删除班级
                            _context.Classes.Remove(clas);
                            result = _context.SaveChanges();
                        #endregion

                    }

                    transaction.Complete();
                    result = 1;

                }
                catch (Exception)
                {
                    result = 0;
                }
            }
            if (result > 0)
            {
                return Content("OK,删除班级成功");
            }
            else
            {
                return Content("NO,删除班级失败");
            }
        }



        /// <summary>
        /// 添加班级
        /// </summary>
        /// <returns></returns>
        [HttpPost("添加班级")]
        public ActionResult AddUser(Class_Model SC)
        {
            Class clas = new Class();
            clas.CName = SC.CName;
            clas.CAddress = SC.CAddress;
            clas.CMark = SC.CMark;

            _context.Classes.Add(clas);
            int result = _context.SaveChanges();
            if (result > 0)
            {
                return Content("OK,添加班级成功");
            }
            else
            {
                return Content("NO,添加班级失败");
            }
        }



        /// <summary>
        /// 添加学生
        /// </summary>
        /// <returns></returns>
        [HttpPost("添加学生")]
        public ActionResult AddStudent(Student_Model s)
        {
            Student student = new Student();
            student.SLoginName = s.SLoginName;
            student.SName = s.SName;
            student.SLoginPassword = s.SLoginPassword;
            student.SSex = s.SSex;
            student.STelephone = s.STelephone;
            student.SGrade = s.SGrade;
            student.CId = s.CId;
            student.SAddress = s.SAddress;
            _context.Students.Add(student);
            int result = _context.SaveChanges();
            if (result > 0)
            {
                return Content("OK,添加学生成功");
            }
            else
            {
                return Content("NO,添加学生失败");
            }
        }



        /// <summary>
        /// 修改班级
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        [HttpPost("修改班级")]
        public ActionResult UpdateClass(Class_Model CM)
        {
            int result;
            //修改
            Class cc = _context.Classes.Find(CM.CId);

            cc.CName = CM.CName;
            cc.CAddress = CM.CAddress;
            cc.CMark = CM.CMark;
            _context.Classes.Update(cc);
            result = _context.SaveChanges();

            if (result > 0)
            {
                return Content("OK,修改班级成功");
            }
            else
            {
                return Content("NO,修改班级失败");
            }
        }

        /// <summary>
        /// 修改学生用户
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        [HttpPost("修改学生用户")]
        public ActionResult UpdateStudent(Student_Model ss)
        {
            int result;
            //修改
            Student stu = _context.Students.Find(ss.SId);

            stu.SName = ss.SName;
            stu.SLoginPassword = ss.SLoginPassword;
            stu.SSex = ss.SSex;
            stu.STelephone = ss.STelephone;
            stu.SLoginName = ss.SLoginName;
            stu.SAddress = ss.SAddress;
            stu.SGrade = ss.SGrade;
            stu.CId = ss.CId;
            _context.Students.Update(stu);
            result = _context.SaveChanges();

            if (result > 0)
            {
                return Content("OK,修改学生用户成功");
            }
            else
            {
                return Content("NO,修改学生用户失败");
            }
        }




    }
}

 

posted @ 2022-08-19 17:28  Bruce_Sun  阅读(108)  评论(0)    收藏  举报