Я создаю приложение MVC и не хочу использовать внешние библиотеки.Мне нужно заполнить определенную неделю соответствующими датами, и она будет меняться еженедельно, затем я хочу сохранить дату с соответствующим лицом и информацию о проекте для этой даты в моей базе данных.Я считаю, что мне нужно дать идентификатор для соответствующего тега таблицы, но я не знаю, как это сделать.Может кто-нибудь указать мне правильное направление?
Я создал Модели и автоматически сгенерировал Контроллеры и представления, я все еще редактирую Представления и понял, что у меня есть эта проблема.Я выяснил, как заполнять дни для конкретной недели, но не знаю, как реализовать это в MVC.
var currentWeek = Convert.ToInt32(Console.ReadLine());
var newWeek = GetDateFromWeekNumberAndDayOfWeek(currentWeek);
for (int i = 0; i < 7; i++)
{
var weekDays = newWeek.AddDays(i);
if (weekDays.DayOfWeek != DayOfWeek.Sunday && weekDays.DayOfWeek != DayOfWeek.Saturday)
{
Console.WriteLine("Day " + (i + 1) + " " + weekDays.ToString("dddd, dd MMMM yyyy"));
}
}
Console.ReadLine();
}
static DateTime GetDateFromWeekNumberAndDayOfWeek(int weekNumber)
{
DateTime jan1 = new DateTime(DateTime.Now.Year, 1, 1);
int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek;
// Use first Thursday in January to get first week of the year as it will never be in Week 52/53
DateTime firstThursday = jan1.AddDays(daysOffset);
var cal = CultureInfo.CurrentCulture.Calendar;
int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
var weekNum = weekNumber;
// As we're adding days to a date in Week 1, we need to subtract 1 in order to get the right date for week #1
if (firstWeek <= 1)
{
weekNum -= 1;
}
// Using the first Thursday as starting week ensures that we are starting in the right year then we add number of weeks multiplied with days
var result = firstThursday.AddDays(weekNum * 7);
// Subtract 3 days from Thursday to get Monday, which is the first weekday in ISO8601
//addition use -4 to get Sunday as first day
return result.AddDays(-4);
}