Ejemplo n.º 1
0
 /// <summary>
 /// 更新盘点信息
 /// </summary>
 /// <param name="inputDtos"></param>
 /// <returns></returns>
 public async Task<OperationResult> Update(params MatInventoryInfoInputDto[] inputDtos)
 {
     inputDtos.CheckNotNull("inputDtos");
     //
     foreach (MatInventoryInfoInputDto dtoData in inputDtos)
     {
         if (string.IsNullOrEmpty(dtoData.InventoryCode))
             return new OperationResult(OperationResultType.Error, "请正确填写单据编号,该组数据不被存储。");
         //if (string.IsNullOrEmpty(dtoData.WareHouseName))
         //    return new OperationResult(OperationResultType.Error, "请正确填写仓库名称,该组数据不被存储。");
         ////
         //if (MatInventoryInfoRepository.CheckExists(x => x.WareHouseCode == dtoData.WareHouseCode && x.Id != dtoData.Id ))
         //    return new OperationResult(OperationResultType.Error, $"仓库编号 {dtoData.WareHouseCode} 的数据已存在,该组数据不被存储。");
         //if (MaterialInStorageRepository.CheckExists(x => x.WareHouseName == dtoData.WareHouseName && x.Id != dtoData.Id ))
         //    return new OperationResult(OperationResultType.Error, $"仓库名称 {dtoData.WareHouseName} 的数据已存在,该组数据不被存储。");
         //
         if (dtoData.MatWareHouse_Id == Guid.Empty )
             return new OperationResult(OperationResultType.Error, "请选择所属仓库,该组数据不被存储。");
         //
         dtoData.MatWareHouse = MatWareHouseInfoRepository.TrackEntities.Where(m => m.Id == dtoData.MatWareHouse_Id).FirstOrDefault();
         if (Equals(dtoData.MatWareHouse, null))
         {
             return new OperationResult(OperationResultType.Error, $"对应的仓库不存在,该组数据不被存储。");
         }
     }
     //
     MatInventoryInfoRepository.UnitOfWork.BeginTransaction();
     //
     //MaterialInfo info = new MaterialInfo();
     //foreach (var item in inputDtos)
     //{
     //    info = MaterialInfoRepository.TrackEntities.Where(m => m.Id == item.Material_Id).FirstOrDefault();
     //    item.Material = info;
     //}
     ////
     //MaterialInStorageTypeInfo matwarehousetypeinfo = new MaterialInStorageTypeInfo();
     //foreach (var item in inputDtos)
     //{
     //    matwarehousetypeinfo = MaterialInStorageTypeInfoRepository.TrackEntities.Where(m => m.Id == item.MaterialInStorageType_Id).FirstOrDefault();
     //    item.MaterialInStorageType = matwarehousetypeinfo;
     //}
     //
     var result = await MatInventoryInfoRepository.UpdateAsync(inputDtos);
     MatInventoryInfoRepository.UnitOfWork.Commit();
     return result;
 }