您可以使用LINQ查询和循环来实现将当前记录的开始日期放在先前记录的结束日期上。以下是一个示例代码:
public class Record
{
public int Id { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
}
public class RecordViewModel
{
public int Id { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public DateTime PreviousEndDate { get; set; }
}
public List UpdateEndDate(List records)
{
List viewModels = new List();
for (int i = 0; i < records.Count; i++)
{
RecordViewModel viewModel = new RecordViewModel();
viewModel.Id = records[i].Id;
viewModel.StartDate = records[i].StartDate;
viewModel.EndDate = records[i].EndDate;
if (i > 0)
{
viewModel.PreviousEndDate = records[i - 1].EndDate;
}
viewModels.Add(viewModel);
}
return viewModels;
}
您可以在控制器中使用该方法来获取更新了先前结束日期的记录视图模型列表:
public IActionResult Index()
{
List records = GetRecordsFromDatabase(); // 从数据库获取记录列表
List viewModels = UpdateEndDate(records);
return View(viewModels);
}
在视图中,您可以使用foreach循环来遍历记录视图模型列表并显示数据:
@model List
@foreach (var viewModel in Model)
{
Record ID: @viewModel.Id
Start Date: @viewModel.StartDate
End Date: @viewModel.EndDate
Previous End Date: @viewModel.PreviousEndDate
}
通过使用以上代码,您将能够将当前记录的开始日期放在先前记录的结束日期上,并在视图中显示这些更新后的记录。