我有这个对象
public class Iteration
{
public int Id { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
public bool Active { get; set; }
}
它存储的值如下:
Id: 1
Start 10-07-2019
End 17-07-2019
Active: true
在这里,如果它在范围内,我将 Iteration 设置为活动,这是在创建新迭代(POST 请求)时。
public async Task<ActionResult> AddIteration([FromBody]IterationDTO iterationDTO)
{
// Set active if current date is in the added range
if (DateTime.Now.Date >= iterationDTO.Start.Date && DateTime.Now.Date <= iterationDTO.End.Date)
{
iterationDTO.Active = true;
}
DB.Set<Iteration>().Add(iterationDTO);
await DB.SaveChangesAsync();
return Ok(iterationDTO);
}
现在问题出在 Active 字段上,我在创建新迭代时检查它。但我希望它随时自动更改,而不仅仅是在创建时,我该怎么做?例如,日期发生了变化,并且有一个新的检查会更改活动的迭代。