/// <summary> /// /// </summary> /// <param name="beginDate"></param> /// <param name="shiftType"></param> /// <param name="lineType"></param> /// <returns></returns> public Task <ProductPlanning> GetProductPlanningByDateAndShiftAndLine(DateTime beginDate, PlanShiftHardCodeType shiftType, PlanLineHardCodeType lineType) { var key = string.Format(PRODUCT_PLANNING_BY_DATE_SHIFT_LINE_KEY, beginDate.Date.ToShortDateString(), shiftType, lineType); return(_cacheManager.Get(key, () => { var startTime = new DateTime(beginDate.Year, beginDate.Month, beginDate.Day, 0, 0, 0); var endTime = startTime.AddDays(1); return _productPlanningRepositoryAsync.Table.FirstOrDefaultAsync(x => x.CreatedDate < endTime && x.CreatedDate >= startTime && x.Shift == shiftType && x.Line == lineType); })); }
public static Task <ProductPlanning> GetProductPlanningByDateShiftLineAsync(this IRepositoryAsync <ProductPlanning> repository, DateTime dateTime, PlanShiftHardCodeType shift, PlanLineHardCodeType line) { var startTime = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, 0, 0, 0); var endTime = startTime.AddDays(1); return(repository .Table .FirstOrDefaultAsync(x => x.CreatedDate < endTime && x.CreatedDate >= startTime && x.Shift == shift && x.Line == line)); }