如何将列表限制在设定的时间段内

本文关键字:时间段 列表 | 更新日期: 2023-09-27 17:55:32

我正在使用以下linq来获取要发送的电子邮件。我希望能够做的是说,在预约当天提前 30 分钟给客户发送电子邮件。 我的问题是使用开始日期和结束日期字段,我将如何调整下面的查询以允许这种情况。

/// <summary>
/// Gets the allnotes by appointment.
/// </summary>
/// <param name="id">The identifier.</param>
/// <returns></returns>
 public List<tblapertureNetAppointment> getAppointmentsForEmailProccessed()
    {
        try
        {
            var _appointment = apertureNetEntities.tblapertureNetAppointments.Where(f => f.isDeleted == false && f.isProccessed==false ).ToList();
            return _appointment.AsQueryable().ToList();
        }
    catch (Exception ex)
        {
            string inner = string.Empty;
            if (ex.InnerException != null)
            {
                inner = ex.InnerException.ToString();
            }
            logger.Error("Error in IQueryable function getAppointmentsForEmail " + ex.ToString() + " " + inner);
            return null;
        }
 }

如何将列表限制在设定的时间段内

假设

有问题的实体有一个名为 startTimeDateTime属性,用于保存约会日期。

public DateTime startTime { get; set;}

您需要根据约会开始日期和时间过滤列表。

return _appointment
           .Where(appointment => 
                     (appointment.startTime < Date.Now) &&
                     (appointment.startTime.Date == DateTime.Today) &&
                     (Date.Now - appointment.startTime).TotalMinutes < 30)
           .ToList();