var serialNumber = input.DestinationLocation; input.DestinationLocation = serialNumber; var storagestate =await _storageLocationrepository.GetBySerialNumberAsync(input.DestinationLocation); if (storagestate.State!=StorageLocationState.Free) { throw new UserFriendlyException($"货位不是空闲状态"); } var tray = await _trayRepository.GetBySerialNumberAsync(input.TraySerialNumber); if (tray.IsBind == true) { throw new UserFriendlyException($"托盘不是空闲状态"); }
时间: 2024-02-10 15:35:28 浏览: 90
这段代码看起来像是一个异步的方法,输入参数包括目标货位的序列号和托盘的序列号。然后,代码会先将目标货位的序列号赋值给一个变量serialNumber,再将input.DestinationLocation的值赋给目标货位序列号。接下来,代码会根据目标货位序列号从仓库中取出该货位的信息,并检查该货位是否为空闲状态。如果不是空闲状态,则会抛出一个UserFriendlyException异常,提示货位不是空闲状态。然后,代码会根据托盘的序列号从仓库中取出该托盘的信息,并检查该托盘是否被绑定使用。如果被绑定使用,则会抛出一个UserFriendlyException异常,提示托盘不是空闲状态。
相关问题
await _repository.InsertAsync(task); var inOutStorage = new InOutStorageTask(GuidGenerator.Create(), input.storageLocationNumber, input.WorkStation, input.trayNumber, true,1, TaskState.NotStart, DateTime.Now, null); var isNearTray = await InventoryRepository.GetByStorageLocationNumber(isNearbool.SerialNumber); inOutStorage.AddDetail(new InOutStorageTaskDetail(GuidGenerator.Create(), inOutStorage.Id, TaskState.NotStart, InOutType.TransfersStorage, isNearTray.TrayNumber, isNearbool.SerialNumber, serialNumber)); inOutStorage.AddDetail(new InOutStorageTaskDetail(GuidGenerator.Create(), inOutStorage.Id, TaskState.NotStart, InOutType.OutStorage, input.trayNumber, input.storageLocationNumber, input.WorkStation)); 并逐句解析
这段代码看起来是一个异步方法,其中包含多个语句。下面是对每个语句的解析:
1. `await _repository.InsertAsync(task);`
这一行代码将一个名为“task”的对象插入到仓储中。由于使用了await关键字,这意味着这个操作是异步执行的,直到插入操作完成后才会继续执行下一行代码。
2. `var inOutStorage = new InOutStorageTask(GuidGenerator.Create(), input.storageLocationNumber, input.WorkStation, input.trayNumber, true,1, TaskState.NotStart, DateTime.Now, null);`
这一行代码创建了一个名为"inOutStorage"的对象,它是"InOutStorageTask"类的一个实例。构造函数使用传递的参数来初始化对象的属性。
3. `var isNearTray = await InventoryRepository.GetByStorageLocationNumber(isNearbool.SerialNumber);`
这一行代码调用"InventoryRepository.GetByStorageLocationNumber()"方法来获取名为"isNearTray"的变量。该方法是异步执行的,由于使用了await关键字,直到操作完成后才会继续执行下一行代码。
4. `inOutStorage.AddDetail(new InOutStorageTaskDetail(GuidGenerator.Create(), inOutStorage.Id, TaskState.NotStart, InOutType.TransfersStorage, isNearTray.TrayNumber, isNearbool.SerialNumber, serialNumber));`
这一行代码调用"inOutStorage"对象的"AddDetail()"方法,向其添加一个新的"InOutStorageTaskDetail"对象,并初始化一些属性。
5. `inOutStorage.AddDetail(new InOutStorageTaskDetail(GuidGenerator.Create(), inOutStorage.Id, TaskState.NotStart, InOutType.OutStorage, input.trayNumber, input.storageLocationNumber, input.WorkStation));`
这一行代码再次调用"inOutStorage"对象的"AddDetail()"方法,向其添加另一个新的"InOutStorageTaskDetail"对象,并初始化一些属性。
阅读全文