|  |  | 
 |  |  |                     { | 
 |  |  |                         Dt_LocationInfo definedTypeEmptyLocation = definedTypeEmptyLocations[i]; | 
 |  |  |                         Dt_LocationInfo? locationInfo = GetUsableLocation_BC(locationInfos, definedTypeEmptyLocation, palletType, palletTypeInfo); | 
 |  |  |                         //å¤æè´§ä½ä¸¤æ·±å以䏿¯å¦åå¨åºåºéå®è´§ä½ | 
 |  |  |                         if (locationInfo?.Depth == 1) | 
 |  |  |                         { | 
 |  |  |                             Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column==locationInfo?.Column && x.Layer== locationInfo?.Layer).FirstOrDefault(); | 
 |  |  |                             if (IsBebusyLocation!=null && (IsBebusyLocation.LocationStatus<LocationStatusEnum.InStock.ObjToInt())) | 
 |  |  |                             { | 
 |  |  |                                 continue; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         if (locationInfo != null) | 
 |  |  |                         { | 
 |  |  |                             locationCaches_BC.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now }); | 
 |  |  | 
 |  |  |                             undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList(); | 
 |  |  |                         else | 
 |  |  |                             undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList(); | 
 |  |  |                     } | 
 |  |  |                     for (int i = 0; i < undefinedTypeEmptyLocations.Count; i++) | 
 |  |  |                     { | 
 |  |  |                         Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations[i]; | 
 |  |  |                         Dt_LocationInfo? locationInfo = GetUsableLocation_BC(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo); | 
 |  |  |                         if (locationInfo != null) | 
 |  |  |  | 
 |  |  |                         for (int i = 0; i < undefinedTypeEmptyLocations.Count; i++) | 
 |  |  |                         { | 
 |  |  |                             //UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId); | 
 |  |  |                             locationCaches_BC.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now }); | 
 |  |  |                             return locationInfo; | 
 |  |  |                             Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations[i]; | 
 |  |  |                             Dt_LocationInfo? locationInfo = GetUsableLocation_BC(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo); | 
 |  |  |                             //å¤æè´§ä½ä¸¤æ·±å以䏿¯å¦åå¨åºåºéå®è´§ä½ | 
 |  |  |                             if (locationInfo?.Depth == 1) | 
 |  |  |                             { | 
 |  |  |                                 Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column == locationInfo?.Column && x.Layer == locationInfo?.Layer).FirstOrDefault(); | 
 |  |  |                                 if (IsBebusyLocation != null && (IsBebusyLocation.LocationStatus < LocationStatusEnum.InStock.ObjToInt())) | 
 |  |  |                                 { | 
 |  |  |                                     continue; | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                             if (locationInfo != null) | 
 |  |  |                             { | 
 |  |  |                                 //UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId); | 
 |  |  |                                 locationCaches_BC.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now }); | 
 |  |  |                                 return locationInfo; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                      | 
 |  |  |                 } | 
 |  |  |                 return null; | 
 |  |  |             } | 
 |  |  | 
 |  |  |             { | 
 |  |  |                 Dt_LocationInfo? nearLocation = null; | 
 |  |  |                 if (emptyLocation.RoadwayNo != "SC01_BC" && emptyLocation.Column % 2 == 1) | 
 |  |  |                     nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column + 1); | 
 |  |  |                     nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column - 1); | 
 |  |  |                 else if (emptyLocation.RoadwayNo == "SC01_BC" && emptyLocation.Column % 2 == 0) | 
 |  |  |                     nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column + 1); | 
 |  |  |                 if (nearLocation != null && DepthLocationIsEmpty_BC(locationInfos, nearLocation) != null) |