public WebMgrResponse GetLocationProperty(LocationPropertyQueryDto data) { WebMgrResponse webMgrResponse = new WebMgrResponse(); //查询信息 var locationDataList = string.IsNullOrEmpty(data.WareHouseCode) ? locationManager.GetList() : locationManager.GetList(d => d.WareHouseCode == data.WareHouseCode); var dtoList = locationDataList.Adapt<List<LocationPropertyDto>>(); for (int i = 0; i < dtoList.Count; i++) { var dto = dtoList[i]; dto.TargetWareHouseCode = dto.LocationCode.GetLocationMember("目标仓库"); dto.SourceWareHouseCode = dto.LocationCode.GetLocationMember("源仓库"); } webMgrResponse.code = 20000; webMgrResponse.data = Newtonsoft.Json.JsonConvert.SerializeObject(dtoList); webMgrResponse.message = "成功"; return webMgrResponse; }
时间: 2024-02-14 16:35:43 浏览: 106
这段代码是一个 C# 方法,接收一个名为 LocationPropertyQueryDto 的数据对象作为参数,返回一个 WebMgrResponse 对象。主要功能是查询库位的属性信息,并将查询结果封装成一个包含响应码、响应数据和响应消息的 WebMgrResponse 对象返回。
具体实现过程如下:
1. 创建一个 WebMgrResponse 对象,用于存储响应信息。
2. 根据传入的 LocationPropertyQueryDto 对象中的 WareHouseCode 属性值是否为空来判断是否需要过滤查询结果,如果 WareHouseCode 为空,则获取所有库位信息,否则根据 WareHouseCode 过滤查询结果。
3. 将查询结果转换成 LocationPropertyDto 列表对象,然后遍历列表中的每一个 LocationPropertyDto 对象。
4. 对于每一个 LocationPropertyDto 对象,通过调用 LocationCode 属性的 GetLocationMember 方法获取目标仓库和源仓库的信息,并将其分别存储到 TargetWareHouseCode 和 SourceWareHouseCode 属性中。
5. 将转换后的 LocationPropertyDto 列表对象序列化成 JSON 字符串,并将其存储到 WebMgrResponse 对象的 data 属性中。
6. 将响应码和响应消息分别存储到 WebMgrResponse 对象的 code 和 message 属性中。
7. 返回 WebMgrResponse 对象。
总体来说,这段代码实现了查询库位属性信息并进行简单处理后返回的功能。
阅读全文