fix 判断提前
This commit is contained in:
@@ -119,6 +119,18 @@ public class DishesMenuService : IDishesMenuService
|
||||
|
||||
myBps.Contains(request.BusinessPlaceCode).ThrowIfFalse("非经营营业点,无法保存菜单");
|
||||
|
||||
if (request.Items.Any())
|
||||
{
|
||||
Expression<Func<DishesMenuEntity, bool>> whereCheck = LinqExpressionExtension.False<DishesMenuEntity>();
|
||||
request.Items.ForEach(p =>
|
||||
{
|
||||
whereCheck = whereCheck.Or(x => !(x.EndDate < p.Period.Start || x.StartDate > p.Period.End));
|
||||
});
|
||||
|
||||
var duplicate = await _dbContext.Queryable<DishesMenuEntity>().Where(whereCheck).AnyAsync();
|
||||
duplicate.ThrowIfTrue("菜单时效冲突");
|
||||
}
|
||||
|
||||
var entities = request.Items.SelectMany(item =>
|
||||
{
|
||||
var customCode = item.CustomCode;
|
||||
@@ -164,18 +176,6 @@ public class DishesMenuService : IDishesMenuService
|
||||
|
||||
await _dbContext.Client.Deleteable<DishesMenuEntity>().Where(where).ExecuteCommandAsync();
|
||||
await _dbContext.InsertAsync(entities);
|
||||
|
||||
if (request.Items.Any())
|
||||
{
|
||||
Expression<Func<DishesMenuEntity, bool>> whereCheck = LinqExpressionExtension.False<DishesMenuEntity>();
|
||||
request.Items.ForEach(p =>
|
||||
{
|
||||
whereCheck = where.Or(x => !(x.EndDate < p.Period.Start || x.StartDate > p.Period.End));
|
||||
});
|
||||
|
||||
var duplicate = await _dbContext.Queryable<DishesMenuEntity>().Where(whereCheck).AnyAsync();
|
||||
duplicate.ThrowIfTrue("菜单时效冲突");
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<DishesMenuDetailDto> GetBookingDishesDetailAsync(DateTime date, Guid businessPlaceCode, ShiftEnumType shiftType, string dishesCode)
|
||||
|
||||
Reference in New Issue
Block a user