I am trying to add all days from a date range in my database but I couldn't find a way to do that
I am getting the data range from View with
<form method="post">
<div class="row no-gutters">
<div class="col-sm-2">
<label class="form-control labelSecondary">Data de inceput</label>
<input name="sdate" class="form-control spanSecondary" type="date" />
</div>
<div class="col-sm-2">
<label class="form-control labelSecondary">Data de sfarsit</label>
<input name="edate" class="form-control spanSecondary" type="date" />
</div>
</div>
<div class="row no-gutters mt-2 mb-4">
<div class="col-sm-2 text-left">
<button id="btnSubmit" class="btn-link col-sm-12 btnSubmit" type="submit" asp-page-handler="AddNew">
Salveaza
</button>
</div>
</div>
</form>
but to add I could only test for one value
public async Task<IActionResult> OnPostAddNewAsync(DateTime sdate, DateTime edate)
{
var newData = new CMPAvDate()
{
CMPDate = sdate
};
if (await TryUpdateModelAsync(newData, "CMPAvDate"))
{
_context.CMPAvDates.Add(newData);
await _context.SaveChangesAsync();
return RedirectToPage("/CMP/CMPSchedule", new {sdate});
}
return RedirectToPage("/CMP/CMPSchedule");
}
I also tried without success
public static IEnumerable<DateTime> EachCalendarDay(DateTime sdate, DateTime edate)
{
for (var date = sdate.Date; date.Date <= edate.Date; date = date.AddDays(1)) yield
return date;
}
foreach (DateTime day in EachCalendarDay(sdate, edate))
{
var newData = new CMPAvDate()
{
CMPDate= day
};
if (await TryUpdateModelAsync(newData, "CMPAvDate"))
{
_context.CMPAvDates.Add(newData);
await _context.SaveChangesAsync();
return RedirectToPage("/CMP/CMPSchedule");
}
}