fix 判断提前

This commit is contained in:
2024-03-21 20:42:08 +08:00
parent 45aa52aa2a
commit 8915f9ff0f

View File

@@ -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)