首页 > 其他分享 > WebApiApplication:WebApi操作

WebApiApplication:WebApi操作

时间:2023-07-02 12:55:23浏览次数:73  
标签:WebApi Aisle return Floor WebApiApplication Num 操作 cabinetList public

[Route("/[controller]/[action]")]
[ApiController]
public class CabinetController : ControllerBase
{
private static IFreeSql freeSqlInstance = new FreeSqlBuilder().UseConnectionString(DataType.SqlServer, "Data Source=.;Initial Catalog=db_test;Persist Security Info=True;uid=sa;pwd=123456;").UseAutoSyncStructure(true).Build();

public CabinetController()
{
}

#region 获取柜子所有数据
[HttpGet]
public ActionResult<string> GetAllCabinetsByJson()
{
List<Cabinet> cabinetList = new List<Cabinet>();
cabinetList = freeSqlInstance.Select<Cabinet>().OrderByDescending(a => a.Name).ToList();
string json = JsonConvert.SerializeObject(cabinetList);
return json;
}
#endregion

#region 根据柜号、柜名、层数、通道号,查找柜子的信息
[HttpPost]
public ActionResult<int> SelectCabinet(Cabinet cabinet)
{
Cabinet cabinetSelect = freeSqlInstance.Select<Cabinet>().Where(a => a.Num == cabinet.Num && a.Floor == cabinet.Floor && a.Aisle == cabinet.Aisle).ToOne();
if (cabinetSelect == null)
{
return 0;
}

return 1;
}
#endregion

#region 添加一条柜子信息

[HttpPost]
public ActionResult<int> AddCabinet(Cabinet cabinet)
{
Cabinet cabinets = cabinet;

// 当柜名、柜号不存在,或者柜名、柜号一致时
if (this.JudgeNumAndName(cabinets.Num, cabinets.Name) == 0)
{
if (this.Select(cabinets.Num, cabinets.Floor, cabinets.Aisle) > 0)
{
// "该柜号-柜名-层数-通道号被占用!"
return 1;
}

freeSqlInstance.Insert(cabinets).ExecuteAffrows();
return 0;
}

// 柜号-柜名不一致!
return 2;
}

#endregion

#region 数据内部查询
public int Select(int cabinetNum, int cabinetFloor, int cabinetAisle)
{
Cabinet cabinetSelect = freeSqlInstance.Select<Cabinet>().Where(a => a.Num == cabinetNum && a.Floor == cabinetFloor && a.Aisle == cabinetAisle).ToOne();
if (cabinetSelect == null)
{
return 0;
}

return 1;
}
#endregion

#region 根据柜号、层数、通道号删除柜子信息
[HttpPost]
public ActionResult<int> DelCabinet(Cabinet cabinet)
{

var j = freeSqlInstance.Delete<Cabinet>()
.Where(k => k.Num == cabinet.Num && k.Floor == cabinet.Floor && k.Aisle == cabinet.Aisle).ExecuteAffrows();
if (j < 0)
{
return 1;
}

return 0;
}

#endregion

#region 判断柜号与柜名是否存在或者统一
public int JudgeNumAndName(int cabinetNum, string cabinetName)
{
List<Cabinet> cabinetList = new List<Cabinet>();
cabinetList = freeSqlInstance.Select<Cabinet>().Where(a => a.Num == cabinetNum || a.Name == cabinetName).ToList();
if (cabinetList.Count == 0)
{
// 表示不存在柜名和柜号,可直接添加
return 0;
}
else
{
var result1 = (from n in cabinetList
where n.Num == cabinetNum
select n).FirstOrDefault();
var result2 = (from n in cabinetList
where n.Name == cabinetName
select n).FirstOrDefault();

// 如果有一个不存在,则返回false
if (cabinetName.Equals(result1?.Name) || cabinetNum.Equals(result2?.Num))
{
return 0;
}

return 1;
}

//return cabinetList.Count;
}

#endregion

#region 修改数据
[HttpPost]
public ActionResult<int> UpDateCabinet(List<Cabinet> cabinetsList)
{
List<Cabinet> cabinetList = cabinetsList;
Cabinet cabinetOld = cabinetList[0];
Cabinet cabinetNew = cabinetList[1];
int result = freeSqlInstance.Update<Cabinet>(1).Set(a => new Cabinet { Num = cabinetNew.Num, Name = cabinetNew.Name, Floor = cabinetNew.Floor, Aisle = cabinetNew.Aisle })
//.Set(a => a.Num, cabinetNew.Num)
//.Set(a => a.Name, cabinetNew.Name)
//.Set(a => a.Floor, cabinetNew.Floor)
//.Set(a => a.Aisle, cabinetNew.Aisle)
.Where(a => a.Num == cabinetOld.Num && a.Floor == cabinetOld.Floor && a.Aisle == cabinetOld.Aisle).ExecuteAffrows();
return result;
}
#endregion

#region 多条数据删除
[HttpPost]
public int DeleteCabinets(List<Cabinet> cabinetsList)
{
if (cabinetsList == null)
{
return 0;
}

for (int i = 0; i < cabinetsList.Count; i++)
{
this.DelCabinet(cabinetsList[i]);
}

return 1;
}

#endregion

}

标签:WebApi,Aisle,return,Floor,WebApiApplication,Num,操作,cabinetList,public
From: https://www.cnblogs.com/wen-chen/p/17520658.html

相关文章

  • 光脚丫学ASP.NET MVC(0008):非操作方法
    视频演示:http://u.115.com/file/e6r505ey控制器中的方法并不一定都是操作方法。要使控制器中的方法称为操作方法,则必须使其为公共方法,并且没有为其添加NonActionAttribute特性。私有方法不是操作方法,静态方法也不是操作方法。如下面的两个方法,均不是控制器的操作方法。privateA......
  • Markdown操作方式
    Markdown操作方式标题​ 一共分为六级书写方式:​ #(个数不同级数不同)+空格+编写内容引用​ 书写方式:>(个数不同效果不同)+空格字体​ 加粗:****在中间写文字​ 斜体:**在中间写文字​ 删除线:~~~~在中间写文字​ 高亮:====在中间写文字​ 上标:^^在中间写文字......
  • Linux文件系统、常用文件操作命令及用户权限
    1、熟悉Linux的文件系统结构Linux的文件系统结构其实是一个树形的分层组织结构,如下图:Linux系统目录结构及目录路径:1.1、文件系统层次结构标准Linux是开源的操作系统,各个Linux发行机构都可以按照自己的需求对Linux系统的文件系统进行相应的裁剪,所以各个Linux发行版本的目录结构......
  • Debian是一种流行的自由操作系统,它基于Linux内核,采用自由软件的方式进行开发和发布 De
    Debian是一种流行的自由操作系统,它基于Linux内核,采用自由软件的方式进行开发和发布。以下是关于Debian起源和其开发者的信息:Debian的起源:Debian的起源可以追溯到1993年,最初由IanMurdock(IanAshleyMurdock,1970-2015)创建。他希望构建一个自由、开放和稳定的操作系统发行版,以及一......
  • Xv6 操作系统组织架构
    进程概述64位的RISC-V的VAS是39位的,即VA只有39位,而Xv6则只有38位,最大虚拟地址为#defineMAXVA0x3fffffffff。VAS的顶端,即最高位存放了两个page,一个是用于trampoline,一个用于mappingtheprocess'strapframe。Xv6使用这两个page来切换到内核以及返回。......
  • Linux常用操作
    Linux常用文件操作Linux常用文件操作目录简介cdusr切换到该目录下usr目录cd../切换到上一层目录cd/切换到系统根目录cd~切换到用户主目录cd-切换到上一个所在目录su或suroot进入root上下文su<用户名>......
  • 3、apache-kylin-3.1.3-bin-hadoop3基本操作(创建model和cube、数据查詢)
    apache-kylin-3.1.3-bin-hadoop3系列文章1、apache-kylin-3.1.3-bin-hadoop3介绍及部署、验证详解2、apache-kylin-3.1.3-bin-hadoop3集群部署3、apache-kylin-3.1.3-bin-hadoop3基本操作(创建model和cube、数据查詢)4、apache-kylin-3.1.3-bin-hadoop3增量构建、全量构建详细示例......
  • 5、apache-kylin-3.1.3-bin-hadoop3 segment管理及JDBC操作
    apache-kylin-3.1.3-bin-hadoop3系列文章1、apache-kylin-3.1.3-bin-hadoop3介绍及部署、验证详解2、apache-kylin-3.1.3-bin-hadoop3集群部署3、apache-kylin-3.1.3-bin-hadoop3基本操作(创建model和cube、数据查詢)4、apache-kylin-3.1.3-bin-hadoop3增量构建、全量构建详细示例......
  • 3、Apache Kudu集成impala(shell和java操作)的详细操作
    ApacheKudu系列文章1、ApacheKudu介绍及架构、工作原理、两种部署方式、使用限制详解2、ApacheKudu-javaapi操作kudu详细示例以及kudu的三种实现示例3、ApacheKudu集成impala(shell和java操作)的详细操作文章目录ApacheKudu系列文章一、kudu集成impala1、impala配置修改二......
  • gitlab-runner因与gitlab版本不匹配,降低gitlab-runner版本,操作流程
     1.查看版本号:sudogitlab-runner--verison2.降低gitlab-runner版本。卸载gitlab-runner版本,然后安装低版本的gitlab-runner查看gitlab-runner版本操作命令gitlab-runner命令gitlab-runner-h 卸载的命令gitlab-runner uninstall  查看卸载的情况,发现不好......